dfish-widget 0.1.492 → 0.1.495
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/reset.css +32 -0
- package/css/style.css +1 -1
- package/lib/index.esm.js +93 -39
- 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.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://dfish/webpack/universalModuleDefinition","webpack://dfish/webpack/bootstrap","webpack://dfish/./src/widgets/AlignParent.vue","webpack://dfish/./src/widgets/AlignParent.vue?f746","webpack://dfish/./src/widgets/Leaf.vue?d317","webpack://dfish/./src/widgets/Video.vue?99e5","webpack://dfish/./src/widgets/Jigsaw.vue?cafd","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Option.vue?0834","webpack://dfish/./src/widgets/Switch.vue?b0ad","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TabButton.vue","webpack://dfish/./src/widgets/TabButton.vue?e0b1","webpack://dfish/./src/widgets/PageBar.vue","webpack://dfish/./src/widgets/PageBar.vue?15df","webpack://dfish/./src/widgets/Hidden.vue","webpack://dfish/./src/widgets/Hidden.vue?f5d8","webpack://dfish/./src/widgets/FormBase.vue","webpack://dfish/./src/widgets/FormBase.vue?9859","webpack://dfish/./src/widgets/MenuButton.vue?7ceb","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/ViewAbs.vue?fd43","webpack://dfish/./src/widgets/Dialog.vue?4ef0","webpack://dfish/./src/widgets/Option.vue","webpack://dfish/./src/widgets/Option.vue?2ad8","webpack://dfish/./src/widgets/TabButton.vue?b2df","webpack://dfish/./src/util/str.js","webpack://dfish/./src/widgets/View.vue","webpack://dfish/./src/widgets/View.vue?86cf","webpack://dfish/./src/util/number.js","webpack://dfish/./src/widgets/MenuButton.vue","webpack://dfish/./src/widgets/MenuButton.vue?9b54","webpack://dfish/./src/widgets/ComboBox.vue","webpack://dfish/./src/widgets/ComboBox.vue?2036","webpack://dfish/./src/widgets/ButtonBar.vue","webpack://dfish/./src/widgets/ButtonBar.vue?b9d7","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/Toggle.vue?a46f","webpack://dfish/./src/widgets/ViewAbs.vue","webpack://dfish/./src/widgets/ViewAbs.vue?7b03","webpack://dfish/./src/widgets/FileUpload.vue","webpack://dfish/./src/widgets/FileUpload.vue?e312","webpack://dfish/./src/widgets/ImageUpload.vue","webpack://dfish/./src/widgets/ImageUpload.vue?f89f","webpack://dfish/./src/widgets/DocView.vue","webpack://dfish/./src/widgets/DocView.vue?ba0c","webpack://dfish/./src/widgets/TableTBody.vue","webpack://dfish/./src/widgets/TableTBody.vue?abdf","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/directive/label-width.js","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/FileUpload.vue?88fc","webpack://dfish/./src/widgets/TableColumns.vue","webpack://dfish/./src/widgets/TableColumns.vue?3525","webpack://dfish/./src/widgets/Swiper.vue?65da","webpack://dfish/./src/widgets/CheckBox.vue","webpack://dfish/./src/widgets/CheckBox.vue?54ae","webpack://dfish/./src/widgets/Tip.vue?e935","webpack://dfish/./src/widgets/DialogMove.vue?15d2","webpack://dfish/./src/widgets/Timeline.vue?0f85","webpack://dfish/./src/template/TemplateDateSheet.vue?280e","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/template/TemplateLoading.vue","webpack://dfish/./src/template/TemplateLoading.vue?982e","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/widgets/FormBase.vue?5246","webpack://dfish/./src/assets/SVGIcon.vue","webpack://dfish/./src/assets/SVGIcon.vue?69f7","webpack://dfish/./src/widgets/SubmitButton.vue","webpack://dfish/./src/widgets/SubmitButton.vue?3fa5","webpack://dfish/./src/widgets/SlidePicker.vue?ed76","webpack://dfish/./src/widgets/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/Rate.vue?1ae5","webpack://dfish/./src/widgets/Split.vue?d855","webpack://dfish/./src/widgets/Grid.vue?ff6f","webpack://dfish/./src/widgets/Spinner.vue?134c","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Password.vue","webpack://dfish/./src/widgets/Password.vue?6cda","webpack://dfish/./src/widgets/Html.vue","webpack://dfish/./src/widgets/Html.vue?092f","webpack://dfish/./src/widgets/TimelineItem.vue","webpack://dfish/./src/widgets/TimelineItem.vue?4eaa","webpack://dfish/./src/widgets/TableTH.vue","webpack://dfish/./src/widgets/TableTH.vue?1b2e","webpack://dfish/./src/widgets/DialogMove.vue","webpack://dfish/./src/widgets/DialogMove.vue?5066","webpack://dfish/./src/widgets/Form.vue","webpack://dfish/./src/widgets/Form.vue?b8f9","webpack://dfish/./src/util/range.js","webpack://dfish/./src/widgets/PickBox.vue","webpack://dfish/./src/widgets/PickBox.vue?62f5","webpack://dfish/./src/template/TemplateTip.vue","webpack://dfish/./src/template/TemplateTip.vue?9a7a","webpack://dfish/./src/directive/dialog-move.js","webpack://dfish/./src/widgets/PubParent.vue","webpack://dfish/./src/widgets/PubParent.vue?cedb","webpack://dfish/./src/widgets/TableTD.vue","webpack://dfish/./src/widgets/TableTD.vue?b65e","webpack://dfish/./src/directive/index.js","webpack://dfish/./src/util/loc/zh-CN.js","webpack://dfish/./src/widgets/Horizontal.vue","webpack://dfish/./src/widgets/Horizontal.vue?3f14","webpack://dfish/./src/util/date.js","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/Scroll.vue?11ca","webpack://dfish/./src/widgets/DatePicker.vue","webpack://dfish/./src/widgets/DatePicker.vue?304a","webpack://dfish/./src/widgets/Textarea.vue","webpack://dfish/./src/widgets/Textarea.vue?e32b","webpack://dfish/./src/widgets/Scroll.vue","webpack://dfish/./src/widgets/Scroll.vue?2cbe","webpack://dfish/./src/widgets/LinkBox.vue?1856","webpack://dfish/./src/widgets/Range.vue?f220","webpack://dfish/./src/util/mime.js","webpack://dfish/./src/widgets/Loading.vue?b3a7","webpack://dfish/./src/widgets/Video.vue","webpack://dfish/./src/widgets/Video.vue?eba0","webpack://dfish/./src/widgets/Split.vue","webpack://dfish/./src/widgets/Split.vue?04cd","webpack://dfish/./src/widgets/Rate.vue","webpack://dfish/./src/widgets/Rate.vue?d642","webpack://dfish/./src/widgets/Pop.vue","webpack://dfish/./src/widgets/Pop.vue?0f20","webpack://dfish/./src/widgets/TableColumn.vue","webpack://dfish/./src/widgets/TableColumn.vue?2711","webpack://dfish/./src/util/css.js","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Table.vue?fb08","webpack://dfish/./src/widgets/Progress.vue?98e9","webpack://dfish/./src/assets/SVGIcon.vue?6823","webpack://dfish/./src/widgets/TableTHead.vue","webpack://dfish/./src/widgets/TableTHead.vue?ceef","webpack://dfish/./src/widgets/Range.vue","webpack://dfish/./src/widgets/Range.vue?477c","webpack://dfish/./src/util/browser.js","webpack://dfish/./src/widgets/Alert.vue","webpack://dfish/./src/widgets/Alert.vue?3137","webpack://dfish/./src/widgets/Menu.vue?63f3","webpack://dfish/./src/util/event.js","webpack://dfish/./src/widgets/Confirm.vue","webpack://dfish/./src/widgets/Confirm.vue?d56c","webpack://dfish/./src/widgets/Tabs.vue","webpack://dfish/./src/widgets/Tabs.vue?6c52","webpack://dfish/./src/widgets/Album.vue","webpack://dfish/./src/widgets/Album.vue?74b6","webpack://dfish/./src/widgets/Img.vue?4aaa","webpack://dfish/./src/template/TemplateJigsaw.vue","webpack://dfish/./src/template/TemplateJigsaw.vue?4b4b","webpack://dfish/./src/widgets/MediaUploadItem.vue","webpack://dfish/./src/widgets/MediaUploadItem.vue?907a","webpack://dfish/./src/widgets/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/MediaUpload.vue?0142","webpack://dfish/./src/widgets/Leaf.vue","webpack://dfish/./src/widgets/Leaf.vue?6aec","webpack://dfish/./src/widgets/Calendar.vue","webpack://dfish/./src/widgets/Calendar.vue?083c","webpack://dfish/./src/widgets/Tab.vue","webpack://dfish/./src/widgets/Tab.vue?a801","webpack://dfish/./src/widgets/Dialog.vue","webpack://dfish/./src/widgets/Dialog.vue?3792","webpack://dfish/./src/widgets/Toggle.vue","webpack://dfish/./src/widgets/Toggle.vue?3b65","webpack://dfish/./src/template/TemplateConfirm.vue","webpack://dfish/./src/template/TemplateConfirm.vue?3095","webpack://dfish/./src/template/TemplateDateSheet.vue","webpack://dfish/./src/template/TemplateDateSheet.vue?c94f","webpack://dfish/./src/widgets/WidgetAbs.vue","webpack://dfish/./src/widgets/WidgetAbs.vue?ba8a","webpack://dfish/./src/widgets/TableTR.vue","webpack://dfish/./src/widgets/TableTR.vue?ee1d","webpack://dfish/./src/widgets/PageBar.vue?868d","webpack://dfish/./src/dfish.js","webpack://dfish/./src/widgets/ComboBox.vue?4b31","webpack://dfish/./src/widgets/Jigsaw.vue","webpack://dfish/./src/widgets/Jigsaw.vue?9364","webpack://dfish/./src/widgets/RadioGroup.vue","webpack://dfish/./src/widgets/RadioGroup.vue?e09b","webpack://dfish/./src/widgets/Vertical.vue","webpack://dfish/./src/widgets/Vertical.vue?590a","webpack://dfish/./src/widgets/PickBox.vue?d830","webpack://dfish/./src/util/elem.js","webpack://dfish/./src/widgets/SwiperItem.vue","webpack://dfish/./src/widgets/SwiperItem.vue?dfa1","webpack://dfish/./src/widgets/WidgetBase.vue","webpack://dfish/./src/widgets/WidgetBase.vue?b91b","webpack://dfish/./src/widgets/Progress.vue","webpack://dfish/./src/widgets/Progress.vue?8139","webpack://dfish/./src/widgets/Switch.vue","webpack://dfish/./src/widgets/Switch.vue?e783","webpack://dfish/./src/widgets/Tree.vue?5f4e","webpack://dfish/./src/widgets/Img.vue","webpack://dfish/./src/widgets/Img.vue?496d","webpack://dfish/./src/widgets/Grid.vue","webpack://dfish/./src/widgets/Grid.vue?3b0e","webpack://dfish/./src/widgets/MediaUpload.vue","webpack://dfish/./src/widgets/MediaUpload.vue?2ed7","webpack://dfish/./src/widgets/Loading.vue","webpack://dfish/./src/widgets/Loading.vue?ce77","webpack://dfish/./src/widgets/CheckBoxGroup.vue","webpack://dfish/./src/widgets/CheckBoxGroup.vue?6c17","webpack://dfish/./src/widgets/Spinner.vue","webpack://dfish/./src/widgets/Spinner.vue?fa77","webpack://dfish/./src/widgets/TripleBox.vue","webpack://dfish/./src/widgets/TripleBox.vue?8717","webpack://dfish/./src/widgets/Radio.vue","webpack://dfish/./src/widgets/Radio.vue?f1bf","webpack://dfish/./src/widgets/Html.vue?e48a","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","webpack://dfish/./src/directive/form-ignore.js","webpack://dfish/./src/widgets/Calendar.vue?b8a7","webpack://dfish/./src/widgets/Tabs.vue?b517","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","oldJsonpFunction","slice","props","computed","dir","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","typeIcon","text","showButton","dfish","br","compat","gap","face","save","ownproperty","icons","info","warning","success","question","defaultIconType","methods","dialog","cueYes","icon","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","maxHeight","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","context","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","inCurrent","currentPage","clickItem","runType","trigger","clickDrop","onJumpClick","v","Math","max","number","jumpInput","html_button","ic","ds","disabled","html_face_button","html_face_simple","html_face_normal","loc","page_text","prev","sumPage","next","html_drop","sp","onClick","Menu","snap","drop","position","indent","onClose","concat","cp","f","ceil","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","jump","to","onfocus","onblur","onkeydown","keyCode","page","html_face_mini","first","last","FormBase","isModified","html","id","uid","modelValue","WidgetBase","AlignParent","mv","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","ov","changed","JSON","stringify","warn","isUsableVal","$emit","formVal","input_value","defaultRuleValue","rules","Array","isArray","valid","getValidError","showErrorTip","ques","validTriggers","validQueues","isNormal","isReadonly","readonlyValidate","groupFormVal","join","trim","hs","validHooks","q","rv","rule","formErr","que","arg","label","getLabelText","ps","form","wid","w","_tip","scrollIntoView","ease","exec","errorTipTarget","focus","formText","pubParent","oninput","baseFocus","baseBlur","isFocusTarget","relatedTarget","$","isUnmounted","time","Date","getTime","snapElem","isWidget","original","dv","saveModified","lodash","clone","reset","empty","html_label","$slots","Label","html_input","input_tag","input_type","input_name","readonly","isDisabled","placeholder","input_placeholder","autocomplete","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","pubValidHooks","required","pattern","eval","test","validateHandler","k","includes","forEach","item","keys","autoPlaceholder","html_on","html_props","fw","inputWidth","created","$watch","initOptions","sugger","showSuggest","sug_timer","_KC","imeMode","paste_rng","currOpt","store","strict","array","addStore","inp","innerHTML","html_options","addVal","multiple","unionBy","complete","u","rngElement","separator","tagName","nextSibling","after","querySelector","append","rng_text","classAdd","forbid","rngCursor","eq","addBack","remove","closeDrop","suggest","input","innerText","replace","createEvent","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","split","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","preventDefault","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","validateDefault","getOn","addEventListener","provideOptionParent","isMul","click","inject","clickOption","idsAny","String","string","strQuot","strFrom","lastIndexOf","substr","strTo","strLen","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","html_self","html_pops","html_scroll_class","parseFloat","isNaN","isNumber","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","parseInt","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","ownerView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","dispatchEvent","Event","findIndex","sensor","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","SrcParent","provide","pops","beforeCreate","popCommanders","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueMap","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","hidden","getDialogOptions","Pop","suffixHooks","xls","doc","ppt","htm","zip","fla","fon","iso","vid","aud","img","suffix","url","toLowerCase","unit","toUpperCase","fileTypeHooks","video","audio","image","list","emiting","immediate","getFileTypes","fileTypes","getAccept","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","ft_names","xfs","maxFileSize","nfs","minFileSize","ft","sfx","upload_maxfilesize","upload_minfilesize","upload_invalid_file_type","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","upload_invalid_data","upload_no_data","catch","response","status","downloadSrc","download","urlServer","cancel","chooseFile","html_list","itemWidth","upload_error","html_input_form","accept","onchange","html_input_button","button","html_input_list","no_files","canUpload","uploadbbr","html_style","MediaUpload","thumbnailWidth","thumbnailHeight","WidgetAbs","providePubParent","provideBoxParent","provideRangeParent","docView","getElementById","getKey","previewVideo","template","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","debug","Scroll","thead","provideInBody","table","scrollX","fixed","onScroll","hd","slotHooks","scrollLeft","onScrollPosition","onScrollAttributeChange","attributeName","hasAttribute","html_tbody","inBody","T","N","cvs","documentElement","_arr_comma","_snaptype","h","top","bottom","left","right","tl","tr","rt","rb","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","clientWidth","clientHeight","offsetHeight","offsetTop","offsetLeft","offsetParent","clientLeft","clientTop","getBoundingClientRect","originalEvent","clientX","clientY","ew","eh","ot","or","ob","ol","y","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","snapTo","css","labelWidth","setProperty","updated","_uidCnt","_uidKey","_guid","toString","pubParentName","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","clickTab","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isChecked","getVal","setVal","checkValue","rdo","idsAdd","idsRemove","siblings","sb","check","relate","onbasechange","input_icon","html_target","minSize","maxSize","partialSubmit","$el","getSrc","$props","fn","ex","$parent","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","provideLevel","provideParentLeaf","provideParentTR","getCurrent","leaf","viewCurrent","expandToView","chd","level","index","sortType","sortOrder","sortable","clickSort","order","sortUID","orders","sortOrders","col","colgroup","vnode","dfishColIndex","td_props","movable","sl","sr","st","moveup","appendTo","body","setPosition","moved","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","DropBox","clickClear","input_text","current","isCurrentChild","ci","colspan","rowspan","Vue","directive","formIgnore","dialogMove","yes","no","none","confirm","search","query","choose","edit","finish","refresh","operfail","opertip","nodata","more","field","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","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","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","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","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","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","from_to","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dateWeek","M","dateAdd","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","weekPoint","weekStart","getDay","dateWeekFirst","dateWeekLast","dateValid","dateDiff","_dateDiff","z","webpackAsyncContext","req","ids","tipCache","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","focusValue","format","autoFix","enableHour","arrayNumber","em","enableMinute","es","enableSecond","onclose","doAutoFix","re","mobile","getPeriod","calendarCallback","forms","getCompareError","tv","td","timeCols","onlyTime","Calendar","pad","defaultHour","defaultMinute","defaultSecond","getRangeError","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dnX","dnY","scrLeft","scrTop","wScrollOverflow","mvEv","upEv","scrollTo","ovf","wScrollCont","scrollToY","scrollToX","onscroll","initScroll","scrollState","flow","cont","percent","state","thbX","thbY","scroll_observe","sx","sy","scrollFlex","scrollView","MutationObserver","attributes","deactivated","activated","mimes","playing","getMimeType","filePath","fileName","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","expanded","toggle","exp","minorElem","toNext","previousElementSibling","toggleClass","dragstart","prevElem","nextElem","pos","help","vert","inVertical","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","hoverWrap","hoverIndex","sum","count","hoverItem","cancelable","html_star","onMouseenter","half","allowHalf","step","stars","onMouseleave","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","Loading","TemplateLoading","com","omit","templateDir","endsWith","errorComponent","loader","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","setFocus","clickArrow","clickIndicator","indicatorDots","duration","childList","provideLeafLevel","rows","isExpanded","cg","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","navigator","userAgent","chrome","match","firefox","agent","safari","ie","appName","documentMode","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","addEvent","cue","cueNo","isCmd","_EventUser","_event_remove","pull","_event_name","_event_space","sort","_event_handlers","EventListener","ctx","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","tab","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","mousedown","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","tip","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","WIDGET","DocView","View","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","SlidePicker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","Rate","install","component","use","html_binds","setup","startY","endY","minY","maxY","optY","optH","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","update","sc","nv","xv","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","getIndex","transEnd","ret","ontouchstart","emit","hover","getInitLoaded","hasChild","childrenList","setExpanded","isFolder","boxSync","triple","checkstate","tripleAll","ico","html_attrs","$attrs","box","html_cont","tree","display","prop","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","bodyList","$event","hasTime","focusHour","scroll-y","scroll-view","bodyListHour","isHourDisabled","clickHour","focusMinute","bodyListMinute","isMinuteDisabled","clickMinute","focusSecond","bodyListSecond","isSecondDisabled","clickSecond","clickNow","clickConfirm","value2date","ny","oy","formatter","bd","ed","setDefaultTime","weekday","dh","dm","fixDate","beginDate","endDate","from","date","callback","focusDate","fm","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","bodyListYear","bodyListMonth","bodyListWeek","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","_pos","snapStyle","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","layTop","layBottom","_fitpos","lp","lc","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","setMaxHeight","extend","addClass","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","hourList","hasMinute","minuteList","hasSecond","secondList","hasWeek","focusWeek","minWeek","maxWeek","weekList","nd","xd","weekFirst","weekLast","startYear","endYear","monthDays","minTime","maxTime","weekText","startDate","bindCache","runtimeX","events","dftX","getDefaultProp","cuid","config_uid","watchs","Proxy","obj","newval","delete","dftopt","defaultOptions","dfclsCache","idsAll","mergeDeep","extendDeep","vm","commands","ncm","merge","cmdHooks","ev","fireEvent","once","closest","sel","CustomEvent","opt","divide","slotsChildren","cls","isDisplay","ri","rowIndex","rs","isElement","has","assign","Map","jquery","prepend","before","constructor","cloneDeep","str","Function","allowMinus","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","toast","runtime","openFile","filename","closeWaiting","start","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","ms","cr","d1","it","setInterval","d2","cos","clearInterval","print","ownerDocument","outerHTML","input2text","printf","frames","wPrintFrame","open","write","queryEncode","config","contentType","Qs","arrayFormat","ajax","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","defaults","interceptors","_dfopt","catchReject","reason","init_text","locked","isSuccess","isError","setThumbLeft","timer","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","hoverDrop","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","columns","cols","dc","defaultColspan","MediaUploadItem","doFormat","rightward","activeElement","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","w_name","indicator-dots","rot","rotate","swiper","maxWidth","cv","sticky","initFixedCells","requestAnimationFrame","fixedCells","reverse","colIndex","cellIndex","tbody","hiddens"],"mappings":"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EAAIjF,GAAGxH,IACJA,EAAQ,GAAJwsB,EACb,IAAK,IACH,OAAO1hB,KAAK8a,OAAOpe,EAAID,GAAL,MACpB,IAAK,IACH,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAL,KACpB,IAAK,IACH,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAK,KAC9B,QACE,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAK21B,KAI5BzU,EAAY,WAAkB,MAClC,OAAO,EAAAlW,EAAEyV,SAAQS,UAAV,qB,qBC/IT,IAAI/f,EAAM,CACT,QAAS,CACR,OACA,EACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,iBACA,kBAED,8BAA+B,CAC9B,OACA,EACA,iBACA,kBAED,oBAAqB,CACpB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,qCAAsC,CACrC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,UAAW,CACV,OACA,GAED,aAAc,CACb,OACA,GAED,cAAe,CACd,OACA,GAED,eAAgB,CACf,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,SAAU,CACT,OACA,EACA,iBACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,iBACA,kBAED,sBAAuB,CACtB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,uBAAwB,CACvB,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,mCAAoC,CACnC,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,kCAAmC,CAClC,OACA,GAED,sCAAuC,CACtC,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,YAAa,CACZ,OACA,GAED,aAAc,CACb,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,8BAA+B,CAC9B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oB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","file":"publish/lib/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dfish\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dfish\"] = factory();\n\telse\n\t\troot[\"dfish\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"main\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0113803f\":\"d77b21dd\",\"chunk-0206fce4\":\"fd5992e5\",\"chunk-02baca6a\":\"9815366c\",\"chunk-0afcc52e\":\"7484dcc9\",\"chunk-0c628b1c\":\"2148fc9d\",\"chunk-1da003f6\":\"81e550e0\",\"chunk-2d0a3376\":\"6a65ba64\",\"chunk-2d0a448b\":\"1817e2f9\",\"chunk-2d0aad2b\":\"a5bab1c6\",\"chunk-2d0abff0\":\"722db78f\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"f569f187\",\"chunk-2d0ba936\":\"01595884\",\"chunk-2d0bac21\":\"4d196e97\",\"chunk-2d0bdd0a\":\"a5929573\",\"chunk-2d0bdf2c\":\"4b839de8\",\"chunk-2d0c0fe2\":\"9a0ee26a\",\"chunk-2d0c8d69\":\"a33870c1\",\"chunk-2d0ccf93\":\"05dc5835\",\"chunk-2d0d660f\":\"e479c58b\",\"chunk-2d0dd4a8\":\"7f91b165\",\"chunk-2d0df0d6\":\"33f24f0f\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"84a39c13\",\"chunk-2d21d0ff\":\"fc02690b\",\"chunk-2d228891\":\"47688c48\",\"chunk-2d22d7b5\":\"845a0c3a\",\"chunk-2f7f0670\":\"1eded247\",\"chunk-3cecfdf8\":\"59aa5e6f\",\"chunk-3d7d76fb\":\"522adf0b\",\"chunk-446f13c2\":\"5cb29cfc\",\"chunk-5f709e3a\":\"2d5a5ba6\",\"chunk-77ff8882\":\"92023c7c\",\"chunk-a21f2210\":\"dca115e8\",\"chunk-577edd5f\":\"216ab6a1\",\"chunk-2d0c8faa\":\"a54886b2\",\"chunk-bb34eb02\":\"4dd7dc48\",\"chunk-c7c01ff4\":\"75574bb3\",\"chunk-eda6ccec\":\"ede071a5\",\"chunk-2d230454\":\"b153727a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0113803f\":1,\"chunk-0206fce4\":1,\"chunk-02baca6a\":1,\"chunk-0c628b1c\":1,\"chunk-1da003f6\":1,\"chunk-2f7f0670\":1,\"chunk-3cecfdf8\":1,\"chunk-446f13c2\":1,\"chunk-77ff8882\":1,\"chunk-a21f2210\":1,\"chunk-577edd5f\":1,\"chunk-bb34eb02\":1,\"chunk-eda6ccec\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpdfish\"] = window[\"webpackJsonpdfish\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"bb84\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./AlignParent.vue?vue&type=script&lang=js\"\nexport * from \"./AlignParent.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"","<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=\"*\">\r\n <div class=\"w-alert-title\" v-if=\"title\">{{title}}</div>\r\n </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=\"typeIcon\"></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 v-if=\"showButton!==false\" :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\" :ownproperty=\"true\" />\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\r\n const icons = {\r\n info: '.f-i .f-i-alert-info',\r\n warning: '.f-i .f-i-alert-warning',\r\n success: '.f-i .f-i-alert-success',\r\n question: '.f-i .f-i-alert-question',\r\n error: '.f-i .f-i-alert-error'\r\n }\r\n\r\n export default {\r\n props: ['text', 'title', 'icon', 'showButton'],\r\n data() {\r\n return {\r\n defaultIconType: 'info'\r\n }\r\n },\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 computed: {\r\n dfish() {\r\n return $\r\n },\r\n typeIcon() {\r\n return icons[this.icon] || this.icon || icons[this.defaultIconType]\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=291bdc3e\"\nimport script from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"","<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 let p = $(a)\r\n if (p && (p = p.parentMenu) && p.rootCommander == this.rootCommander) return true\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.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-up'\r\n })),\r\n h(Vertical, {\r\n class: 'w-menu-bbr',\r\n height: '*',\r\n ref: 'bbr',\r\n onwheel: this.mousewheel\r\n }, {\r\n default: () => this.html_buttons()\r\n }),\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-down'\r\n })),\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.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.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</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\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\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\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","import script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"\n\nexport default script","<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","import script from \"./TabButton.vue?vue&type=script&lang=js\"\nexport * from \"./TabButton.vue?vue&type=script&lang=js\"\n\nimport \"./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"\n\nexport default script","<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 e.value = b\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, onClick: e => this.clickItem(e, i)}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, onClose: () => 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","import script from \"./PageBar.vue?vue&type=script&lang=js\"\nexport * from \"./PageBar.vue?vue&type=script&lang=js\"\n\nimport \"./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"\n\nexport default script","<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","import script from \"./Hidden.vue?vue&type=script&lang=js\"\nexport * from \"./Hidden.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import {tipCache} from './Tip.vue'\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\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'readonlyValidate', 'disabled', 'required',\r\n 'validateDefault', 'validateHandler', 'inputWidth', 'inputHeight' ],\r\n emits: ['update:modelValue', 'change', 'blur', 'focus'],\r\n data() {\r\n let mv = this.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 let ov = this.x.modelValue\r\n this.x.modelValue = v\r\n let changed = ov !== v\r\n if (typeof ov === 'object') {\r\n changed = JSON.stringify(ov) != JSON.stringify(v)\r\n }\r\n if (changed) {\r\n this.warnClass && this.warn(false)\r\n if (this.isUsableVal(v)) {\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n }\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n isUsableVal(v) { //implement\r\n return true \r\n },\r\n defaultRuleValue(name) {\r\n let r = this.rules[name]\r\n if (r != null) {\r\n if (Array.isArray(r)) {\r\n r = r[0]\r\n }\r\n return r && r.value ? r.value : r\r\n }\r\n },\r\n valid(trigger) {\r\n let e = this.getValidError(trigger)\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(trigger, val) {\r\n let ques = trigger ? this.validTriggers[trigger] : this.validQueues\r\n if (ques && (this.isNormal || (this.isReadonly && this.x.readonlyValidate))) {\r\n let v = val !== undefined ? val : this.isPlural ? this.groupFormVal() : this.formVal()\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 hs = this.validHooks\r\n for (let q of ques) {\r\n let rv = typeof q.rule !== 'object' ? q.rule : q.rule.value !== undefined ? q.rule.value : q.rule\r\n let e = hs[q.type](v, rv, q)\r\n if (e) return e\r\n }\r\n }\r\n },\r\n formErr(que, arg) {\r\n let label = this.getLabelText()\r\n let type = que.type\r\n let text = que.rule && que.rule.text\r\n if (!text) {\r\n text = $.loc.ps.apply(null, [$.loc.form[type], label || ''].concat(arg != null && arg !== '' ? arg : [])) || ''\r\n }\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n type,\r\n label,\r\n text,\r\n }\r\n },\r\n warn(a) {\r\n let w = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n this.warnClass = w\r\n if (!w && this._tip) {\r\n $.close(this._tip)\r\n this._tip = null\r\n }\r\n },\r\n showErrorTip(text) {\r\n this.scrollIntoView({\r\n ease: 200,\r\n success: () => {\r\n this._tip = 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 })\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n return this\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 baseFocus(e) {\r\n this.isFocus = true\r\n this.warn(false)\r\n this.trigger(e)\r\n },\r\n baseBlur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n this.trigger(e)\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) {\r\n let time = new Date().getTime()\r\n if (time - tipCache.time > 100) this.valid('blur')\r\n }\r\n }, 100)\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 // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\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,\r\n 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 autocomplete: 'off', //off, nope, new-password\r\n //list: 'autocompleteOff',\r\n //role: 'presentation',\r\n oninput: this.oninput,\r\n onfocus: this.baseFocus,\r\n onblur: this.baseBlur,\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 [`f-${this.dir}-gap`]: $.br.compat.gap,\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 pubValidHooks() {\r\n return {\r\n required: (v, rule, que) => {\r\n if (rule && !v) return this.formErr(que)\r\n },\r\n pattern: (v, rule, que) => {\r\n if (v && (typeof rule === 'string' ? !$.eval(`${rule}.test(v)`, {rule, v}) : !rule.test(v)))\r\n return this.formErr(que)\r\n },\r\n validateHandler: (v, rule) => {\r\n let text = rule && rule(v)\r\n if (text) {\r\n return this.formErr({type: 'validateHandler', rule: {text}})\r\n }\r\n }\r\n }\r\n },\r\n validHooks() {\r\n return this.pubValidHooks\r\n },\r\n validQueues() {\r\n let r = []\r\n let type = 'validateDefault'\r\n if (this.validHooks[type]) r.push({type})\r\n for(let k in this.validHooks) {\r\n if (!r.includes(k)) {\r\n let rule = this.rules[k]\r\n if (rule != null) {\r\n if (Array.isArray(rule)) {\r\n rule.forEach(item => r.push({type: k, rule: item}))\r\n } else {\r\n r.push({type: k, rule})\r\n }\r\n }\r\n }\r\n }\r\n return r\r\n },\r\n validTriggers() {\r\n let r = {}\r\n Object.keys(this.validHooks).forEach(k => {\r\n let d = this.rules[k]\r\n if (d) {\r\n if (Array.isArray(d)) {\r\n for (let e of d) {\r\n if (e.trigger) {\r\n (r[e.trigger] || (r[e.trigger] = [])).push({type: k, rule: e})\r\n }\r\n }\r\n } else if (d.trigger) {\r\n (r[d.trigger] || (r[d.trigger] = [])).push({type: k, rule: d})\r\n }\r\n }\r\n })\r\n return r\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 if (!this.isNormal) return;\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 'z-full': this.x.inputWidth === '*'\r\n }],\r\n style: fw && {\r\n '--w-input-width': fw\r\n },\r\n //'w-input-width': this.x.inputWidth,\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 width: var(--v-label-width, var(--label-width));\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 overflow: hidden;\r\n align-items: center;\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 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 border: 0;\r\n padding: 1px 0 1px 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 text-align: left;\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 padding-top: 3px;\r\n padding-bottom: 3px;\r\n gap: var(--w-boxgroup-gap, 10px);\r\n --w-compat-gap: var(--w-boxgroup-gap, 10px);\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 grid-gap: var(--w-boxgroup-gap);\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 .w-triplebox-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 .w-form.z-err > .w-input{\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\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\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\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\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\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\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\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 .w-text > .w-input,\r\n .w-spinner > .w-input,\r\n .w-datepicker > .w-input {\r\n align-items: stretch;\r\n }\r\n \r\n .w-input-value:checked+.w-radio-appear:after {\r\n content: 'a';\r\n position: absolute;\r\n }\r\n \r\n</style>\n","import script from \"./FormBase.vue?vue&type=script&lang=js\"\nexport * from \"./FormBase.vue?vue&type=script&lang=js\"\n\nimport \"./FormBase.vue?vue&type=style&index=0&id=2fa15da4&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"","<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.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\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\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(this.createEvent('input', v), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\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.closeDrop()\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.closeDrop()\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.closeDrop()\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 onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\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 } 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.closeDrop()\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 e.value = v\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 onkeydown: this.onkeydown,\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 onClose: () => this.showSuggest = false\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr({\r\n type: 'invalid_option'\r\n })\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 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</script>\r\n\r\n<style>\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</style>\n","import script from \"./LinkBox.vue?vue&type=script&lang=js\"\nexport * from \"./LinkBox.vue?vue&type=script&lang=js\"\n\nimport \"./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"","<template>\r\n <button v-bind=\"html_attrs\" :class=\"['f-flex-align', provideOptionParent.$options.name + '-option', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul}]\"\r\n @click=\"click\" :disabled=\"disabled\" :title=\"text\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text}}</slot>\r\n </div>\r\n <div v-if=\"isMul\" :class=\"['w-option-checked', {'f-i f-i-check': isFocus}]\"></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 inject: ['provideOptionParent'],\r\n methods: {\r\n click(e) {\r\n if (this.provideOptionParent.clickOption)\r\n this.provideOptionParent.clickOption(this)\r\n }\r\n },\r\n\r\n computed: {\r\n isFocus() {\r\n let m = this.provideOptionParent.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n },\r\n isMul() {\r\n return this.provideOptionParent.x.multiple\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 height: 18px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .w-option.z-mul {\r\n padding-left: 13px;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n border-color: var(--w--focus-color);\r\n }\r\n</style>\n","import { render } from \"./Option.vue?vue&type=template&id=9b750ac0\"\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\nimport \"./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\nconst string = (a) => a == null ? '' : '' + a\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\nexport {string, strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\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","import script from \"./View.vue?vue&type=script&lang=js\"\nexport * from \"./View.vue?vue&type=script&lang=js\"\n\nexport default script","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) === '-' ? '-' : '';\r\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 parseInt(number(a))\n\t} else if (b < 0) {\n\t\treturn parseFloat(number(a))\n\t} else {\n\t\tlet 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}","<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 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 onClose: () => this.showDrop = null\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.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 }\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","import script from \"./MenuButton.vue?vue&type=script&lang=js\"\nexport * from \"./MenuButton.vue?vue&type=script&lang=js\"\n\nimport \"./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item', 'blur', 'focus'],\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\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\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 return this\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 e.value = v\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 if (mv.length) {\r\n mv.splice(mv.length - 1, 1)\r\n this.x.modelValue = mv\r\n }\r\n }\r\n }\r\n //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n onblur(e) {\r\n this.isFocus = false\r\n this.trigger('blur')\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) this.valid('blur')\r\n }, 100)\r\n },\r\n onfocus(e) {\r\n this.isFocus = true\r\n e.target.value && e.target.dispatchEvent(new Event('input'))\r\n this.trigger('focus')\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n e.value = 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, true)\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(!this.showSuggest)\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 onblur: this.onblur,\r\n onfocus: this.onfocus,\r\n placeholder: this.input_value ? null : this.input_placeholder,\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', {'f-h-gap': $.br.compat.gap}],\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 onClose: () => this.showSuggest = false\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 validateDefault: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr({type: 'invalid_option'})\r\n },\r\n ...this.pubValidHooks,\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.$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 padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n --w-compat-gap: 3px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-combobox-list.f-h-gap {\r\n padding: 1px 3px;\r\n }\r\n \r\n .w-combobox-list.f-h-gap>* {\r\n margin-top: 1px;\r\n margin-bottom: 1px;\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 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 margin-left: 5px;\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","import script from \"./ComboBox.vue?vue&type=script&lang=js\"\nexport * from \"./ComboBox.vue?vue&type=script&lang=js\"\n\nimport \"./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"\n\nexport default script","<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', 'clickTab'],\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 dir() {\r\n return this.x.vertical ? 'v' : 'h'\r\n },\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","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.vue?vue&type=script&lang=js\"\n\nexport default script","// 最后一个属性是数组 / 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}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"","<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 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 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 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.groupFormVal ? d.groupFormVal(b) : 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('[w-form-ignore] :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('[w-form-ignore] :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 = $.vueMap.get(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 => $.vueMap.get(v.wid).warn())\r\n $.vueMap.get(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 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 }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n\r\n</style>\n","import script from \"./ViewAbs.vue?vue&type=script&lang=js\"\nexport * from \"./ViewAbs.vue?vue&type=script&lang=js\"\n\nimport \"./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"\n\nexport default script","<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', 'vertical',\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n dir: 'v',\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 => {return {value}}) : v ? [{value: v}] : []\r\n }, {immediate: true})\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.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n getFileTypes() {\r\n let t = this.x.fileTypes\r\n return t && t !== '*.*' ? t.replace(/\\*/g, '').replace(/;/g, ',').toLowerCase() : ''\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.getFileTypes()\r\n if (!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.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 ft = this.getFileTypes()\r\n let xfs_names\r\n let nfs_names\r\n let ft_names\r\n $.lodash.each(e.target.files, file => {\r\n let sfx = '.' + $.strFrom(file.name, '.', true).toLowerCase()\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 if (ft && !$.idsAny(ft, sfx, ',')) {\r\n (ft_names || (ft_names = [])).push(file.name)\r\n } else {\r\n this.list.push({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 } else if (ft_names) {\r\n $.alert($.loc.ps($.loc.form.upload_invalid_file_type, ft_names.join('<br>')))\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.trigger('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 e.value = item.value\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', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr({type: 'upload_loading'})\r\n }\r\n if (item.error) {\r\n return this.formErr({type: '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_class() {\r\n return {'z-vertical': this.x.vertical}\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-fileupload.z-vertical .w-fileupload-list {\r\n flex-direction: column;\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","import script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"\n\nexport default script","<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","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<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: 'b',\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\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DocView.vue?vue&type=script&lang=js\"\nexport * from \"./DocView.vue?vue&type=script&lang=js\"\n\nexport default script","<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 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 },\r\n onScrollPosition(v) {\r\n let el = this.table.el()\r\n if (el && v == 'left' || v == 'center' || v == 'right') {\r\n el.setAttribute('w-scroll-x', v)\r\n }\r\n },\r\n onScrollAttributeChange(e) {\r\n let el = this.table.el()\r\n if (el) {\r\n e.forEach(m => {\r\n let n = m.attributeName\r\n m.target.hasAttribute(n) ? el.setAttribute(n, '') : el.removeAttribute(n)\r\n })\r\n }\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 }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.vue?vue&type=script&lang=js\"\n\nexport default script","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,22,33,32,21,34,'rr','rl'], 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","// 实现指令 v-label-width=\"100\"\r\n// 设定\r\nimport $ from '../dfish.js'\r\n\r\nfunction labelWidth(el, bind) {\r\n el.style.setProperty('--v-label-width', $.unitSize(bind.value))\r\n}\r\n\r\nexport default {\r\n created: labelWidth,\r\n updated: labelWidth,\r\n}\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}","<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', 'face', '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 }\r\n if (this.pubParent && this.pubParent.clickTab) {\r\n this.pubParent.clickTab(this)\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.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 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 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 onClose: () => this.showDrop = false\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-face-${this.x.face}`]: this.x.face,\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-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","import script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumns.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumns.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, ref\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 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 return this.getVal()\r\n }\r\n this.setVal(a, {\r\n type: 'change',\r\n target: this.$refs.v\r\n })\r\n },\r\n getVal() {\r\n return this.isChecked ? this.value : ''\r\n },\r\n setVal(checked, event) {\r\n let p = this.pubParent\r\n let v = this.checkValue\r\n let rdo = this.input_type === 'radio'\r\n let mv = this.x.modelValue\r\n if (rdo) {\r\n mv = checked ? $.string(v) : ''\r\n } else {\r\n mv = checked ? $.idsAdd(mv, v) : $.idsRemove(mv, v)\r\n }\r\n this.x.modelValue = mv\r\n if (rdo) {\r\n this.siblings().forEach(sb => sb.x.modelValue = mv)\r\n }\r\n this.$emit('update:modelValue', mv)\r\n this.trigger(event, mv)\r\n this.pubParent && this.pubParent.trigger(event, mv)\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.x.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null) {\r\n let r = []\r\n $.lodash.each(this.siblings(null, true), f => {\r\n let g = f.formVal()\r\n if (g != null && g != '') r.push(g)\r\n })\r\n return r.join(',')\r\n }\r\n $.lodash.each(this.siblings(), f => f.val($.idsAny(a, f.checkValue)))\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.val(a)\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n siblings(a, b) {\r\n return $.lodash.map($.q(':input[name=\"' + this.input_name + '\"]:not([w-form-ignore] :input)' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el()), e => $(e))\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 onclick(e) {\r\n //implement\r\n e.stopPropagation()\r\n },\r\n onbasechange(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.setVal(e.target.checked, e)\r\n },\r\n onchange(e) {\r\n this.onbasechange(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 ref: 'v',\r\n class: 'w-input-value',\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 onclick: e => {\r\n if (this.isNormal) {\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n ...this.input_prop,\r\n }), h('em', {\r\n ref: 'appear',\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n this.x.text ?\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text) : null\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: this.onclick,\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {\r\n class: this.$options.name + '-target',\r\n ref: 'target'\r\n }, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.x.vertical ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length < $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n maxSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length > $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n }\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 input_type() {\r\n return 'checkbox'\r\n },\r\n input_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\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_prop() {\r\n return {\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n }\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n checkValue() {\r\n return this.x.value\r\n },\r\n isChecked() {\r\n return $.idsAny(this.x.modelValue, this.checkValue)\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 if (this.$refs.target) {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n this.siblings().forEach((sb) => {\r\n let t = sb.$refs.target\r\n if (t) this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !sb.isChecked)\r\n })\r\n }, {immediate: true})\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./CheckBox.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'children'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc() {\r\n return (this.x || this.$props).src\r\n },\r\n request(fn) {\r\n let src = this.getSrc()\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n if (typeof src === 'function') {\r\n src(this).then(res => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n fn && fn()\r\n }).catch(ex => {\r\n this.showLoading(false)\r\n this.loaded = true\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","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <w-loading />\r\n</template>\r\n\r\n","import { render } from \"./TemplateLoading.vue?vue&type=template&id=1e19074e\"\nconst script = {}\nscript.render = render\n\nexport default script","<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', 'suffix', '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 + (this.x.suffix == null ? '' : this.x.suffix)))\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 html_style() {\r\n return {\r\n width: null,\r\n '--label-width': this.x.width && $.unitSize(this.x.width)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Label.vue?vue&type=script&lang=js\"\nexport * from \"./Label.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FormBase.vue?vue&type=style&index=0&id=2fa15da4&lang=css\"","<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","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<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","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"","<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 import ResizeObserver from 'resize-observer-polyfill'\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', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: ['w-timeline-next', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\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({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n $.q(this.$refs.next).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 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 --w-compat-gap: 25px;\r\n gap: var(--w-compat-gap);\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","import script from \"./Timeline.vue?vue&type=script&lang=js\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"","<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 import SrcParent from './SrcParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent, SrcParent],\r\n emits: ['click:item'],\r\n provide() {\r\n return {\r\n provideLevel: -1,\r\n provideParentLeaf: null,\r\n provideParentTR: null,\r\n }\r\n },\r\n methods: {\r\n getCurrent() {\r\n const leaf = $.q('.w-leaf.z-on', this.el())[0]\r\n return leaf && $(leaf)\r\n },\r\n viewCurrent(f) {\r\n f = f || this.getCurrent()\r\n if (f) {\r\n f.expandToView()\r\n this.$nextTick(() => f.scrollIntoView())\r\n }\r\n },\r\n html_slots() {\r\n let r\r\n let chd = this.x.children\r\n if (this.$slots.default) {\r\n if (Array.isArray(chd)) {\r\n r = chd.map(item => this.$slots.default({item}))\r\n } else {\r\n r = []\r\n }\r\n }\r\n return this.html_scroll_slots(r)\r\n }\r\n },\r\n computed: {\r\n level() {\r\n return -1\r\n },\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.children) this.request()\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</style>\r\n","import script from \"./Tree.vue?vue&type=script&lang=js\"\nexport * from \"./Tree.vue?vue&type=script&lang=js\"\n\nimport \"./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"\n\nexport default script","<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","import script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.vue?vue&type=script&lang=js\"\n\nexport default script","<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\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['line'],\r\n computed: {\r\n html_props() {\r\n let line = this.x.line\r\n return {\r\n class: [\r\n (this.x.align || this.x.valign) && 'w-horizontal',\r\n line != null && 'f-line',\r\n this.html_align_class\r\n ],\r\n style: line != null && {\r\n '-webkit-line-clamp': line\r\n }\r\n }\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","import script from \"./Html.vue?vue&type=script&lang=js\"\nexport * from \"./Html.vue?vue&type=script&lang=js\"\n\nimport \"./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"\n\nexport default script","<!-- <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","import script from \"./TimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./TimelineItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import TD from './TableTD.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-th',\r\n mixins: [TD, WidgetBase],\r\n props: ['sortable', 'sortOrders', 'sortOrderDefault'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n data() {\r\n return {\r\n sortType: null,\r\n sortOrder: null,\r\n }\r\n },\r\n methods: {\r\n onClick(e) {\r\n if (this.x.sortable) {\r\n this.clickSort(e, 'toggle')\r\n }\r\n },\r\n clickSort(e, order) {\r\n e.stopPropagation()\r\n let o = this.sortOrder\r\n if(this.thead.sortUID != this.uid) {\r\n o = null\r\n }\r\n let orders = this.x.sortOrders || ['asc', 'desc', null]\r\n if (order === 'toggle') {\r\n let i = orders.indexOf(o)\r\n o = orders[i < 0 || i == 2 ? 0 : i + 1]\r\n } else {\r\n o = o == order ? null : order\r\n }\r\n this.sortOrder = o\r\n this.thead.sortUID = this.uid\r\n e.value = o\r\n this.$emit('click:sort', e, o)\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'}, 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 tagName() {\r\n return 'th'\r\n },\r\n html_props() {\r\n return mergeProps(this.td_props(), {\r\n class: {'z-sortable': this.x.sortable, [`z-${this.sortOrder}`]: this.sortOrder && this.thead.sortUID == this.uid},\r\n onClick: this.onClick,\r\n }) \r\n },\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.vue?vue&type=script&lang=js\"\n\nexport default script","<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 sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -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(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.onmousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.onmousedown)\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","import { render } from \"./DialogMove.vue?vue&type=template&id=5a3b6ded\"\nimport script from \"./DialogMove.vue?vue&type=script&lang=js\"\nexport * from \"./DialogMove.vue?vue&type=script&lang=js\"\n\nimport \"./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"\nscript.render = render\n\nexport default script","<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 ...this.pubValidHooks,\r\n required: (v, r, q) => {\r\n if (r && (!v || v === '[]' || v === '{}')) {\r\n return this.formErr(q)\r\n }\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 main_prop() {\r\n return this.name && {\r\n onclick: e => this.warn(false)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./Form.vue?vue&type=script&lang=js\"\nexport * from \"./Form.vue?vue&type=script&lang=js\"\n\nexport default script","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","<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 = !this.showDrop\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 closeDrop() {\r\n this.showDrop = false\r\n return this\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>","import script from \"./PickBox.vue?vue&type=script&lang=js\"\nexport * from \"./PickBox.vue?vue&type=script&lang=js\"\n\nimport \"./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"\n\nexport default script","<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","import { render } from \"./TemplateTip.vue?vue&type=template&id=e9652ce4\"\nimport script from \"./TemplateTip.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateTip.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","// 实现指令 v-dialog-move=\"true\"\r\n// 使对话框可拖动\r\n\r\nimport $ from '../dfish.js'\r\n\r\nfunction 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 sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -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(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move-helper></div>').appendTo(document.body))\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n mounted(el, bind) {\r\n bind.value && el.addEventListener('mousedown', onmousedown)\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('mousedown', onmousedown)\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","import script from \"./PubParent.vue?vue&type=script&lang=js\"\nexport * from \"./PubParent.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import {h} from 'vue'\r\n \r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign', 'data'],\r\n inject: ['table', 'provideInBody'],\r\n methods: {\r\n td_props() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let len = this.table.colgroup.length\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = len\r\n }\r\n let last = ci + (colspan || 1) == len\r\n return {\r\n class: ['w-td',\r\n last && 'w-td-lastborder',\r\n this.provideInBody && col.class, \r\n col.fixed && {\r\n [`w-td-fixed-${col.fixed}`]: true, \r\n [`w-td-fixed-left-last`]: col.fixed === 'left' && (this.table.colgroup[ci + 1] && this.table.colgroup[ci + 1].fixed != col.fixed),\r\n [`w-td-fixed-right-first`]: col.fixed === 'right' && (this.table.colgroup[ci - 1] && this.table.colgroup[ci - 1].fixed != col.fixed),\r\n }\r\n ],\r\n style: [this.provideInBody && col.style, col.fixed && {[`${col.fixed}`]: `var(--w-td-fixed-${col.fixed}-${ci})`}],\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }\r\n }\r\n },\r\n render() {\r\n return h('td', this.td_props(), this.$slots)\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.vue?vue&type=script&lang=js\"\n\nexport default script","import formIgnore from './form-ignore.js'\r\nimport dialogMove from './dialog-move.js'\r\nimport labelWidth from './label-width.js'\r\n\r\nexport default function(Vue) {\r\n Vue.directive('form-ignore', formIgnore)\r\n Vue.directive('dialog-move', dialogMove)\r\n Vue.directive('label-width', labelWidth)\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 from_to: '{0} 至 {1}',\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","<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 dir() {\r\n return 'h'\r\n },\r\n html_props() {\r\n let gap = this.x.gap\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br, [`f-${this.dir}-gap`]: gap != null && gap != '' && ($.br.compat.gap || gap < 0)}],\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 let gap = this.x.gap\r\n if (gap != null && gap != '') {\r\n return {\r\n 'gap': $.unitSize(gap, true),\r\n '--w-compat-gap': ($.br.compat.gap || gap < 0) ? $.unitSize(gap, true) : null,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Horizontal.vue?vue&type=script&lang=js\"\nexport * from \"./Horizontal.vue?vue&type=script&lang=js\"\n\nexport default script","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 }\r\n let s = (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 if (s.indexOf('w') > -1) {\r\n let w = dateWeek(a)\r\n s = s.replace('ww', strPad(w[1])).replace('w', w[1])\r\n }\r\n return s\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1');\r\n b = (b || _date_sf).replace(/\\b([MdHmsw])\\b/g, '$1$1');\r\n let c\r\n let y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date()\r\n .getFullYear())\r\n let M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0\r\n let d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1\r\n let H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0\r\n let m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0\r\n let s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0\r\n if ((c = b.indexOf('ww')) > -1) {\r\n let w = number(a.substr(c, 2))\r\n let t = dateWeek(new Date(y, 0, 1))\r\n if (t[0] != y)\r\n t = dateWeek(new Date(y, 0, 8))\r\n return new Date(t[2].getTime() + (w - 1) * 7 * _date_D)\r\n }\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\r\nconst dateWeek = function(a) {\r\n let b = $.x.weekPoint != null ? $.x.weekPoint : 1 //周的重心(星期几,从0到6)\r\n let c = $.x.weekStart != null ? $.x.weekStart : 1 //周的第一天(星期几,从0到6)\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// 获取某年的第一周\r\nconst dateWeekFirst = function(year) {\r\n let c = $.dateWeek(new Date(year, 0, 1))\r\n if (c[0] != year)\r\n c = $.dateWeek(new Date(year, 0, 8))\r\n return c\r\n}\r\n\r\n// 获取某年的最后一周\r\nconst dateWeekLast = function(year) {\r\n let b = dateWeek(new Date(year, 11, 31))\r\n if (b[0] !== year)\r\n b = dateWeek(new Date(year, 11, 31 - 7))\r\n return b\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 let 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 switch (c) {\r\n case 'y':\r\n let e = b.getFullYear() - a.getFullYear()\r\n let f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n let y = _dateDiff(a, b, 'y')\r\n let 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 dateWeek,\r\n dateWeekFirst,\r\n dateWeekLast,\r\n}\n","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-0206fce4\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-0206fce4\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./assets/SVGIcon\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/SVGIcon.vue\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/dfish.css\": [\n\t\t\"d35b\",\n\t\t7\n\t],\n\t\"./assets/f/iconfont.ttf\": [\n\t\t\"87ef\",\n\t\t7,\n\t\t\"chunk-2d0df0d6\"\n\t],\n\t\"./assets/f/iconfont.woff\": [\n\t\t\"b872\",\n\t\t7,\n\t\t\"chunk-2d210667\"\n\t],\n\t\"./assets/f/iconfont.woff2\": [\n\t\t\"3927\",\n\t\t7,\n\t\t\"chunk-2d0bac21\"\n\t],\n\t\"./assets/g/f.png\": [\n\t\t\"0d6b\",\n\t\t7,\n\t\t\"chunk-2d0af116\"\n\t],\n\t\"./assets/g/i.png\": [\n\t\t\"9436\",\n\t\t7,\n\t\t\"chunk-2d0e53b4\"\n\t],\n\t\"./components/AMapPicker\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/AMapPicker.vue\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/FormView\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-0206fce4\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-0206fce4\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/Sign\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/Sign.vue\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/task/FeedbkTR\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/FeedbkTR.vue\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/GoldView\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/GoldView.vue\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/HelloView\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/HelloView.vue\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/LionView\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/LionView.vue\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/TaskAMapPicker\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskCombobox\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskCombobox.vue\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskDropbox\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskDropbox.vue\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskForm\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-0c628b1c\"\n\t],\n\t\"./components/task/TaskJigsaw\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskJigsaw.vue\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskLeaf\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeaf.vue\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeafFormat\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLeafFormat.vue\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLinkbox\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskLinkbox.vue\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskMenu\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskMenu.vue\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskPageBar\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPageBar.vue\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPickBox\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskTR\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/TaskTR.vue\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/WorldView\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./components/task/WorldView.vue\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./dfish\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./dfish.js\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./directive\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/dialog-move\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/dialog-move.js\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/form-ignore\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/form-ignore.js\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/index\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/index.js\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/label-width\": [\n\t\t\"4637\",\n\t\t9\n\t],\n\t\"./directive/label-width.js\": [\n\t\t\"4637\",\n\t\t9\n\t],\n\t\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-0206fce4\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-a21f2210\",\n\t\t\"chunk-0206fce4\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/PreloadAlert\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadAlert.vue\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadConfirm\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadConfirm.vue\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadDialog\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/Simple\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./preload/Simple.vue\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./template/TemplateAlert\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateAlert.vue\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm.vue\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet.vue\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw.vue\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading.vue\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia.vue\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplateTip\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./template/TemplateTip.vue\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./util/browser\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/browser.js\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/css\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/css.js\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/date\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/date.js\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/elem\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/elem.js\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/event\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/event.js\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/json\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/json.js\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN.js\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/mime\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/mime.js\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/number\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/number.js\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/range\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/range.js\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/snap\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/snap.js\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/str\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/str.js\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/uid\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/uid.js\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/v-directive\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./util/v-directive.js\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./widgets\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/Album\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Album.vue\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Alert\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/Alert.vue\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent.vue\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/Button\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/Button.vue\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar.vue\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/Calendar\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/Calendar.vue\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox.vue\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup.vue\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox.vue\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/Confirm\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/Confirm.vue\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker.vue\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/Dialog\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/Dialog.vue\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove.vue\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DocView\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DocView.vue\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DropBox\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/DropBox.vue\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload.vue\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/Form\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/Form.vue\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/FormBase\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/FormBase.vue\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/Grid\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Grid.vue\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Hidden\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Hidden.vue\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal.vue\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Html\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/Html.vue\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload.vue\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/Img\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Img.vue\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw.vue\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Label\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Label.vue\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Leaf\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/Leaf.vue\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox.vue\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/Loading\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/Loading.vue\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload.vue\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem.vue\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/Menu\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/Menu.vue\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton.vue\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/Option\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/Option.vue\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/PageBar\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/PageBar.vue\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/Password\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/Password.vue\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/PickBox\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/PickBox.vue\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/Pop\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Pop.vue\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Progress\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/Progress.vue\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/PubParent\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/PubParent.vue\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/Radio\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/Radio.vue\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup.vue\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/Range\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Range.vue\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Rate\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/Rate.vue\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/RateStar\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/RateStar.vue\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/Scroll\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/Scroll.vue\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn.vue\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns.vue\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody.vue\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTD\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTD.vue\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTH\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTH.vue\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead.vue\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTR\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/TableTR.vue\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/Tabs\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Tabs.vue\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Text\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Text.vue\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Textarea\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Textarea.vue\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Timeline\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/Timeline.vue\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem.vue\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/Tip\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Tip.vue\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Toggle\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Toggle.vue\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Tree\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/Tree.vue\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox.vue\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/Vertical\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Vertical.vue\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Video\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/Video.vue\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/View\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/View.vue\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs.vue\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs.vue\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase.vue\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/index\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/index.js\": [\n\t\t\"bb84\",\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"8673\";\nmodule.exports = webpackAsyncContext;","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n let tipCache = {\r\n time: new Date().getTime()\r\n }\r\n export {tipCache}\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 tipCache.time = new Date().getTime()\r\n inst && $.close(inst)\r\n inst = this.uid\r\n },\r\n unmounted() {\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","import script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\nimport \"./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"","<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: ['showButton', 'multiple', 'format', 'autoFix', 'compare', 'minValue', 'maxValue', 'dropClass', 'enableHour', 'enableMinute', 'enableSecond',\r\n 'defaultHour', 'defaultMinute', 'defaultSecond' ],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n focusValue: 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 autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 180\r\n }\r\n },\r\n isUsableVal(v) {\r\n if (!$.dateValid(v, this.x.format)) return false\r\n let eh = this.x.enableHour && $.arrayNumber(this.x.enableHour)\r\n let em = this.x.enableMinute && $.arrayNumber(this.x.enableMinute)\r\n let es = this.x.enableSecond && $.arrayNumber(this.x.enableSecond)\r\n if (eh || em || es) {\r\n let d = $.dateParse(v, this.x.format)\r\n if ((eh && !eh.includes(d.getHours())) || (em && !em.includes(d.getMinutes())) || (es && !es.includes(d.getSeconds()))) return false\r\n }\r\n return true\r\n },\r\n onfocus(e) {\r\n this.focusValue = this.x.modelValue\r\n this.baseFocus(e)\r\n },\r\n onkeyup() {\r\n this.showDrop = true\r\n },\r\n onclose() {\r\n this.showDrop = false\r\n this.currentDate = null\r\n this.doAutoFix()\r\n },\r\n doAutoFix() {\r\n let v = this.x.modelValue\r\n if (v) {\r\n if (!this.isUsableVal(v)) {\r\n this.x.autoFix && this.val(this.focusValue)\r\n } else {\r\n let re = /\\b(\\d)\\b/g\r\n if (re.test(v)) {\r\n this.val(v.replace(re, '0$1'))\r\n }\r\n }\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 getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let f = this.x.format\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.dateValid(v, f) && $.dateValid(tv, f)) {\r\n let d = $.dateParse(v, f)\r\n let td = $.dateParse(tv, f)\r\n if (!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n let f = this.x.format || ''\r\n let timeCols = 0\r\n if (f.includes('H')) timeCols ++\r\n if (f.includes('m')) timeCols ++\r\n if (f.includes('s')) timeCols ++\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n \r\n if (this.x.showButton) 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', this.dropClass, {'z-hastime': timeCols, 'z-onlytime': onlyTime}],\r\n style: {'--w-datepicker-time-cols': (timeCols || '')},\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 onClose: this.onclose\r\n }, {\r\n default: () => h(Calendar, {\r\n height: '*',\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 enableHour: this.x.enableHour,\r\n enableMinute: this.x.enableMinute,\r\n enableSecond: this.x.enableSecond,\r\n defaultHour: this.x.defaultHour,\r\n defaultMinute: this.x.defaultMinute,\r\n defaultSecond: this.x.defaultSecond,\r\n success: this.calendarCallback,\r\n 'onClick:item': (e, item) => {this.currentDate = item.value},\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 ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) < $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) > $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v, r, q) => {\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({type: 'time_exceed'}, [n, m])\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr({type: 'time_format'}, [$.dateFormat(new Date, this.x.format)]);\r\n }\r\n }\r\n if (this.defaultRuleValue('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'beforeNow'}, [this.x.beforeNow])\r\n if (this.defaultRuleValue('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'afterNow'}, [this.x.afterNow])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile ? {\r\n readonly: true,\r\n } : {\r\n onfocus: this.onfocus,\r\n onkeyup: this.onkeyup,\r\n }\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","import script from \"./DatePicker.vue?vue&type=script&lang=js\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import script from \"./Textarea.vue?vue&type=script&lang=js\"\nexport * from \"./Textarea.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\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 let ov = this.$refs.wScrollOverflow\r\n let x = this.wScrollPercentX\r\n let y = this.wScrollPercentY\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 = ov.scrollLeft\r\n scrTop = ov.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n ov.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * x)\r\n } else {\r\n ov.scrollTop = scrTop + ((mvEv.clientY - dnY) * y)\r\n }\r\n }, (upEv, moved) => {\r\n if (moved)\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView', 'scrollFlex'],\r\n data() {\r\n return {\r\n wScrollPercentX: false,\r\n wScrollPercentY: false,\r\n wScrollSizeX: false,\r\n wScrollSizeY: false,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n isDeactivated: false,\r\n }\r\n },\r\n watch: {\r\n scrollXPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n scrollYPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n wScrollPercentX(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-x', '') : el.removeAttribute('w-scroll-show-x')\r\n }\r\n },\r\n wScrollPercentY(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-y', '') : el.removeAttribute('w-scroll-show-y')\r\n }\r\n }\r\n },\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollPosition() {\r\n //implement\r\n },\r\n onScrollAttributeChange(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 let a = this.ovf()\r\n if (!a) return r && r()\r\n let b = this.$refs.wScrollCont || a\r\n let c = $.bcr(a)\r\n let d = $.bcr(b)\r\n let f = e ? $.bcr(e) : d\r\n let 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 if (y === 'nearest') {\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 } else {\r\n if (f.top < c.top || f.bottom > c.bottom)\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\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 if (x === 'nearest') {\r\n if (f.left < c.left)\r\n l = a.scrollLeft - c.left + f.left\r\n else if (f.right > c.right)\r\n l = a.scrollLeft + f.right - c.right\r\n } else {\r\n if (f.left < c.left || f.right > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\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 && (t != null || l != null)) {\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()\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()\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 onscroll: onScroll.bind(this),\r\n onmouseenter: this.initScroll\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 }))]\r\n ] : (s || (this.$slots.default && this.$slots.default()))\r\n\r\n },\r\n scrollState() {\r\n if ($.br.mobile || !this.$refs.wScrollCont || !this.el()) return\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let x, y;\r\n if (this.x.scrollX) {\r\n let size = cont.width > flow.width && cont.width - flow.width\r\n if (size && size <= 1) size = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (size) {\r\n x = {\r\n size,\r\n percent: flow.width / cont.width\r\n }\r\n }\r\n }\r\n if (this.x.scrollY) {\r\n let size = cont.height > flow.height && cont.height - flow.height\r\n if (size) {\r\n y = {\r\n size,\r\n percent: flow.height / cont.height\r\n }\r\n }\r\n }\r\n return {x, y}\r\n },\r\n initScroll() {\r\n const state = this.scrollState()\r\n if (!state) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const {x, y} = state\r\n if (x) {\r\n let thbX = x.percent * wrap.width\r\n this.$refs.wScrollBarThumbX.style.width = Math.max(20, thbX) + 'px'\r\n this.wScrollSizeX = x.size\r\n this.wScrollPercentX = x.size && (x.size / ((1 - x.percent) * (wrap.width - (thbX < 20 ? 20 - thbX : 0))))\r\n } else {\r\n this.wScrollSizeX = this.wScrollPercentX = false\r\n }\r\n if (y) {\r\n let thbY = y.percent * wrap.height\r\n this.$refs.wScrollBarThumbY.style.height = Math.max(20, thbY) + 'px'\r\n this.wScrollSizeY = y.size\r\n this.wScrollPercentY = y.size && (y.size / ((1 - y.percent) * (wrap.height - (thbY < 20 ? 20 - thbY : 0))))\r\n } else {\r\n this.wScrollSizeY = this.wScrollPercentY = false\r\n }\r\n },\r\n scroll_observe() {\r\n if (this.isDeactivated) return\r\n this.initScroll()\r\n this.$refs.wScrollOverflow && this.$refs.wScrollOverflow.dispatchEvent(new Event('scroll'))\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-flex': this.x.scrollFlex,\r\n }\r\n },\r\n\r\n },\r\n mounted() {\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 this.el() && new MutationObserver(this.onScrollAttributeChange).observe(this.el(), {attributes: true})\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n //router切回来时,让滚动条滚动到切出去之前的位置\r\n if (this.x.scrollY && this.$refs.wScrollBarThumbY) {\r\n this.scrollToY($.number(this.$refs.wScrollBarThumbY.style.transform) * this.wScrollPercentY)\r\n }\r\n if (this.x.scrollX && this.$refs.wScrollBarThumbX) {\r\n this.scrollToX($.number(this.$refs.wScrollBarThumbX.style.transform) * this.wScrollPercentX)\r\n }\r\n\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-flex>.w-scroll-overflow {\r\n display: flex;\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[w-scroll-show-x]>.w-scrollbar-x,\r\n .w-scroll[w-scroll-show-y]>.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 user-select: none;\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 user-select: none;\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 min-width: 20px;\r\n }\r\n\r\n\r\n .w-scrollbar-y>.w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n min-height: 20px;\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>\n","import script from \"./Scroll.vue?vue&type=script&lang=js\"\nexport * from \"./Scroll.vue?vue&type=script&lang=js\"\n\nimport \"./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"","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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"","<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","import script from \"./Video.vue?vue&type=script&lang=js\"\nexport * from \"./Video.vue?vue&type=script&lang=js\"\n\nimport \"./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"\n\nexport default script","<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.inVertical\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, moved) => {\r\n if (moved && 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 inVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.inVertical ? '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","import script from \"./Split.vue?vue&type=script&lang=js\"\nexport * from \"./Split.vue?vue&type=script&lang=js\"\n\nimport \"./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-rate',\r\n mixins: [FormBase],\r\n props: ['allowHalf', 'cancelable', 'sum', 'count', 'text'],\r\n data() {\r\n return {\r\n hoverWrap: false,\r\n hoverIndex: -1,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n sum: 5,\r\n count: 5,\r\n }\r\n },\r\n hoverItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.hoverIndex = i\r\n },\r\n clickItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.x.modelValue = this.x.cancelable && this.x.modelValue == i ? '' : i\r\n },\r\n html_star(i) {\r\n return h(Img, {\r\n class: ['w-rate-star-icon', {'z-hv': this.hoverWrap && i <= this.hoverIndex, 'z-on': !this.hoverWrap && i <= this.x.modelValue}],\r\n src: '.f-i .f-i-star-full', \r\n onMouseenter: e => this.hoverItem(e, i),\r\n onClick: e => this.clickItem(e, i),\r\n disabled: !this.isNormal\r\n })\r\n },\r\n html_input() {\r\n let half = this.x.allowHalf ? .5 : 1\r\n let step = this.x.sum * half / this.x.count \r\n let stars = []\r\n for (let i = step; i <= this.x.sum; i += step / half) {\r\n let icons = [this.html_star(i)]\r\n if (this.x.allowHalf) icons.push(this.html_star(i + step))\r\n stars.push(h('li', {class: 'w-rate-star'}, icons))\r\n }\r\n return [\r\n this.html_input_hidden(),\r\n h('ul', {\r\n class: 'w-rate-wrap',\r\n onMouseenter: e => this.isNormal && (this.hoverWrap = true),\r\n onMouseleave: e => this.isNormal && (this.hoverWrap = false),\r\n },\r\n stars\r\n ),\r\n this.x.text && this.x.modelValue && h('span', {class: 'w-rate-text'}, this.x.text[(this.x.modelValue - step) / half])\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {\r\n 'z-allow-half': this.x.allowHalf\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-rate-wrap {\r\n padding: 0 0 0 10px;\r\n margin: 0;\r\n display: flex;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star:last-child {\r\n margin-right: 0;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star-icon {\r\n position: relative;\r\n overflow: hidden;\r\n align-items: flex-start;\r\n color: #bbb;\r\n }\r\n .w-rate-star-icon:nth-child(2) {\r\n align-items: flex-end;\r\n margin-top: -100%;\r\n margin-left: 50%;\r\n }\r\n .w-rate-star-icon.z-hv,\r\n .w-rate-star-icon.z-on {\r\n color: gold;\r\n }\r\n \r\n .w-rate.z-allow-half .w-rate-star-icon {\r\n width: 50%;\r\n }\r\n \r\n .w-rate-text {\r\n margin-left: 10px;\r\n }\r\n\r\n</style>\r\n","import script from \"./Rate.vue?vue&type=script&lang=js\"\nexport * from \"./Rate.vue?vue&type=script&lang=js\"\n\nimport \"./Rate.vue?vue&type=style&index=0&id=68b4bc40&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h, toRaw, Teleport, defineAsyncComponent} from '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 import TemplateLoading from '../template/TemplateLoading.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n Loading: TemplateLoading\r\n }\r\n \r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n render() {\r\n if (this.p.hidden) return h(Teleport, {to: '#w-dfish-pops'})\r\n let com\r\n let t = this.p.cmd.template\r\n let props = $.lodash.omit(this.p.cmd, 'template')\r\n if (t && typeof t === 'string') {\r\n let sfx = '.vue'\r\n t = t.startsWith('@/') ? t.slice(2) : $.x.templateDir + t\r\n if (!t.endsWith(sfx)) t += sfx\r\n com = defineAsyncComponent({\r\n errorComponent: h(TemplateAlert, {text: `${t} 不存在`, icon: 'error', title: '操作提示'}),\r\n loader: () => import(/* @vite-ignore */`@/${t}`),\r\n })\r\n } else {\r\n com = toRaw(t || templateHooks[this.p.cmd.type])\r\n }\r\n return com && h(com, props)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumn.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumn.vue?vue&type=script&lang=js\"\n\nexport default script","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}","<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","import script from \"./Swiper.vue?vue&type=script&lang=js\"\nexport * from \"./Swiper.vue?vue&type=script&lang=js\"\n\nimport \"./Swiper.vue?vue&type=style&index=0&id=6fe3e638&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"","<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: -2,\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 sortUID: null,\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\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.width) || $.number(c['min-width'])\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 }, [\r\n //h('colgroup', null, cg.map(v => h('col', {style: {width: v.width == '*' ? null : $.unitSize(v.width)}}))),\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 }\r\n</script>\n","import script from \"./TableTHead.vue?vue&type=script&lang=js\"\nexport * from \"./TableTHead.vue?vue&type=script&lang=js\"\n\nexport default script","<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 getRangeError() {\r\n let f = this.forms()\r\n if (f && f.length) {\r\n return f[0].getCompareError(f[0].formVal(), {target: f[1], mode: this.x.mode})\r\n }\r\n },\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 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.z-full > .w-input > .w-formbase:not(.z-fixed) {\r\n flex: 1;\r\n }\r\n .w-range > .w-input > .w-formbase {\r\n height: 100%;\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","import script from \"./Range.vue?vue&type=script&lang=js\"\nexport * from \"./Range.vue?vue&type=script&lang=js\"\n\nimport \"./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\nlet firefox = u.match(/\\bfirefox\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: firefox && parseFloat(firefox[1]),\r\n safari: !chrome && u.indexOf('safari') > 0,\r\n ie: (navigator.appName === 'Microsoft Internet Explorer' || u.indexOf('trident') > 0) && document.documentMode,\r\n compat: {\r\n gap: false\r\n },\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\nif ((r.chrome && r.chrome < 84) || (r.firefox && r.firefox < 63)) {\r\n r.compat.gap = true\r\n}\r\n\r\nexport default r\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', 'showButton'],\r\n mounted() {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n },\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 }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"","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.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 constructor(ctx) {\r\n this.ctx = ctx\r\n }\r\n hasEvent(type) {\r\n let a = _event_handlers(this.ctx, 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, one) {\r\n var k = {\r\n id: uid(this.ctx),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\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) {\r\n return this.addEvent(type, fn, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this.ctx, 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(this.ctx, 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\r\n removeEvent(a, b) {\r\n if (a) {\r\n var d = _event_handlers(this.ctx, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (!b || (d[i].fn === b)) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this.ctx)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this.ctx)];\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 if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = 'none'\r\n }\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 if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = ''\r\n }\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {passive: false});\r\n upCB && upCB(e, dir)\r\n }, true);\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {passive: false})\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","<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","import script from \"./Confirm.vue?vue&type=script&lang=js\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js\"\n\nexport default script","<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: -1\r\n }\r\n },\r\n clickTab(tab) {\r\n this.x.current = tab.getKey()\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n let pos = this.x.position\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props || v.props.key == null) {\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 vertical: pos == 'left' || pos == 'right',\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n clickTab: this.clickTab\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 let pos = this.x.position\r\n return 'f-oh f-flex' + (pos == 'top' || pos == 'bottom' ? '-column' : '') + ' z-pos-' + pos\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n .w-tabs-buttonbar {\r\n position: relative;\r\n background: #f5f5f5;\r\n }\r\n \r\n .w-tabs-buttonbar:after {\r\n content: '';\r\n position: absolute;\r\n background: #ddd;\n }\r\n \r\n .w-tab.z-on {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-bottom-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab {\r\n border-bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-top-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-right-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-left-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab {\r\n border-right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n \r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"\n\nexport default script","<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","import script from \"./Album.vue?vue&type=script&lang=js\"\nexport * from \"./Album.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"","<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","import { render } from \"./TemplateJigsaw.vue?vue&type=template&id=2c16ab31\"\nimport script from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"\nscript.render = render\n\nexport default script","<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","import { render } from \"./MediaUploadItem.vue?vue&type=template&id=07113717\"\nimport script from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport directive from '../directive/index.js'\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 SlidePicker from './SlidePicker.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\nimport Rate from './Rate.vue'\r\n\r\n\r\nconst WIDGET = {\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, SlidePicker,\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, Rate\r\n}\r\n\r\n//每个组件从这里曝露,以便在某些极端情境下,业务可以修改源码\r\n$.WIDGET = WIDGET\r\n\r\n//按Vue要求提供install接口\r\n$.install = (Vue) => {\r\n //注册组件\r\n Object.keys(WIDGET).forEach(k => Vue.component(WIDGET[k].name, WIDGET[k]))\r\n //注册指令\r\n Vue.use(directive)\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-top\"></div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-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 computed,\r\n ref,\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-slidepicker',\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex', 'cover'],\r\n emits: ['update:modelValue', 'change'],\r\n setup(props, context) {\r\n const self = getCurrentInstance().ctx\r\n const root = ref()\r\n const options = ref()\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n\r\n const onmousedown = 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 options.value.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 options.value.style.transform = `translateY(${moveY}px)`\r\n }, (e, moved) => {\r\n if (!moved) {\r\n return onclick(downEv)\r\n }\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 options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform ${s}s ease-out`\r\n }\r\n }, downEv)\r\n }\r\n const onwheel = function(e) {\r\n optY += (e.wheelDelta < 0 ? -1 : 1) * optH\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform .12s ease-out`\r\n }\r\n const onclick = function(e) {\r\n let g = $(e)\r\n if (g.$options.name == 'w-option') {\r\n update(g.$props.value)\r\n focus(true)\r\n }\r\n }\r\n const focus = function(ease) {\r\n if (!root.value || !options.value) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.x.modelValue\r\n let nv = self.x.minValue\r\n let xv = self.x.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.x.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(root.value)\r\n let bcrOpt = $.bcr(options.value)\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 options.value.style.transition = ''\r\n options.value.style.transform = `translateY(${optY}px)`\r\n if (ease) {\r\n options.value.style.transition = `transform .15s ease-out`\r\n }\r\n }\r\n\r\n const update = function(v) {\r\n roll = true\r\n self.x.modelValue = v\r\n }\r\n \r\n const getIndex = function() {\r\n return (startY - optY) / optH\r\n }\r\n \r\n const transEnd = function() {\r\n let ret = self.slots_children()[getIndex()]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n const x_default = function() {\r\n return {\r\n optionHeight: 32,\r\n cover: true\r\n }\r\n }\r\n\r\n const html_props = computed(() => {\r\n return {\r\n style: {\r\n '--w-option-height': $.unitSize(self.x.optionHeight)\r\n },\r\n ...($.br.mobile ? {\r\n ontouchstart: onmousedown\r\n } : {\r\n onmousedown,\r\n onwheel,\r\n })\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n watch(() => self.x.modelValue, v => {\r\n context.emit('update:modelValue', v)\r\n context.emit('change', v)\r\n })\r\n watch(() => self.x.minValue, focus)\r\n watch(() => self.x.maxValue, focus)\r\n new ResizeObserver(() => {\r\n if (options.value) {\r\n focus()\r\n transEnd()\r\n }\r\n }).observe(options.value)\r\n options.value.addEventListener('transitionend', transEnd)\r\n })\r\n\r\n return {\r\n root,\r\n options,\r\n x_default,\r\n onmousedown,\r\n onwheel,\r\n html_props,\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-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-slidepicker-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-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n /* pointer-events: none; */\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=2b33e34a\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, 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', 'expanded', 'expandedIcon', 'collapsedIcon', 'icon', 'boxSync', 'src', 'disabled'],\r\n inject: ['providePubParent', 'provideLevel', 'provideParentLeaf', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLevel: this.provideLevel + 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.getInitLoaded()\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n let chd = (this.x || this.$props).children\r\n if (chd === true || (Array.isArray(chd) && chd.length)) return true\r\n },\r\n childrenList() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || !this.getSrc() ? true : false\r\n },\r\n isExpanded() {\r\n return this.provideParentTR ? this.provideParentTR.isExpanded() : this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : !!(this.getSrc() && !this.loaded)\r\n },\r\n toggle(exp, fn) {\r\n (this.provideParentTR || this).setExpanded(exp)\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(fn)\r\n } else {\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n onclick(e) {\r\n if (this.x.disabled) {\r\n if (!this.$refs.toggle || !this.$refs.toggle.contains(e.target))\r\n e.stopPropagation()\r\n return\r\n }\r\n if (this.boxProxy && this.x.boxSync) {\r\n this.boxProxy.check(!this.boxProxy.isChecked)\r\n this.triple()\r\n }\r\n },\r\n // triplebox 级联勾选\r\n triple() {\r\n if (!this.boxProxy || this.boxProxy.$options.name !== 'w-triplebox') return\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.childrenList()\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.childrenList().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 expandToView() {\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 html_self() {\r\n let exp = this.isExpanded()\r\n let ico = this.isFolder() ? (exp ? this.x.expandedIcon : this.x.collapsedIcon) : this.x.icon\r\n return h('div', mergeProps(this.html_attrs, this.html_props, this.$attrs), [\r\n this.loading ?\r\n h(Img, {\r\n src: '#f-svg-loading',\r\n class: 'w-leaf-loading'\r\n }) :\r\n h('div', {\r\n ref: 'toggle',\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'\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text 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 html_cont() {\r\n let r\r\n let chd = this.x.children\r\n let tree = this.pubParent\r\n if (Array.isArray(chd) && tree) {\r\n r = chd.map(item => tree.$slots.default({item}))\r\n }\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 }, r)\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 level() {\r\n return this.provideParentTR ? this.provideParentTR.level : this.provideLevel + 1\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let exp = this.isExpanded()\r\n let fd = this.isFolder()\r\n let ds = this.x.disabled\r\n let prop = {\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': ds,\r\n 'z-folder': fd,\r\n 'z-expanded': fd && exp,\r\n 'z-collapse': fd && !exp\r\n },\r\n style: 'padding-left:' + $.unitSize(this.level * 16),\r\n }\r\n if (this.pubParent) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n prop[`onClick${ds?'Capture':''}`] = this.onclick\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) this.pubParent.viewCurrent(this)\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 width: 100%;\r\n text-align: left;\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 opacity: #777;\r\n }\r\n \r\n .w-leaf.z-on .w-leaf-toggle,\r\n .w-leaf.z-on .f-svg {\r\n color: currentcolor;\r\n fill: currentcolor;\r\n }\r\n\r\n .w-leaf-loading {\r\n width: 20px;\r\n margin-left: 1px;\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 .w-leaf .w-checkbox, \r\n .w-leaf .w-radio {\r\n margin-right: 6px;\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 \r\n .w-leaf.z-ds {\r\n color: #999;\r\n }\r\n \r\n</style>\n","import script from \"./Leaf.vue?vue&type=script&lang=js\"\nexport * from \"./Leaf.vue?vue&type=script&lang=js\"\n\nimport \"./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"\n\nexport default script","<template>\r\n <w-vertical v-bind=\"html_binds\" :class=\"['f-rel', 'w-calendar-' + this.x.face]\">\r\n <w-vertical class=\"w-calendar-main\" v-if=\"!onlyTime\">\r\n <w-horizontal :class=\"['w-calendar-head', {'f-h-gap': dfish.br.compat.gap}]\" valign=\"middle\" align=\"center\">\r\n <i class=\"w-calendar-head-prev-year f-i f-i-angle-double-left f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(-12)\"></i>\r\n <i class=\"w-calendar-head-prev f-i f-i-angle-single-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal :class=\"['w-calendar-head-pop', {'f-h-gap': dfish.br.compat.gap}]\">\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\"\r\n :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=\"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-angle-single-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <i class=\"w-calendar-head-next-year f-i f-i-angle-double-right f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(12)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"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\" :title=\"item.title\"\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-vertical>\r\n <w-horizontal v-if=\"hasTime\" class=\"w-calendar-time\">\r\n <w-vertical v-if=\"focusHour!==false\" class=\"w-calendar-time-col w-calendar-time-hour\" 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 bodyListHour\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isHourDisabled(h)\" @click=\"clickHour($event,h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!==false\" class=\"w-calendar-time-col w-calendar-time-minute\" 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 bodyListMinute\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isMinuteDisabled(m)\" @click=\"clickMinute($event,m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!==false\" class=\"w-calendar-time-col w-calendar-time-second\" 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 bodyListSecond\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isSecondDisabled(s)\" @click=\"clickSecond($event,s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" :class=\"['w-calendar-foot', {'f-h-gap': dfish.br.compat.gap}]\" align=\"between\"\r\n valign=\"middle\">\r\n <div class=\"w-calendar-button-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n <div class=\"w-calendar-button-confirm 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', 'cg', 'start',\r\n 'enableHour', 'enableMinute', 'enableSecond', 'defaultHour', 'defaultMinute', 'defaultSecond'\r\n ],\r\n data() {\r\n let dt = this.value2date()\r\n return {\r\n dt,\r\n currentDate: null,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = this.value2date()\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', nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', 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 value2date() {\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 || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (!dt || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n if (!this.value) this.setDefaultTime(dt)\r\n return dt\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n setDefaultTime(d) {\r\n let dh = this.defaultHour == null ? d.getHours() : parseFloat(this.defaultHour)\r\n if (this.enableHour) {\r\n let eh = $.arrayNumber(this.enableHour)\r\n if (!eh.includes(dh)) dh = eh[0]\r\n }\r\n d.setHours(dh)\r\n let dm = this.defaultMinute == null ? d.getMinutes() : parseFloat(this.defaultMinute)\r\n if (this.enableMinute) {\r\n let em = $.arrayNumber(this.enableMinute)\r\n if (!em.includes(dm)) dm = em[0]\r\n }\r\n d.setMinutes(dm)\r\n let ds = this.defaultSecond == null ? d.getSeconds() : parseFloat(this.defaultSecond)\r\n if (this.enableSecond) {\r\n let es = $.arrayNumber(this.enableSecond)\r\n if (!es.includes(ds)) ds = es[0]\r\n }\r\n d.setSeconds(ds)\r\n return d\r\n },\r\n fixDate(d) {\r\n if (this.beginDate && d < this.beginDate) d = this.beginDate\r\n if (this.endDate && d > this.endDate) d = this.endDate\r\n return this.setDefaultTime(new Date(d.getTime()))\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 } else if (this.x.face == 'week') {\r\n d = $.dateAdd(d, 'y', 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 clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = this.fixDate(item.date)\r\n }\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n if (!this.hasTime)\r\n this.callback(item.value)\r\n },\r\n clickNow() {\r\n this.callback(this.fixDate(new Date()))\r\n },\r\n clickConfirm(s) {\r\n let d = this.dt\r\n let f = this.focusDate\r\n this.callback(this.fixDate(new Date(f.getFullYear(), f.getMonth(), f.getDate(), d.getHours(), d.getMinutes(), d.getSeconds())))\r\n },\r\n callback(v) {\r\n if (typeof v === 'object') {\r\n v = this.fm(v)\r\n }\r\n this.x.success && this.x.success(v)\r\n },\r\n clickHour(e, v) {\r\n this.dt.setHours(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.hour.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickMinute(e, v) {\r\n this.dt.setMinutes(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.minute.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickSecond(e, v) {\r\n this.dt.setSeconds(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.second.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n fm(a) {\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isHourDisabled(v) {\r\n let n = this.minHour\r\n let m = this.maxHour\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isMinuteDisabled(v) {\r\n let n = this.minMinute\r\n let m = this.maxMinute\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isSecondDisabled(v) {\r\n let n = this.minSecond\r\n let m = this.maxSecond\r\n return (n && n > v) || (m && m < v)\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 /[Hms]/.test(this.formatter)\r\n },\r\n onlyTime() {\r\n return this.hasTime && !/[yMd]/.test(this.formatter)\r\n },\r\n focusValue() {\r\n let d = this.focusDate\r\n return d && this.fm(d)\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n if (c) {\r\n return $.dateParse(c, this.x.format)\r\n } else if (!this.x.value && this.x.success) {\r\n return this.x.format && this.dt\r\n }\r\n },\r\n beginDate() {\r\n return this.x.minValue && $.dateParse(this.x.minValue, this.formatter)\r\n },\r\n endDate() {\r\n return this.x.maxValue && $.dateParse(this.x.maxValue, this.formatter)\r\n },\r\n focusHour() {\r\n return this.x.format.includes('H') && this.dt.getHours()\r\n },\r\n focusMinute() {\r\n return this.x.format.includes('m') && this.dt.getMinutes()\r\n },\r\n focusSecond() {\r\n return this.x.format.includes('s') && this.dt.getSeconds()\r\n },\r\n minHour() {\r\n if (this.beginDate) {\r\n let d = this.beginDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n maxHour() {\r\n if (this.endDate) {\r\n let d = this.endDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n minMinute() {\r\n if (this.minHour === this.dt.getHours()) {\r\n return this.beginDate.getMinutes()\r\n }\r\n },\r\n maxMinute() {\r\n if (this.maxHour === this.dt.getHours()) {\r\n return this.endDate.getMinutes()\r\n }\r\n },\r\n minSecond() {\r\n if (this.minMinute === this.dt.getMinutes()) {\r\n return this.beginDate.getSeconds()\r\n }\r\n },\r\n maxSecond() {\r\n if (this.maxMinute === this.dt.getMinutes()) {\r\n return this.endDate.getSeconds()\r\n }\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 :\r\n this.x.face === 'week' ? this.bodyListWeek : this.bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\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.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\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 bodyListWeek() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let w = $.dateWeek(this.dt)\r\n let y = w[0]\r\n let b = $.dateWeekLast(y)\r\n let c = $.dateWeekFirst(y)\r\n let d = c[2]\r\n for (let i = 1, l = b[1]; i <= l; i++) {\r\n let v = this.fm(d)\r\n let g = {\r\n text: i,\r\n value: y + '-' + $.strPad(i),\r\n date: new Date(d.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v,\r\n title: $.loc.ps($.loc.calendar.from_to, $.dateFormat(d, 'yyyy-MM-dd'), $.dateFormat($.dateAdd(d, 'd', 6),\r\n 'yyyy-MM-dd'))\r\n }\r\n d.setDate(d.getDate() + 7)\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 f = this.focusValue\r\n let fd = f && $.dateFormat($.dateParse(f, this.x.format), 'yyyy-MM-dd')\r\n let fn = this.beginDate && $.dateFormat(this.beginDate, 'yyyy-MM-dd')\r\n let fm = this.endDate && $.dateFormat(this.endDate, 'yyyy-MM-dd')\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 fv = $.dateFormat(b, 'yyyy-MM-dd')\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: (fn && fn > fv) || (fm && fm < fv) ? true : false,\r\n focus: fd === fv,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n },\r\n bodyListHour() {\r\n return this.enableHour ? $.arrayNumber(this.enableHour) : Array.from(Array(24).keys())\r\n },\r\n bodyListMinute() {\r\n return this.enableMinute ? $.arrayNumber(this.enableMinute) : Array.from(Array(60).keys())\r\n },\r\n bodyListSecond() {\r\n return this.enableSecond ? $.arrayNumber(this.enableSecond) : Array.from(Array(60).keys())\r\n },\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog {\r\n line-height: 1.5;\r\n --w-datepicker-dialog-width: 260px;\r\n --w-datepicker-dialog-time-width: 66px;\r\n width: calc(var(--w-datepicker-dialog-width) + calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0)));\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime {\r\n --w-datepicker-dialog-width: 2px;\r\n --w-datepicker-dialog-time-height: 254px;\r\n }\r\n\r\n .w-calendar-dialog.z-hastime .w-calendar-head,\r\n .w-calendar-dialog.z-hastime .w-calendar-body {\r\n box-sizing: border-box;\r\n width: calc(var(--w-datepicker-dialog-width) - 2px);\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-head {\r\n box-sizing: border-box;\r\n width: var(--w-datepicker-dialog-width);\r\n }\r\n\r\n .w-calendar-dialog .w-calendar-body {\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 5px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-pop {\r\n padding: 0 10px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-blank {\r\n display: none;\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 .w-calendar-week .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .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-item:not(.z-ds):not(.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 position: relative;\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n position: static;\r\n height: var(--w-datepicker-dialog-time-height);\r\n }\r\n\r\n .w-calendar-time {\r\n position: absolute;\r\n top: 0;\r\n bottom: 35px;\r\n right: 0;\r\n width: calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0));\r\n border-left: 1px solid #ddd;\r\n }\r\n \r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n border-left: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-time-th {\r\n line-height: 36px;\r\n border-bottom: 1px solid #ddd;\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-light-color);\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\r\n .w-calendar-head .f-i {\r\n font-size: 20px;\r\n color: #aaa;\r\n }\r\n\r\n .w-calendar-head .f-i:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-calendar-time-body .w-scroll-cont {\r\n padding: 94px 0;\r\n }\r\n \r\n .w-calendar-time-body .w-button.z-ds {\r\n background: #fff;\r\n color: #aaa;\r\n }\r\n \r\n .w-calendar-button-now,\r\n .w-calendar-button-confirm {\r\n padding: 2px 10px;\r\n cursor: pointer;\r\n }\r\n</style>\n","import { render } from \"./Calendar.vue?vue&type=template&id=7eea1be2\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js\"\n\nimport \"./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","import script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\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': 'tb',\r\n '-r': 'rl',\r\n '-b': 'bt',\r\n '-l': 'lr',\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 maxHeight: 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 f = this.x.position || false\r\n let c = this.x.local\r\n let d = this.x.snap || O\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 let layTop = 0\r\n let layBottom = 0\r\n if (f == 'c') f = null\r\n if (typeof f === 'string') { // 八方位浮动的起始位置\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 let lp = $.q(`.w-dialog-ani-position-${f}:not([id=\"${this.uid}\"]):last`)[0]\r\n if (lp && r.type != 'rl' && r.type != 'lr') {\r\n let lc = lp.getBoundingClientRect()\r\n if (r.pix_b) layBottom = r.mag_t ? -(lc.bottom + 5) : (document.documentElement.clientHeight - lc.top + 5)\r\n else layTop = r.mag_b ? -(document.documentElement.clientHeight - lc.top + 5) : lc.bottom + 5\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 && -9), 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 let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right\r\n } else {\r\n s.left = r.left\r\n }\r\n if (r.pix_b) {\r\n s.pix_b = true\r\n s.bottom = r.bottom + layBottom\r\n } else {\r\n s.top = r.top + layTop\r\n }\r\n s.type = r.type\r\n } else {\r\n s = r\r\n }\r\n this.snapStyle = s\r\n // 八方位浮动效果\r\n if (f) {\r\n if (typeof f === 'string')\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n } else {\r\n //this.animateClass = 'f-animated f-ani-dropIn'\r\n }\r\n this.snapCls()\r\n },\r\n setPosition(s) {\r\n this.x.position = s\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 let f = this.x.position\r\n if (f && typeof f === 'string' && this.el()) { // 当前窗口关闭后,有相同position的dialog依次移动补空位\r\n let ps = $.q(`~.w-dialog-ani-position-${f}`, this.el())\r\n let indent = this.el().offsetHeight + 5\r\n ps.each((i, el) => {\r\n el.classList.add(`w-dialog-ani-indent`)\r\n let s = $(el).snapStyle\r\n let t = s.type.charAt(0)\r\n if (s.top != null) {\r\n s.top += (t == 1 || t == 2 ? -1 : 1) * indent\r\n } else if (s.bottom != null) {\r\n s.bottom += (t == 3 || t == 4 ? -1 : 1) * indent\r\n }\r\n setTimeout(() => el.classList.remove(`w-dialog-ani-indent`), 200)\r\n })\r\n }\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.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 prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\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, {to}, cover) : cover) : [],\r\n // 套一层w-dialog-teleport的原因是为了让对话框里面的 $(this) 能正确返回\r\n to ? h('div', {class: 'w-dialog-teleport', id: this.uid + 'teleport'}, h(Teleport, {to}, 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 if (this.x.fullScreen) {\r\n return {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n }\r\n } else {\r\n let f = this.x.position\r\n let n = this.snapStyle\r\n let s = {}\r\n if (f && typeof f === 'object') {\r\n $.extend(s, f)\r\n if (n) {\r\n if (s.top == null && s.bottom == null) $.extend(s, $.lodash.pick(n, 'top', 'bottom'))\r\n if (s.left == null && s.right == null) $.extend(s, $.lodash.pick(n, 'left', 'right'))\r\n }\r\n } else {\r\n if (n) $.extend(s, n)\r\n }\r\n for (let k in s) {\r\n s[k] = $.unitSize(s[k])\r\n }\r\n if (this.maxHeight) {\r\n s.maxHeight = $.unitSize(this.maxHeight)\r\n }\r\n return s\r\n }\r\n }\r\n },\r\n mounted() {\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 && typeof this.x.position === 'string') {\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 unmounted() {\r\n if (!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-teleport {\r\n display: none;\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\r\n .w-dialog-ani-indent {\r\n transition: top var(--w-dialog-ani-duration), bottom var(--w-dialog-ani-duration);\r\n }\r\n \r\n .w-dialog-move-helper {\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","import script from \"./Dialog.vue?vue&type=script&lang=js\"\nexport * from \"./Dialog.vue?vue&type=script&lang=js\"\n\nimport \"./Dialog.vue?vue&type=style&index=0&id=ac8e27c2&lang=css\"\n\nexport default script","<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 AlignParent from './AlignParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['collapsedIcon', 'expandedIcon', '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',\r\n }), h('div', {class: 'w-toggle-main'}, this.$slots.default())]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n let exp = this.x.expanded\r\n return {\r\n class: ['w-horizontal f-pointer',\r\n {\r\n 'z-expanded': exp,\r\n 'z-collapse': !exp,\r\n },\r\n this.html_align_class],\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","import script from \"./Toggle.vue?vue&type=script&lang=js\"\nexport * from \"./Toggle.vue?vue&type=script&lang=js\"\n\nimport \"./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"\n\nexport default script","<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=\"typeIcon\"></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', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"/>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"/>\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 \r\n export default {\r\n mixins: [TemplateAlert],\r\n data() {\r\n return {\r\n defaultIconType: 'question'\r\n }\r\n },\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","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=2a9563f5\"\nimport script from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<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-slidepicker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\"\r\n :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\"\r\n :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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\"\r\n :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-slidepicker>\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-slidepicker 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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\"\r\n :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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\"\r\n :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-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasWeek\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">周</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusWeek\" :min-value=\"minWeek\" :max-value=\"maxWeek\" :keep-index=\"true\">\r\n <w-option v-for=\"w in weekList\" :key=\"w.value\" :value=\"w.value\" :text=\"w.text\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\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 let focusYear = d.getFullYear()\r\n let focusWeek, weekFirst, weekLast\r\n if (f.includes('w')) {\r\n focusWeek = $.dateWeek(d)[1]\r\n weekFirst = $.dateWeekFirst(focusYear)\r\n weekLast = $.dateWeekLast(focusYear)\r\n }\r\n return {\r\n focusYear,\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 focusWeek,\r\n weekFirst,\r\n weekLast,\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 if (this.hasWeek) {\r\n this.weekFirst = $.dateWeekFirst(y)\r\n this.weekLast = $.dateWeekLast(y)\r\n }\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 weekText(w) {\r\n \r\n },\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = this.hasWeek ? $.dateParse(`${this.focusYear}-${this.focusWeek}`, 'yyyy-ww') :\r\n new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this.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 weekList() {\r\n let d = this.weekFirst[2]\r\n return Array.from(Array(this.weekLast[1])).map((v, i) => {\r\n let startDate = d\r\n let endDate = $.dateAdd(d, 'd', 6)\r\n d = $.dateAdd(d, 'd', 7)\r\n return {\r\n value: i + 1,\r\n text: `${$.strPad(i + 1)} (${$.dateFormat(startDate, 'MM.dd')} - ${$.dateFormat(endDate, 'MM.dd')})`,\r\n }\r\n })\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 hasWeek() {\r\n return this.format.includes('w')\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 ==\r\n 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 ==\r\n 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 ==\r\n 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 ==\r\n 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 ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this\r\n .minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this\r\n .maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!\r\n 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 ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!\r\n this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n minWeek() {\r\n\r\n },\r\n maxWeek() {\r\n\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>\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=e271d2a6\"\nimport script from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n } from 'vue'\r\n\r\n const bindCache = {}\r\n\r\n export default {\r\n props: ['data', 'width', 'height', 'colspan', 'rowspan', 'ownproperty', 'orientUid'],\r\n data() {\r\n return {\r\n isWidget: true,\r\n uid: this.orientUid || $.uid(),\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n created() {\r\n $.vueMap.set(this.uid, this)\r\n let dftX = this.getDefaultProp()\r\n let cuid = $.config_uid\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n if (prop in obj) return obj[prop]\r\n if (this.$props[prop] !== undefined) return this.$props[prop]\r\n if (cuid != $.config_uid) {\r\n cuid = $.config_uid\r\n dftX = this.getDefaultProp()\r\n }\r\n return 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 unmounted() {\r\n $.vueMap.delete(this.uid)\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n getDefaultProp() {\r\n let dftopt\r\n if (!this.ownproperty) {\r\n let b = this.$options.name\r\n dftopt = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (this.$attrs.class ? ' ' + this.$attrs.class : '')\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 && (dftopt = $.extendDeep(z, dftopt))\r\n }\r\n }\r\n return {\r\n ...this.x_default(),\r\n ...dftopt,\r\n }\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 let f = this.getOn(type)\r\n if (f) {\r\n if (typeof ev === 'string') {\r\n ev = {type, uid: this.uid}\r\n }\r\n if (Array.isArray(f)) f.forEach(n => n(ev, ...args))\r\n else f(ev, ...args)\r\n }\r\n this.events && this.events.fireEvent(type)\r\n },\r\n addEvent(type, fn, once) {\r\n if (!this.events) this.events = new $.EventListener(this)\r\n this.events.addEvent(type, fn, 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) {\r\n this.events && this.events.removeEvent(type, fn)\r\n },\r\n getOn(type) {\r\n let n = 'on' + type.charAt(0).toUpperCase() + type.slice(1)\r\n return (this.$.vnode.props && this.$.vnode.props[n]) || this.x[n]\r\n },\r\n getKey() {\r\n return this.$.vnode.key\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 query(sel) {\r\n if (this.el()) {\r\n let o = $.q(sel, this.el())[0]\r\n return o && $(o)\r\n }\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 createEvent(name, data) {\r\n let e = new CustomEvent(name)\r\n e.value = data\r\n e.uid = this.uid\r\n return e\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n scrollIntoView(opt = false) {\r\n const next = (dir, fn) => {\r\n let c = 'scroll' + dir.toUpperCase()\r\n let t = this.closest(p => p.x && p.x[c] && (p.scrollState() || false)[dir])\r\n if (t) {\r\n t.scrollTo(this, opt.y || 'auto', opt.x || 'auto', opt.ease == null ? 200 : opt.ease, opt.divide, fn)\r\n } else\r\n fn && fn()\r\n }\r\n next('y', () => next('x', opt.success))\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 slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\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 slot(name = 'default') {\r\n return this.$slots[name] ? this.$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 ownerView() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class],\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],\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\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.html()\r\n }\r\n }\r\n</script>\n","import script from \"./WidgetAbs.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetAbs.vue?vue&type=script&lang=js\"\n\nexport default script","<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', 'expanded'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLevel', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentTR: this,\r\n provideLevel: this.provideLevel + 1,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isDisplay() {\r\n if (!this.provideParentTR) return true\r\n let p = this\r\n while (p = p.provideParentTR) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n let leaf = this.query('.w-leaf')\r\n if (leaf) {\r\n leaf.toggle(exp, fn)\r\n } else {\r\n this.setExpanded(exp)\r\n fn && this.$nextTick(fn)\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 },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n level() {\r\n return this.provideLevel + 1\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 'z-expanded': this.isExpanded(),\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","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"","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 {string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast} 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 || o.isWidget) return o\r\n if (typeof o === 'string' || o.uid) return $.vueMap.get(o.uid || o)\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 ($.vueMap.has(o.id)) return $.vueMap.get(o.id)\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueMap.has(d)) return $.vueMap.get(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 vueMap: new Map(),\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 string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast,\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) && c[k] !== undefined) 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 -> concat?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? (b ? a.concat() : a) : a == null || a === '' ? [] : typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n// 把数组内的文本转为数字\r\n$.arrayNumber = function(a) {\r\n return $.array(a).map(v => parseFloat(v))\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size, allowMinus) => size == null || size === '' ? '' : size === '*' ? '' : (size == -1 && !allowMinus)|| size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = string(s)\r\n n = string(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 = string(s)\r\n n = string(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 = string(s)\r\n n = string(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 ($.vueMap.has(a)) {\r\n a = $.vueMap.get(a)\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\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 let d = $.dialog(a)\r\n d && d.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\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// @fn(得到0-1的参数), ms -> milliseconds, count -> 帧数\r\n$.ease = function(fn, ms, count) {\n\tfn(0)\n\tif (ms == null)\n\t\tms = 200\n\tif (count == null)\n\t\tcount = Math.ceil(ms / 10)\n\tlet p = Math.ceil(ms / count)\n\tlet\tcr = 0\n\tlet d1 = new Date().getTime()\n\tlet it = setInterval(function() {\n\t\t\tlet d2 = new Date().getTime()\n\t\t\tlet ri = d2 - d1\n\t\t\tlet st = Math.floor(ri / p)\n\t\t\tif (cr != st) {\n\t\t\t\tif (st < count) {\n\t\t\t\t\tfn((- Math.cos((st / count) * Math.PI) / 2) + 0.5)\n\t\t\t\t} else {\n\t\t\t\t\tclearInterval(it)\n\t\t\t\t\tfn(1)\n\t\t\t\t}\n\t\t\t\tcr = st\n\t\t\t}\n\t\t}, Math.max(p - 10, 5))\n\treturn it\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});\r\n const printf = function() {\r\n \tlet w = window.frames.wPrintFrame;\r\n \tif (!w) {\r\n \t\t$.q('<div class=f-none><iframe name=wPrintFrame></iframe></div>').appendTo(document.body);\r\n \t\tw = window.frames.wPrintFrame;\r\n \t}\r\n \treturn w;\r\n }\r\n w = y.print !== false ? printf() : 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 = 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 return submit()\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context = 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(typeof text === 'object' ? {type: 'Alert', title: '操作提示', ...text} : {\r\n type: 'Alert', title: '操作提示', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Confirm', title: '操作提示', ...text} : {\r\n type: 'Confirm', title: '操作提示', 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 $.config_uid = uid() //读取默认配置的地方有缓存,根据这个uid来判断是否刷新缓存\r\n $.mergeDeep($.x, opt)\r\n if (opt.http) {\r\n $.mergeDeep(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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"","<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, moved) => {\r\n if (moved) 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 onClose: () => this.dropper = null\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr({type: '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","import script from \"./Jigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./Jigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"\n\nexport default script","<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","import script from \"./RadioGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RadioGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<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 computed: {\r\n dir() {\r\n return 'v'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","import script from \"./Vertical.vue?vue&type=script&lang=js\"\nexport * from \"./Vertical.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"","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}","<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","import script from \"./SwiperItem.vue?vue&type=script&lang=js\"\nexport * from \"./SwiperItem.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import script from \"./WidgetBase.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetBase.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import script from \"./Progress.vue?vue&type=script&lang=js\"\nexport * from \"./Progress.vue?vue&type=script&lang=js\"\n\nimport \"./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"\n\nexport default script","<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'],\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.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 .15s 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 min-width: 10px;\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 transform: translateX(calc(-100% - 1px));\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 script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=a7ad2c26&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"","<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', 'disabled'],\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 = 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 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 let w = $.unitSize(this.x.imgWidth ? this.x.imgWidth : this.x.width)\r\n let h = $.unitSize(this.x.imgHeight ? this.x.imgHeight : this.x.height)\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n [`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap,\r\n },\r\n style: {\r\n '--w-img-icon-width': w,\r\n '--w-img-icon-height': h,\r\n },\r\n onmouseenter: e => !this.x.disabled && (this.hover = true),\r\n onmouseleave: e => !this.x.disabled && (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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n --w-compat-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: var(--w-img-icon-width, 100%);\r\n height: var(--w-img-icon-height);\r\n }\r\n \r\n .w-img .f-svg {\r\n width: var(--w-img-icon-width, 18px);\r\n height: var(--w-img-icon-height, 18px) ;\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","import script from \"./Img.vue?vue&type=script&lang=js\"\nexport * from \"./Img.vue?vue&type=script&lang=js\"\n\nimport \"./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"\n\nexport default script","<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 'grid-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-td > .w-formbase {\r\n border-right: 0;\r\n border-bottom: 0;\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","import script from \"./Grid.vue?vue&type=script&lang=js\"\nexport * from \"./Grid.vue?vue&type=script&lang=js\"\n\nimport \"./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"\n\nexport default script","<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, {item})\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', {'f-h-gap': $.br.compat.gap}]\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\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 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","import script from \"./MediaUpload.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUpload.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"\n\nexport default script","<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 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","import script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\n\nimport \"./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"\n\nexport default script","<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: ['modelValue', 'required', 'vertical', 'gap', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.x.vertical ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return this.x.gap && {\r\n '--w-boxgroup-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<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', 'showButton', 'step', 'autoFix', 'compare', 'minValue', 'maxValue'],\r\n mounted() {\r\n this.x.format && this.doFormat()\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 140\r\n }\r\n },\r\n doFormat() {\r\n let v = '' + this.x.modelValue\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 this.$nextTick(() => $.rngCursor(this.$refs.v, n + (b.length - a.length)))\r\n }\r\n }\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.defaultRuleValue('maxValue')\r\n let n = this.defaultRuleValue('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 }\r\n this.x.format && this.doFormat()\r\n },\r\n isUsableVal(v) {\r\n return !this.getValidError(null, v)\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.isNumber(v) && $.isNumber(tv)) {\r\n let d = $.number(v)\r\n let td = $.number(tv)\r\n if(!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n this.x.format && this.doFormat()\r\n },\r\n onfocus(e) {\r\n this.baseFocus(e)\r\n },\r\n onblur(e) {\r\n let v = this.x.modelValue\r\n if (v && !this.isUsableVal(v) && this.x.autoFix) {\r\n let nv = $.numDecimal(v, this.x.decimal)\r\n nv = $.numRange(nv, this.x.minValue, this.x.maxValue)\r\n this.val(nv)\r\n }\r\n this.baseBlur(e)\r\n },\r\n html_button() {\r\n return this.x.showButton && 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 ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) < $.number(r)) : (v < r)))\r\n return this.formErr(q, [r])\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) > $.number(r)) : (v > r)))\r\n return this.formErr(q, [r])\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v != null) {\r\n if (!$.isNumber(v))\r\n return this.formErr({type: 'number_invalid'})\r\n let d = this.x.decimal\r\n v = '' + v\r\n if (!d && v.includes('.'))\r\n return this.formErr({type: 'number_integer'})\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr({type: 'number_decimal_digit'}, [d])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number',\r\n oninput: this.oninput,\r\n onfocus: this.onfocus,\r\n onblur: this.onblur,\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","import script from \"./Spinner.vue?vue&type=script&lang=js\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js\"\n\nimport \"./Spinner.vue?vue&type=style&index=0&id=c558dc86&lang=css\"\n\nexport default script","<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 created() {\r\n this.$watch(() => this.x.modelValue, (v, ov) => {\r\n if ((v == null || v == '') && (ov == null || ov == '')) return\r\n this.provideBoxParent && this.provideBoxParent.triple()\r\n if (!this.x.all) this.relate()\r\n })\r\n },\r\n methods: {\r\n getVal() {\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.value : ''\r\n },\r\n formVal() {\r\n if (this.isDisabled) return ''\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.$refs.v.value : ''\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n this.relate()\r\n },\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.val(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 let s = this.checkstate()\r\n if (s != a) {\r\n this.checkstate(a)\r\n this.relate()\r\n }\r\n },\r\n },\r\n computed: {\r\n checkValue() {\r\n return this.x.all ? 'checked' : this.x.value\r\n }\r\n },\r\n mounted() {\r\n //if (!this.x.all && this.isChecked)\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TripleBox.vue?vue&type=script&lang=js\"\nexport * from \"./TripleBox.vue?vue&type=script&lang=js\"\n\nexport default script","<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.w_name && (this.w_name + '@' + this.ownerView.uid)\r\n },\r\n w_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_prop() {\r\n return {'w-name': this.w_name}\r\n }\r\n },\r\n mounted() {\r\n\r\n\r\n }\r\n }\r\n</script>\n","import script from \"./Radio.vue?vue&type=script&lang=js\"\nexport * from \"./Radio.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"","<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 computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minLength: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && $.strLen(v) < r)\r\n return this.formErr(q, [r])\r\n },\r\n maxLength: (v, r, q) => {\r\n let d\r\n if (v && r != null && r !== '' && r > 0 && v && (d = $.strLen(v)) > r)\r\n return this.formErr(q, [d - r])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Text.vue?vue&type=script&lang=js\"\nexport * from \"./Text.vue?vue&type=script&lang=js\"\n\nexport default script","// 实现指令 v-form-ignore=\"true\"\r\n// 不提交不验证当前范围内的表单\r\n\r\nfunction formIgnore(el, bind) {\r\n bind.value ? el.setAttribute('w-form-ignore', '') : el.removeAttribute('w-form-ignore')\r\n}\r\n\r\nexport default {\r\n created: formIgnore,\r\n updated: formIgnore,\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Calendar.vue?vue&type=style&index=0&id=7eea1be2&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"","<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: $.lodash.get(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","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=43a1c69b\"\nimport script from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nexport * from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"","<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-dropbox',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\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 = !this.showDrop\r\n this.warn(false)\r\n }\r\n },\r\n clickOption(opt) {\r\n if (this.x.multiple) {\r\n let cv = $.array(this.val(), true)\r\n if (opt.isFocus) $.lodash.pull(cv, opt.value)\r\n else cv.push(opt.value)\r\n this.val(cv)\r\n } else {\r\n let cv = this.x.cancelable && opt.isFocus ? '' : opt.value\r\n this.val(cv)\r\n this.showDrop = 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 onClose: () => this.showDrop = false\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 = $.array(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","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [WidgetBase],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n provide() {\r\n return {\r\n table: this,\r\n provideLevel: -1,\r\n provideParentTR: null,\r\n }\r\n },\r\n data() {\r\n return {\r\n sticky: {left: null, right: null},\r\n }\r\n },\r\n mounted() {\r\n const observe = (e) => this.initFixedCells('left').concat(this.initFixedCells('right'))\r\n $.lodash.each(observe(), v => new ResizeObserver(observe).observe(v))\r\n this.$el.setAttribute('w-scroll-x', 'left')\r\n if ($.br.chrome && $.br.chrome <= 60) { //低版本谷歌表格宽度有变化时,sticky的td内容会不可见。因此执行一个强制重新渲染的步骤\r\n new ResizeObserver(() => {\r\n this.$el.setAttribute('w-compact-resize-sticky', '')\r\n requestAnimationFrame(() => this.$el.removeAttribute('w-compact-resize-sticky'))\r\n }).observe(this.$el)\r\n }\r\n },\r\n methods: {\r\n initFixedCells(dir) {\r\n let sticky = null\r\n let offset = 0\r\n let fixedCells = $.lodash.map(this.$el.querySelector(`thead`).querySelectorAll(`td[w-fixed=\"${dir}\"]`))\r\n if (dir === 'right') fixedCells.reverse()\r\n fixedCells.forEach(td => {\r\n (sticky || (sticky = [])).push({colIndex: td.cellIndex, offset})\r\n offset += td.offsetWidth\r\n })\r\n this.sticky[dir] = sticky\r\n return fixedCells\r\n },\r\n html_slots() {\r\n return [\r\n this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [],\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 html_style() {\r\n let r = {}\r\n if (this.sticky.left) {\r\n this.sticky.left.forEach(v => r[`--w-td-fixed-left-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n if (this.sticky.right) {\r\n this.sticky.right.forEach(v => r[`--w-td-fixed-right-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n return r\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: separate;\r\n }\r\n\r\n .w-thead {\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-td,\r\n .w-th {\r\n background: #fff;\r\n }\r\n\r\n .w-thead .w-td,\r\n .w-th {\r\n background: var(--w-thead-background-color);\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n }\r\n\r\n .w-tr.z-on .w-td {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th.z-sortable {\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 }\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.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: 0 solid var(--w-td-border-color, var(--w-table-border-color));\r\n border-right-width: 1px;\r\n border-bottom-width: 1px;\r\n }\r\n\r\n .w-table.z-face-cell .w-td-lastborder {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n\r\n .w-td-fixed-left,\r\n .w-td-fixed-right {\r\n position: sticky;\r\n z-index: 1;\r\n }\r\n\r\n .w-td-fixed-left-last:after {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-td-fixed-right-first:after {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(-100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-left-last:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=right] .w-td-fixed-left-last:after {\r\n box-shadow: inset 10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=left] .w-td-fixed-right-first:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-right-first:after {\r\n box-shadow: inset -10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-compact-resize-sticky] .w-td-fixed-left,\r\n .w-table[w-compact-resize-sticky] .w-td-fixed-right {\r\n position: static;\r\n }\r\n \r\n</style>\n","import script from \"./Table.vue?vue&type=script&lang=js\"\nexport * from \"./Table.vue?vue&type=script&lang=js\"\n\nimport \"./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"\n\nexport default script"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://dfish/webpack/universalModuleDefinition","webpack://dfish/webpack/bootstrap","webpack://dfish/./src/widgets/AlignParent.vue","webpack://dfish/./src/widgets/AlignParent.vue?f746","webpack://dfish/./src/widgets/Leaf.vue?d317","webpack://dfish/./src/widgets/FormBase.vue?f8ed","webpack://dfish/./src/widgets/Video.vue?99e5","webpack://dfish/./src/widgets/Jigsaw.vue?cafd","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Option.vue?0834","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TabButton.vue","webpack://dfish/./src/widgets/TabButton.vue?e0b1","webpack://dfish/./src/widgets/PageBar.vue","webpack://dfish/./src/widgets/PageBar.vue?15df","webpack://dfish/./src/widgets/Hidden.vue","webpack://dfish/./src/widgets/Hidden.vue?f5d8","webpack://dfish/./src/widgets/FormBase.vue","webpack://dfish/./src/widgets/FormBase.vue?9859","webpack://dfish/./src/widgets/MenuButton.vue?7ceb","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/ViewAbs.vue?fd43","webpack://dfish/./src/widgets/Option.vue","webpack://dfish/./src/widgets/Option.vue?2ad8","webpack://dfish/./src/widgets/TabButton.vue?b2df","webpack://dfish/./src/util/str.js","webpack://dfish/./src/widgets/View.vue","webpack://dfish/./src/widgets/View.vue?86cf","webpack://dfish/./src/widgets/Swiper.vue?b91b","webpack://dfish/./src/util/number.js","webpack://dfish/./src/widgets/MenuButton.vue","webpack://dfish/./src/widgets/MenuButton.vue?9b54","webpack://dfish/./src/widgets/ComboBox.vue","webpack://dfish/./src/widgets/ComboBox.vue?2036","webpack://dfish/./src/widgets/ButtonBar.vue","webpack://dfish/./src/widgets/ButtonBar.vue?b9d7","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/Toggle.vue?a46f","webpack://dfish/./src/widgets/ViewAbs.vue","webpack://dfish/./src/widgets/ViewAbs.vue?7b03","webpack://dfish/./src/widgets/FileUpload.vue","webpack://dfish/./src/widgets/FileUpload.vue?e312","webpack://dfish/./src/widgets/ImageUpload.vue","webpack://dfish/./src/widgets/ImageUpload.vue?f89f","webpack://dfish/./src/widgets/DocView.vue","webpack://dfish/./src/widgets/DocView.vue?ba0c","webpack://dfish/./src/widgets/TableTBody.vue","webpack://dfish/./src/widgets/TableTBody.vue?abdf","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/directive/label-width.js","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/FileUpload.vue?88fc","webpack://dfish/./src/widgets/Dialog.vue?a2cd","webpack://dfish/./src/widgets/TableColumns.vue","webpack://dfish/./src/widgets/TableColumns.vue?3525","webpack://dfish/./src/widgets/CheckBox.vue","webpack://dfish/./src/widgets/CheckBox.vue?54ae","webpack://dfish/./src/widgets/Calendar.vue?b801","webpack://dfish/./src/widgets/Tip.vue?e935","webpack://dfish/./src/widgets/DialogMove.vue?15d2","webpack://dfish/./src/widgets/Timeline.vue?0f85","webpack://dfish/./src/template/TemplateDateSheet.vue?280e","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/template/TemplateLoading.vue","webpack://dfish/./src/template/TemplateLoading.vue?982e","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/assets/SVGIcon.vue","webpack://dfish/./src/assets/SVGIcon.vue?69f7","webpack://dfish/./src/widgets/SubmitButton.vue","webpack://dfish/./src/widgets/SubmitButton.vue?3fa5","webpack://dfish/./src/widgets/SlidePicker.vue?ed76","webpack://dfish/./src/widgets/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/Split.vue?d855","webpack://dfish/./src/widgets/Grid.vue?ff6f","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Password.vue","webpack://dfish/./src/widgets/Password.vue?6cda","webpack://dfish/./src/widgets/Html.vue","webpack://dfish/./src/widgets/Html.vue?092f","webpack://dfish/./src/widgets/TimelineItem.vue","webpack://dfish/./src/widgets/TimelineItem.vue?4eaa","webpack://dfish/./src/widgets/TableTH.vue","webpack://dfish/./src/widgets/TableTH.vue?1b2e","webpack://dfish/./src/widgets/DialogMove.vue","webpack://dfish/./src/widgets/DialogMove.vue?5066","webpack://dfish/./src/widgets/Form.vue","webpack://dfish/./src/widgets/Form.vue?b8f9","webpack://dfish/./src/util/range.js","webpack://dfish/./src/widgets/PickBox.vue","webpack://dfish/./src/widgets/PickBox.vue?62f5","webpack://dfish/./src/template/TemplateTip.vue","webpack://dfish/./src/template/TemplateTip.vue?9a7a","webpack://dfish/./src/directive/dialog-move.js","webpack://dfish/./src/widgets/PubParent.vue","webpack://dfish/./src/widgets/PubParent.vue?cedb","webpack://dfish/./src/widgets/TableTD.vue","webpack://dfish/./src/widgets/TableTD.vue?b65e","webpack://dfish/./src/directive/index.js","webpack://dfish/./src/util/loc/zh-CN.js","webpack://dfish/./src/widgets/Horizontal.vue","webpack://dfish/./src/widgets/Horizontal.vue?3f14","webpack://dfish/./src/util/date.js","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/Scroll.vue?11ca","webpack://dfish/./src/widgets/DatePicker.vue","webpack://dfish/./src/widgets/DatePicker.vue?304a","webpack://dfish/./src/widgets/Textarea.vue","webpack://dfish/./src/widgets/Textarea.vue?e32b","webpack://dfish/./src/widgets/Rate.vue?b442","webpack://dfish/./src/widgets/Scroll.vue","webpack://dfish/./src/widgets/Scroll.vue?2cbe","webpack://dfish/./src/widgets/LinkBox.vue?1856","webpack://dfish/./src/widgets/Range.vue?f220","webpack://dfish/./src/util/mime.js","webpack://dfish/./src/widgets/Loading.vue?b3a7","webpack://dfish/./src/widgets/Video.vue","webpack://dfish/./src/widgets/Video.vue?eba0","webpack://dfish/./src/widgets/Split.vue","webpack://dfish/./src/widgets/Split.vue?04cd","webpack://dfish/./src/widgets/Rate.vue","webpack://dfish/./src/widgets/Rate.vue?d642","webpack://dfish/./src/widgets/Pop.vue","webpack://dfish/./src/widgets/Pop.vue?0f20","webpack://dfish/./src/widgets/TableColumn.vue","webpack://dfish/./src/widgets/TableColumn.vue?2711","webpack://dfish/./src/util/css.js","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Table.vue?fb08","webpack://dfish/./src/widgets/Progress.vue?98e9","webpack://dfish/./src/assets/SVGIcon.vue?6823","webpack://dfish/./src/widgets/TableTHead.vue","webpack://dfish/./src/widgets/TableTHead.vue?ceef","webpack://dfish/./src/widgets/Range.vue","webpack://dfish/./src/widgets/Range.vue?477c","webpack://dfish/./src/util/browser.js","webpack://dfish/./src/widgets/Alert.vue","webpack://dfish/./src/widgets/Alert.vue?3137","webpack://dfish/./src/widgets/Menu.vue?63f3","webpack://dfish/./src/util/event.js","webpack://dfish/./src/widgets/Spinner.vue?dad0","webpack://dfish/./src/widgets/Confirm.vue","webpack://dfish/./src/widgets/Confirm.vue?d56c","webpack://dfish/./src/widgets/Tabs.vue","webpack://dfish/./src/widgets/Tabs.vue?6c52","webpack://dfish/./src/widgets/Album.vue","webpack://dfish/./src/widgets/Album.vue?74b6","webpack://dfish/./src/widgets/Img.vue?4aaa","webpack://dfish/./src/template/TemplateJigsaw.vue","webpack://dfish/./src/template/TemplateJigsaw.vue?4b4b","webpack://dfish/./src/widgets/MediaUploadItem.vue","webpack://dfish/./src/widgets/MediaUploadItem.vue?907a","webpack://dfish/./src/widgets/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/MediaUpload.vue?0142","webpack://dfish/./src/widgets/Leaf.vue","webpack://dfish/./src/widgets/Leaf.vue?6aec","webpack://dfish/./src/widgets/Calendar.vue","webpack://dfish/./src/widgets/Calendar.vue?083c","webpack://dfish/./src/widgets/Tab.vue","webpack://dfish/./src/widgets/Tab.vue?a801","webpack://dfish/./src/widgets/Dialog.vue","webpack://dfish/./src/widgets/Dialog.vue?3792","webpack://dfish/./src/widgets/Toggle.vue","webpack://dfish/./src/widgets/Toggle.vue?3b65","webpack://dfish/./src/template/TemplateConfirm.vue","webpack://dfish/./src/template/TemplateConfirm.vue?3095","webpack://dfish/./src/template/TemplateDateSheet.vue","webpack://dfish/./src/template/TemplateDateSheet.vue?c94f","webpack://dfish/./src/widgets/WidgetAbs.vue","webpack://dfish/./src/widgets/WidgetAbs.vue?ba8a","webpack://dfish/./src/widgets/TableTR.vue","webpack://dfish/./src/widgets/TableTR.vue?ee1d","webpack://dfish/./src/widgets/PageBar.vue?868d","webpack://dfish/./src/dfish.js","webpack://dfish/./src/widgets/ComboBox.vue?4b31","webpack://dfish/./src/widgets/Jigsaw.vue","webpack://dfish/./src/widgets/Jigsaw.vue?9364","webpack://dfish/./src/widgets/RadioGroup.vue","webpack://dfish/./src/widgets/RadioGroup.vue?e09b","webpack://dfish/./src/widgets/Vertical.vue","webpack://dfish/./src/widgets/Vertical.vue?590a","webpack://dfish/./src/widgets/PickBox.vue?d830","webpack://dfish/./src/util/elem.js","webpack://dfish/./src/widgets/SwiperItem.vue","webpack://dfish/./src/widgets/SwiperItem.vue?dfa1","webpack://dfish/./src/widgets/WidgetBase.vue","webpack://dfish/./src/widgets/WidgetBase.vue?b91b","webpack://dfish/./src/widgets/Switch.vue?5261","webpack://dfish/./src/widgets/Progress.vue","webpack://dfish/./src/widgets/Progress.vue?8139","webpack://dfish/./src/widgets/Switch.vue","webpack://dfish/./src/widgets/Switch.vue?e783","webpack://dfish/./src/widgets/Tree.vue?5f4e","webpack://dfish/./src/widgets/Img.vue","webpack://dfish/./src/widgets/Img.vue?496d","webpack://dfish/./src/widgets/Grid.vue","webpack://dfish/./src/widgets/Grid.vue?3b0e","webpack://dfish/./src/widgets/MediaUpload.vue","webpack://dfish/./src/widgets/MediaUpload.vue?2ed7","webpack://dfish/./src/widgets/Loading.vue","webpack://dfish/./src/widgets/Loading.vue?ce77","webpack://dfish/./src/widgets/CheckBoxGroup.vue","webpack://dfish/./src/widgets/CheckBoxGroup.vue?6c17","webpack://dfish/./src/widgets/Spinner.vue","webpack://dfish/./src/widgets/Spinner.vue?fa77","webpack://dfish/./src/widgets/TripleBox.vue","webpack://dfish/./src/widgets/TripleBox.vue?8717","webpack://dfish/./src/widgets/Radio.vue","webpack://dfish/./src/widgets/Radio.vue?f1bf","webpack://dfish/./src/widgets/Html.vue?e48a","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","webpack://dfish/./src/directive/form-ignore.js","webpack://dfish/./src/widgets/Tabs.vue?b517","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","oldJsonpFunction","slice","props","computed","dir","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","typeIcon","text","showButton","dfish","br","compat","gap","face","save","ownproperty","icons","info","warning","success","question","defaultIconType","methods","dialog","cueYes","icon","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","maxHeight","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","context","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","inCurrent","currentPage","clickItem","runType","trigger","clickDrop","onJumpClick","v","Math","max","number","jumpInput","html_button","ic","ds","disabled","html_face_button","html_face_simple","html_face_normal","loc","page_text","prev","sumPage","next","html_drop","sp","onClick","Menu","snap","drop","position","indent","onClose","concat","cp","f","ceil","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","jump","to","onfocus","onblur","onkeydown","keyCode","page","html_face_mini","first","last","FormBase","isModified","html","id","uid","modelValue","WidgetBase","AlignParent","mv","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","ov","changed","JSON","stringify","warn","isUsableVal","$emit","formVal","input_value","defaultRuleValue","rules","Array","isArray","valid","getValidError","showErrorTip","ques","validTriggers","validQueues","isNormal","isReadonly","readonlyValidate","groupFormVal","join","trim","hs","validHooks","q","rv","rule","formErr","que","arg","label","getLabelText","ps","form","wid","w","_tip","scrollIntoView","ease","exec","errorTipTarget","focus","formText","pubParent","oninput","baseFocus","baseBlur","isFocusTarget","relatedTarget","$","isUnmounted","time","Date","getTime","snapElem","isWidget","original","dv","saveModified","lodash","clone","reset","empty","html_label","$slots","Label","html_input","input_tag","input_type","input_name","readonly","isDisabled","placeholder","input_placeholder","autocomplete","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","pubValidHooks","required","pattern","eval","test","validateHandler","k","includes","forEach","item","keys","autoPlaceholder","html_on","html_props","fw","inputWidth","created","$watch","initOptions","sugger","showSuggest","sug_timer","_KC","imeMode","paste_rng","currOpt","store","strict","array","addStore","inp","innerHTML","html_options","addVal","multiple","unionBy","complete","u","rngElement","separator","tagName","nextSibling","after","querySelector","append","rng_text","classAdd","forbid","rngCursor","eq","addBack","remove","closeDrop","suggest","input","innerText","replace","createEvent","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","split","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","preventDefault","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","validateDefault","getOn","addEventListener","provideOptionParent","isMul","click","inject","clickOption","idsAny","String","string","strQuot","strFrom","lastIndexOf","substr","strTo","strLen","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","html_self","html_pops","html_scroll_class","parseFloat","isNaN","isNumber","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","parseInt","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","ownerView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","dispatchEvent","Event","findIndex","sensor","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","SrcParent","provide","pops","beforeCreate","popCommanders","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueMap","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","hidden","getDialogOptions","Pop","suffixHooks","xls","doc","ppt","htm","zip","fla","fon","iso","vid","aud","img","suffix","url","toLowerCase","unit","toUpperCase","fileTypeHooks","video","audio","image","list","emiting","immediate","getFileTypes","fileTypes","getAccept","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","ft_names","xfs","maxFileSize","nfs","minFileSize","ft","sfx","upload_maxfilesize","upload_minfilesize","upload_invalid_file_type","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","upload_invalid_data","upload_no_data","catch","response","status","downloadSrc","download","urlServer","cancel","chooseFile","html_list","itemWidth","upload_error","html_input_form","accept","onchange","html_input_button","button","html_input_list","no_files","canUpload","uploadbbr","html_style","MediaUpload","thumbnailWidth","thumbnailHeight","WidgetAbs","providePubParent","provideBoxParent","provideRangeParent","docView","getElementById","getKey","previewVideo","template","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","on","SVGIcon","debug","Scroll","thead","provideInBody","table","scrollX","fixed","onScroll","hd","slotHooks","scrollLeft","onScrollPosition","onScrollAttributeChange","attributeName","hasAttribute","html_tbody","inBody","T","N","cvs","documentElement","_arr_comma","_snaptype","h","top","bottom","left","right","tl","tr","rt","rb","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","clientWidth","clientHeight","offsetHeight","offsetTop","offsetLeft","offsetParent","clientLeft","clientTop","getBoundingClientRect","originalEvent","clientX","clientY","ew","eh","ot","or","ob","ol","y","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","snapTo","css","labelWidth","setProperty","updated","_uidCnt","_uidKey","_guid","toString","pubParentName","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","clickTab","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isChecked","getVal","setVal","checkValue","rdo","idsAdd","idsRemove","siblings","sb","check","relate","onbasechange","input_icon","html_target","minSize","maxSize","partialSubmit","$el","getSrc","$props","fn","ex","$parent","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","provideLevel","provideParentLeaf","provideParentTR","getCurrent","leaf","viewCurrent","expandToView","chd","level","index","sortType","sortOrder","sortable","clickSort","order","sortUID","orders","sortOrders","col","colgroup","vnode","dfishColIndex","td_props","movable","sl","sr","st","moveup","appendTo","body","setPosition","moved","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","DropBox","clickClear","input_text","current","isCurrentChild","ci","colspan","rowspan","Vue","directive","formIgnore","dialogMove","yes","no","none","confirm","search","query","choose","edit","finish","refresh","operfail","opertip","nodata","more","field","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","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","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","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","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","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","from_to","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dateWeek","M","dateAdd","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","weekPoint","weekStart","getDay","dateWeekFirst","dateWeekLast","dateValid","dateDiff","_dateDiff","z","webpackAsyncContext","req","ids","tipCache","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","focusValue","format","autoFix","enableHour","arrayNumber","em","enableMinute","es","enableSecond","onclose","doAutoFix","re","mobile","getPeriod","calendarCallback","forms","getCompareError","tv","td","timeCols","onlyTime","Calendar","pad","defaultHour","defaultMinute","defaultSecond","getRangeError","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dnX","dnY","scrLeft","scrTop","wScrollOverflow","mvEv","upEv","scrollTo","ovf","wScrollCont","scrollToY","scrollToX","onscroll","initScroll","scrollState","flow","cont","percent","state","thbX","thbY","scroll_observe","sx","sy","scrollFlex","scrollView","MutationObserver","attributes","deactivated","activated","mimes","playing","getMimeType","filePath","fileName","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","expanded","toggle","exp","minorElem","toNext","previousElementSibling","toggleClass","dragstart","prevElem","nextElem","pos","help","vert","inVertical","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","hoverWrap","hoverIndex","sum","count","hoverItem","cancelable","html_star","onMouseenter","half","allowHalf","step","stars","onMouseleave","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","Loading","TemplateLoading","com","omit","templateDir","endsWith","loader","errorComponent","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","setFocus","clickArrow","clickIndicator","indicatorDots","duration","childList","provideLeafLevel","rows","isExpanded","cg","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","navigator","userAgent","chrome","match","firefox","agent","safari","ie","appName","documentMode","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","addEvent","cue","cueNo","isCmd","_EventUser","_event_remove","pull","_event_name","_event_space","sort","_event_handlers","EventListener","ctx","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","tab","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","mousedown","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","tip","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","WIDGET","DocView","View","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","SlidePicker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","Rate","install","component","use","html_binds","setup","startY","endY","minY","maxY","optY","optH","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","update","sc","nv","xv","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","getIndex","transEnd","ret","ontouchstart","emit","hover","getInitLoaded","hasChild","childrenList","setExpanded","isFolder","boxSync","triple","checkstate","tripleAll","ico","html_attrs","$attrs","box","html_cont","tree","display","prop","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","bodyList","$event","hasTime","focusHour","scroll-y","scroll-view","bodyListHour","isHourDisabled","clickHour","focusMinute","bodyListMinute","isMinuteDisabled","clickMinute","focusSecond","bodyListSecond","isSecondDisabled","clickSecond","clickNow","clickConfirm","value2date","ny","oy","formatter","bd","ed","setDefaultTime","weekday","dh","dm","fixDate","beginDate","endDate","from","date","callback","focusDate","fm","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","bodyListYear","bodyListMonth","bodyListWeek","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","_pos","snapStyle","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","layTop","layBottom","_fitpos","lp","lc","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","setMaxHeight","extend","addClass","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","hourList","hasMinute","minuteList","hasSecond","secondList","hasWeek","focusWeek","minWeek","maxWeek","weekList","nd","xd","weekFirst","weekLast","startYear","endYear","monthDays","minTime","maxTime","weekText","startDate","bindCache","runtimeX","events","dftX","getDefaultProp","cuid","config_uid","watchs","Proxy","obj","newval","delete","dftopt","defaultOptions","dfclsCache","idsAll","mergeDeep","extendDeep","vm","commands","ncm","merge","cmdHooks","ev","fireEvent","once","closest","sel","CustomEvent","opt","divide","slotsChildren","cls","isDisplay","ri","rowIndex","rs","isElement","has","assign","Map","jquery","prepend","before","constructor","cloneDeep","str","Function","allowMinus","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","toast","runtime","openFile","filename","closeWaiting","start","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","ms","cr","d1","it","setInterval","d2","cos","clearInterval","print","ownerDocument","outerHTML","input2text","printf","frames","wPrintFrame","open","write","queryEncode","config","contentType","Qs","arrayFormat","ajax","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","defaults","interceptors","_dfopt","catchReject","reason","init_text","locked","isSuccess","isError","setThumbLeft","timer","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","hoverDrop","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","columns","cols","dc","defaultColspan","MediaUploadItem","doFormat","buttonPosition","rightward","activeElement","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","w_name","indicator-dots","rot","rotate","swiper","maxWidth","cv","sticky","initFixedCells","requestAnimationFrame","fixedCells","reverse","colIndex","cellIndex","tbody","hiddens"],"mappings":"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,EAAGpD,GACdyM,EAAIjF,GAAGxH,IACJA,EAAQ,GAAJysB,EACb,IAAK,IACH,OAAO3hB,KAAK8a,OAAOpe,EAAID,GAAL,MACpB,IAAK,IACH,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAL,KACpB,IAAK,IACH,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAK,KAC9B,QACE,OAAOuD,KAAK8a,OAAOpe,EAAID,GAAK41B,KAI5B1U,EAAY,WAAkB,MAClC,OAAO,EAAAlW,EAAEyV,SAAQS,UAAV,qB,qBC/IT,IAAI/f,EAAM,CACT,QAAS,CACR,OACA,EACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,iBACA,kBAED,4BAA6B,CAC5B,OACA,EACA,iBACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,iBACA,kBAED,8BAA+B,CAC9B,OACA,EACA,iBACA,kBAED,oBAAqB,CACpB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,qCAAsC,CACrC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,mCAAoC,CACnC,OACA,EACA,kBAED,uCAAwC,CACvC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,iCAAkC,CACjC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,gCAAiC,CAChC,OACA,EACA,kBAED,oCAAqC,CACpC,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,kCAAmC,CAClC,OACA,EACA,kBAED,UAAW,CACV,OACA,GAED,aAAc,CACb,OACA,GAED,cAAe,CACd,OACA,GAED,eAAgB,CACf,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,SAAU,CACT,OACA,EACA,iBACA,iBACA,iBACA,kBAED,YAAa,CACZ,OACA,EACA,iBACA,iBACA,iBACA,kBAED,sBAAuB,CACtB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,6BAA8B,CAC7B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,+BAAgC,CAC/B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,uBAAwB,CACvB,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,mCAAoC,CACnC,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iCAAkC,CACjC,OACA,GAED,kCAAmC,CAClC,OACA,GAED,sCAAuC,CACtC,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,eAAgB,CACf,OACA,GAED,kBAAmB,CAClB,OACA,GAED,cAAe,CACd,OACA,GAED,iBAAkB,CACjB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,aAAc,CACb,OACA,GAED,gBAAiB,CAChB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,YAAa,CACZ,OACA,GAED,aAAc,CACb,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,8BAA+B,CAC9B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,EACA,kBAED,yBAA0B,CACzB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,iBAAkB,CACjB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,iBAAkB,CACjB,OACA,GAE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","file":"publish/lib/index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"dfish\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dfish\"] = factory();\n\telse\n\t\troot[\"dfish\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"main\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0113803f\":\"d77b21dd\",\"chunk-02baca6a\":\"9815366c\",\"chunk-0afcc52e\":\"7484dcc9\",\"chunk-1da003f6\":\"81e550e0\",\"chunk-280378c6\":\"a4dc4392\",\"chunk-2d0a3376\":\"6a65ba64\",\"chunk-2d0a448b\":\"1817e2f9\",\"chunk-2d0aad2b\":\"a5bab1c6\",\"chunk-2d0abff0\":\"722db78f\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"f569f187\",\"chunk-2d0ba936\":\"01595884\",\"chunk-2d0bac21\":\"4d196e97\",\"chunk-2d0bdd0a\":\"a5929573\",\"chunk-2d0bdf2c\":\"4b839de8\",\"chunk-2d0c0fe2\":\"e534545d\",\"chunk-2d0c8d69\":\"a33870c1\",\"chunk-2d0ccf93\":\"05dc5835\",\"chunk-2d0d660f\":\"e479c58b\",\"chunk-2d0dd4a8\":\"7f91b165\",\"chunk-2d0df0d6\":\"33f24f0f\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"84a39c13\",\"chunk-2d21d0ff\":\"fc02690b\",\"chunk-2d228891\":\"47688c48\",\"chunk-2d22d7b5\":\"845a0c3a\",\"chunk-2f7f0670\":\"1eded247\",\"chunk-38f61726\":\"736f4cbf\",\"chunk-bb34eb02\":\"d11a7a8f\",\"chunk-3cecfdf8\":\"7e2dce28\",\"chunk-3d7d76fb\":\"522adf0b\",\"chunk-446f13c2\":\"79a28db8\",\"chunk-5f709e3a\":\"2d5a5ba6\",\"chunk-77ff8882\":\"ab831ba2\",\"chunk-c7c01ff4\":\"75574bb3\",\"chunk-eda6ccec\":\"ede071a5\",\"chunk-f0cbe6e2\":\"d0e1b7d8\",\"chunk-577edd5f\":\"6c75ff5a\",\"chunk-2d0c8faa\":\"a54886b2\",\"chunk-2d230454\":\"b153727a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0113803f\":1,\"chunk-02baca6a\":1,\"chunk-1da003f6\":1,\"chunk-280378c6\":1,\"chunk-2f7f0670\":1,\"chunk-38f61726\":1,\"chunk-bb34eb02\":1,\"chunk-3cecfdf8\":1,\"chunk-446f13c2\":1,\"chunk-77ff8882\":1,\"chunk-eda6ccec\":1,\"chunk-f0cbe6e2\":1,\"chunk-577edd5f\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpdfish\"] = window[\"webpackJsonpdfish\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"bb84\",\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n computed: {\r\n dir() {\r\n return 'h'\r\n },\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical ? 'v' : this.dir) + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./AlignParent.vue?vue&type=script&lang=js\"\nexport * from \"./AlignParent.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FormBase.vue?vue&type=style&index=0&id=ee1fc5c0&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"","<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=\"*\">\r\n <div class=\"w-alert-title\" v-if=\"title\">{{title}}</div>\r\n </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=\"typeIcon\"></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 v-if=\"showButton!==false\" :class=\"['w-alert-buttonbar', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\" :ownproperty=\"true\" />\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\r\n const icons = {\r\n info: '.f-i .f-i-alert-info',\r\n warning: '.f-i .f-i-alert-warning',\r\n success: '.f-i .f-i-alert-success',\r\n question: '.f-i .f-i-alert-question',\r\n error: '.f-i .f-i-alert-error'\r\n }\r\n\r\n export default {\r\n props: ['text', 'title', 'icon', 'showButton'],\r\n data() {\r\n return {\r\n defaultIconType: 'info'\r\n }\r\n },\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 computed: {\r\n dfish() {\r\n return $\r\n },\r\n typeIcon() {\r\n return icons[this.icon] || this.icon || icons[this.defaultIconType]\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=291bdc3e\"\nimport script from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateAlert.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"","<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 let p = $(a)\r\n if (p && (p = p.parentMenu) && p.rootCommander == this.rootCommander) return true\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.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-up'\r\n })),\r\n h(Vertical, {\r\n class: 'w-menu-bbr',\r\n height: '*',\r\n ref: 'bbr',\r\n onwheel: this.mousewheel\r\n }, {\r\n default: () => this.html_buttons()\r\n }),\r\n this.maxHeight && h('div', {\r\n class: 'w-menu-arr f-oh',\r\n onclick: e => this.arrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-caret-down'\r\n })),\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.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.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</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\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\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\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","import script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\nimport \"./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"\n\nexport default script","<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","import script from \"./TabButton.vue?vue&type=script&lang=js\"\nexport * from \"./TabButton.vue?vue&type=script&lang=js\"\n\nimport \"./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"\n\nexport default script","<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 e.value = b\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, onClick: e => this.clickItem(e, i)}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, onClose: () => 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","import script from \"./PageBar.vue?vue&type=script&lang=js\"\nexport * from \"./PageBar.vue?vue&type=script&lang=js\"\n\nimport \"./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"\n\nexport default script","<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","import script from \"./Hidden.vue?vue&type=script&lang=js\"\nexport * from \"./Hidden.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import {tipCache} from './Tip.vue'\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\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'readonlyValidate', 'disabled', 'required',\r\n 'validateDefault', 'validateHandler', 'inputWidth', 'inputHeight' ],\r\n emits: ['update:modelValue', 'change', 'blur', 'focus'],\r\n data() {\r\n let mv = this.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 let ov = this.x.modelValue\r\n this.x.modelValue = v\r\n let changed = ov !== v\r\n if (typeof ov === 'object') {\r\n changed = JSON.stringify(ov) != JSON.stringify(v)\r\n }\r\n if (changed) {\r\n this.warnClass && this.warn(false)\r\n if (this.isUsableVal(v)) {\r\n this.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n }\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n isUsableVal(v) { //implement\r\n return true \r\n },\r\n defaultRuleValue(name) {\r\n let r = this.rules[name]\r\n if (r != null) {\r\n if (Array.isArray(r)) {\r\n r = r[0]\r\n }\r\n return r && r.value ? r.value : r\r\n }\r\n },\r\n valid(trigger) {\r\n let e = this.getValidError(trigger)\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(trigger, val) {\r\n let ques = trigger ? this.validTriggers[trigger] : this.validQueues\r\n if (ques && (this.isNormal || (this.isReadonly && this.x.readonlyValidate))) {\r\n let v = val !== undefined ? val : this.isPlural ? this.groupFormVal() : this.formVal()\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 hs = this.validHooks\r\n for (let q of ques) {\r\n let rv = typeof q.rule !== 'object' ? q.rule : q.rule.value !== undefined ? q.rule.value : q.rule\r\n let e = hs[q.type](v, rv, q)\r\n if (e) return e\r\n }\r\n }\r\n },\r\n formErr(que, arg) {\r\n let label = this.getLabelText()\r\n let type = que.type\r\n let text = que.rule && que.rule.text\r\n if (!text) {\r\n text = $.loc.ps.apply(null, [$.loc.form[type], label || ''].concat(arg != null && arg !== '' ? arg : [])) || ''\r\n }\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n type,\r\n label,\r\n text,\r\n }\r\n },\r\n warn(a) {\r\n let w = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n this.warnClass = w\r\n if (!w && this._tip) {\r\n $.close(this._tip)\r\n this._tip = null\r\n }\r\n },\r\n showErrorTip(text) {\r\n this.scrollIntoView({\r\n ease: 200,\r\n success: () => {\r\n this._tip = 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 })\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n return this\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 baseFocus(e) {\r\n this.isFocus = true\r\n this.warn(false)\r\n this.trigger(e)\r\n },\r\n baseBlur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n this.trigger(e)\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) {\r\n let time = new Date().getTime()\r\n if (time - tipCache.time > 100) this.valid('blur')\r\n }\r\n }, 100)\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 // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\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,\r\n 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 autocomplete: 'off', //off, nope, new-password\r\n //list: 'autocompleteOff',\r\n //role: 'presentation',\r\n oninput: this.oninput,\r\n onfocus: this.baseFocus,\r\n onblur: this.baseBlur,\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 [`f-${this.dir}-gap`]: $.br.compat.gap,\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 pubValidHooks() {\r\n return {\r\n required: (v, rule, que) => {\r\n if (rule && !v) return this.formErr(que)\r\n },\r\n pattern: (v, rule, que) => {\r\n if (v && (typeof rule === 'string' ? !$.eval(`${rule}.test(v)`, {rule, v}) : !rule.test(v)))\r\n return this.formErr(que)\r\n },\r\n validateHandler: (v, rule) => {\r\n let text = rule && rule(v)\r\n if (text) {\r\n return this.formErr({type: 'validateHandler', rule: {text}})\r\n }\r\n }\r\n }\r\n },\r\n validHooks() {\r\n return this.pubValidHooks\r\n },\r\n validQueues() {\r\n let r = []\r\n let type = 'validateDefault'\r\n if (this.validHooks[type]) r.push({type})\r\n for(let k in this.validHooks) {\r\n if (!r.includes(k)) {\r\n let rule = this.rules[k]\r\n if (rule != null) {\r\n if (Array.isArray(rule)) {\r\n rule.forEach(item => r.push({type: k, rule: item}))\r\n } else {\r\n r.push({type: k, rule})\r\n }\r\n }\r\n }\r\n }\r\n return r\r\n },\r\n validTriggers() {\r\n let r = {}\r\n Object.keys(this.validHooks).forEach(k => {\r\n let d = this.rules[k]\r\n if (d) {\r\n if (Array.isArray(d)) {\r\n for (let e of d) {\r\n if (e.trigger) {\r\n (r[e.trigger] || (r[e.trigger] = [])).push({type: k, rule: e})\r\n }\r\n }\r\n } else if (d.trigger) {\r\n (r[d.trigger] || (r[d.trigger] = [])).push({type: k, rule: d})\r\n }\r\n }\r\n })\r\n return r\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 if (!this.isNormal) return;\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 'z-full': this.x.inputWidth === '*'\r\n }],\r\n style: fw && {\r\n '--w-input-width': fw\r\n },\r\n //'w-input-width': this.x.inputWidth,\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 width: var(--v-label-width, var(--label-width));\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 overflow: hidden;\r\n align-items: center;\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 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 border: 0;\r\n padding: 1px 0 1px 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 text-align: left;\r\n }\r\n \r\n .w-dropbox-dialog.z-mob {\r\n max-width: calc(100% - 40px);\r\n max-height: calc(100% - 100px);\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 padding-top: 3px;\r\n padding-bottom: 3px;\r\n gap: var(--w-boxgroup-gap, 10px);\r\n --w-compat-gap: var(--w-boxgroup-gap, 10px);\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 grid-gap: var(--w-boxgroup-gap);\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 .w-triplebox-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 .w-form.z-err > .w-input{\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\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\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\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\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\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\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\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 .w-text > .w-input,\r\n .w-spinner > .w-input,\r\n .w-datepicker > .w-input {\r\n align-items: stretch;\r\n }\r\n \r\n .w-input-value:checked+.w-radio-appear:after {\r\n content: 'a';\r\n position: absolute;\r\n }\r\n \r\n</style>\n","import script from \"./FormBase.vue?vue&type=script&lang=js\"\nexport * from \"./FormBase.vue?vue&type=script&lang=js\"\n\nimport \"./FormBase.vue?vue&type=style&index=0&id=ee1fc5c0&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"","<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.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\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\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(this.createEvent('input', v), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\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.closeDrop()\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.closeDrop()\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.closeDrop()\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 onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\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 } 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.closeDrop()\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 e.value = v\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 onkeydown: this.onkeydown,\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 onClose: () => this.showSuggest = false\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr({\r\n type: 'invalid_option'\r\n })\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 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</script>\r\n\r\n<style>\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</style>\n","import script from \"./LinkBox.vue?vue&type=script&lang=js\"\nexport * from \"./LinkBox.vue?vue&type=script&lang=js\"\n\nimport \"./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"","<template>\r\n <button v-bind=\"html_attrs\" :class=\"['f-flex-align', provideOptionParent.$options.name + '-option', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul}]\"\r\n @click=\"click\" :disabled=\"disabled\" :title=\"text\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text}}</slot>\r\n </div>\r\n <div v-if=\"isMul\" :class=\"['w-option-checked', {'f-i f-i-check': isFocus}]\"></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 inject: ['provideOptionParent'],\r\n methods: {\r\n click(e) {\r\n if (this.provideOptionParent.clickOption)\r\n this.provideOptionParent.clickOption(this)\r\n }\r\n },\r\n\r\n computed: {\r\n isFocus() {\r\n let m = this.provideOptionParent.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n },\r\n isMul() {\r\n return this.provideOptionParent.x.multiple\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 height: 18px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .w-option.z-mul {\r\n padding-left: 13px;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n border-color: var(--w--focus-color);\r\n }\r\n</style>\n","import { render } from \"./Option.vue?vue&type=template&id=9b750ac0\"\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\nimport \"./Option.vue?vue&type=style&index=0&id=9b750ac0&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TabButton.vue?vue&type=style&index=0&id=db7c48b8&lang=css\"","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\nconst string = (a) => a == null ? '' : '' + a\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\nexport {string, strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\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","import script from \"./View.vue?vue&type=script&lang=js\"\nexport * from \"./View.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Swiper.vue?vue&type=style&index=0&id=385a8e70&lang=css\"","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) === '-' ? '-' : '';\r\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 parseInt(number(a))\n\t} else if (b < 0) {\n\t\treturn parseFloat(number(a))\n\t} else {\n\t\tlet 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}","<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 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 onClose: () => this.showDrop = null\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.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 }\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","import script from \"./MenuButton.vue?vue&type=script&lang=js\"\nexport * from \"./MenuButton.vue?vue&type=script&lang=js\"\n\nimport \"./MenuButton.vue?vue&type=style&index=0&id=3b7da297&lang=css\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item', 'blur', 'focus'],\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\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy($.array(this.x.modelValue), $.array(v), 'value')\r\n } else {\r\n mv = [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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\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 return this\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 e.value = v\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 if (mv.length) {\r\n mv.splice(mv.length - 1, 1)\r\n this.x.modelValue = mv\r\n }\r\n }\r\n }\r\n //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n onblur(e) {\r\n this.isFocus = false\r\n this.trigger('blur')\r\n setTimeout(() => {\r\n if (!this.$.isUnmounted && !this.$.isDeactivated) this.valid('blur')\r\n }, 100)\r\n },\r\n onfocus(e) {\r\n this.isFocus = true\r\n e.target.value && e.target.dispatchEvent(new Event('input'))\r\n this.trigger('focus')\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n e.value = 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, true)\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(!this.showSuggest)\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 onblur: this.onblur,\r\n onfocus: this.onfocus,\r\n placeholder: this.input_value ? null : this.input_placeholder,\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', {'f-h-gap': $.br.compat.gap}],\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 onClose: () => this.showSuggest = false\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 validateDefault: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr({type: 'invalid_option'})\r\n },\r\n ...this.pubValidHooks,\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.$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 padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n --w-compat-gap: 3px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-combobox-list.f-h-gap {\r\n padding: 1px 3px;\r\n }\r\n \r\n .w-combobox-list.f-h-gap>* {\r\n margin-top: 1px;\r\n margin-bottom: 1px;\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 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 margin-left: 5px;\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","import script from \"./ComboBox.vue?vue&type=script&lang=js\"\nexport * from \"./ComboBox.vue?vue&type=script&lang=js\"\n\nimport \"./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"\n\nexport default script","<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', 'clickTab'],\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 dir() {\r\n return this.x.vertical ? 'v' : 'h'\r\n },\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","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.vue?vue&type=script&lang=js\"\n\nexport default script","// 最后一个属性是数组 / 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}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"","<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 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 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 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.groupFormVal ? d.groupFormVal(b) : 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('[w-form-ignore] :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('[w-form-ignore] :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 = $.vueMap.get(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 => $.vueMap.get(v.wid).warn())\r\n $.vueMap.get(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 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 }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n\r\n</style>\n","import script from \"./ViewAbs.vue?vue&type=script&lang=js\"\nexport * from \"./ViewAbs.vue?vue&type=script&lang=js\"\n\nimport \"./ViewAbs.vue?vue&type=style&index=0&id=7d9e1b2b&lang=css\"\n\nexport default script","<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', 'vertical',\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n dir: 'v',\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 => {return {value}}) : v ? [{value: v}] : []\r\n }, {immediate: true})\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.$emit('update:modelValue', v)\r\n this.trigger('change', v)\r\n },\r\n getFileTypes() {\r\n let t = this.x.fileTypes\r\n return t && t !== '*.*' ? t.replace(/\\*/g, '').replace(/;/g, ',').toLowerCase() : ''\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.getFileTypes()\r\n if (!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.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 ft = this.getFileTypes()\r\n let xfs_names\r\n let nfs_names\r\n let ft_names\r\n $.lodash.each(e.target.files, file => {\r\n let sfx = '.' + $.strFrom(file.name, '.', true).toLowerCase()\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 if (ft && !$.idsAny(ft, sfx, ',')) {\r\n (ft_names || (ft_names = [])).push(file.name)\r\n } else {\r\n this.list.push({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 } else if (ft_names) {\r\n $.alert($.loc.ps($.loc.form.upload_invalid_file_type, ft_names.join('<br>')))\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.trigger('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 e.value = item.value\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', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr({type: 'upload_loading'})\r\n }\r\n if (item.error) {\r\n return this.formErr({type: '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_class() {\r\n return {'z-vertical': this.x.vertical}\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n \r\n .w-fileupload.z-vertical .w-fileupload-list {\r\n flex-direction: column;\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","import script from \"./FileUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=js\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"\n\nexport default script","<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","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<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: 'b',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n on: {\r\n 'click:cover': $.close\r\n }\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\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DocView.vue?vue&type=script&lang=js\"\nexport * from \"./DocView.vue?vue&type=script&lang=js\"\n\nexport default script","<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 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 },\r\n onScrollPosition(v) {\r\n let el = this.table.el()\r\n if (el && v == 'left' || v == 'center' || v == 'right') {\r\n el.setAttribute('w-scroll-x', v)\r\n }\r\n },\r\n onScrollAttributeChange(e) {\r\n let el = this.table.el()\r\n if (el) {\r\n e.forEach(m => {\r\n let n = m.attributeName\r\n m.target.hasAttribute(n) ? el.setAttribute(n, '') : el.removeAttribute(n)\r\n })\r\n }\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 }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.vue?vue&type=script&lang=js\"\n\nexport default script","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,22,33,32,21,34,'rr','rl'], 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","// 实现指令 v-label-width=\"100\"\r\n// 设定\r\nimport $ from '../dfish.js'\r\n\r\nfunction labelWidth(el, bind) {\r\n el.style.setProperty('--v-label-width', $.unitSize(bind.value))\r\n}\r\n\r\nexport default {\r\n created: labelWidth,\r\n updated: labelWidth,\r\n}\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}","<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', 'face', '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 }\r\n if (this.pubParent && this.pubParent.clickTab) {\r\n this.pubParent.clickTab(this)\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.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 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 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 onClose: () => this.showDrop = false\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'div'\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-face-${this.x.face}`]: this.x.face,\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-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","import script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FileUpload.vue?vue&type=style&index=0&id=4fe506ce&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dialog.vue?vue&type=style&index=0&id=65891496&lang=css\"","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumns.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumns.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, ref\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 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 return this.getVal()\r\n }\r\n this.setVal(a, {\r\n type: 'change',\r\n target: this.$refs.v\r\n })\r\n },\r\n getVal() {\r\n return this.isChecked ? this.value : ''\r\n },\r\n setVal(checked, event) {\r\n let p = this.pubParent\r\n let v = this.checkValue\r\n let rdo = this.input_type === 'radio'\r\n let mv = this.x.modelValue\r\n if (rdo) {\r\n mv = checked ? $.string(v) : ''\r\n } else {\r\n mv = checked ? $.idsAdd(mv, v) : $.idsRemove(mv, v)\r\n }\r\n this.x.modelValue = mv\r\n if (rdo) {\r\n this.siblings().forEach(sb => sb.x.modelValue = mv)\r\n }\r\n this.$emit('update:modelValue', mv)\r\n this.trigger(event, mv)\r\n this.pubParent && this.pubParent.trigger(event, mv)\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.x.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null) {\r\n let r = []\r\n $.lodash.each(this.siblings(null, true), f => {\r\n let g = f.formVal()\r\n if (g != null && g != '') r.push(g)\r\n })\r\n return r.join(',')\r\n }\r\n $.lodash.each(this.siblings(), f => f.val($.idsAny(a, f.checkValue)))\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.val(a)\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n siblings(a, b) {\r\n return $.lodash.map($.q(':input[name=\"' + this.input_name + '\"]:not([w-form-ignore] :input)' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el()), e => $(e))\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 onclick(e) {\r\n //implement\r\n e.stopPropagation()\r\n },\r\n onbasechange(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.setVal(e.target.checked, e)\r\n },\r\n onchange(e) {\r\n this.onbasechange(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 ref: 'v',\r\n class: 'w-input-value',\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 onclick: e => {\r\n if (this.isNormal) {\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n ...this.input_prop,\r\n }), h('em', {\r\n ref: 'appear',\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n this.x.text ?\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text) : null\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: this.onclick,\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {\r\n class: this.$options.name + '-target',\r\n ref: 'target'\r\n }, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.x.vertical ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length < $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n maxSize: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && v.split(',').length > $.number(r))\r\n return this.formErr(q, [r])\r\n },\r\n }\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 input_type() {\r\n return 'checkbox'\r\n },\r\n input_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\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_prop() {\r\n return {\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n }\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n checkValue() {\r\n return this.x.value\r\n },\r\n isChecked() {\r\n return $.idsAny(this.x.modelValue, this.checkValue)\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 if (this.$refs.target) {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n this.siblings().forEach((sb) => {\r\n let t = sb.$refs.target\r\n if (t) this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !sb.isChecked)\r\n })\r\n }, {immediate: true})\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./CheckBox.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBox.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Calendar.vue?vue&type=style&index=0&id=7377352c&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'children'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc() {\r\n return (this.x || this.$props).src\r\n },\r\n request(fn) {\r\n let src = this.getSrc()\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n if (typeof src === 'function') {\r\n src(this).then(res => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n fn && fn()\r\n }).catch(ex => {\r\n this.showLoading(false)\r\n this.loaded = true\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","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.vue?vue&type=script&lang=js\"\n\nexport default script","<template>\r\n <w-loading />\r\n</template>\r\n\r\n","import { render } from \"./TemplateLoading.vue?vue&type=template&id=1e19074e\"\nconst script = {}\nscript.render = render\n\nexport default script","<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', 'suffix', '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 + (this.x.suffix == null ? '' : this.x.suffix)))\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 html_style() {\r\n return {\r\n width: null,\r\n '--label-width': this.x.width && $.unitSize(this.x.width)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Label.vue?vue&type=script&lang=js\"\nexport * from \"./Label.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<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","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"","<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 import ResizeObserver from 'resize-observer-polyfill'\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', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: ['w-timeline-next', {[`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap}]\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({[this.x.vertical ? 'marginTop' : 'marginLeft']: 0})\r\n $.q(this.$refs.next).css({[this.x.vertical ? 'marginTop' : 'marginLeft']: 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 --w-compat-gap: 25px;\r\n gap: var(--w-compat-gap);\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","import script from \"./Timeline.vue?vue&type=script&lang=js\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=ab029c5a&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"","<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 import SrcParent from './SrcParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent, SrcParent],\r\n emits: ['click:item'],\r\n provide() {\r\n return {\r\n provideLevel: -1,\r\n provideParentLeaf: null,\r\n provideParentTR: null,\r\n }\r\n },\r\n methods: {\r\n getCurrent() {\r\n const leaf = $.q('.w-leaf.z-on', this.el())[0]\r\n return leaf && $(leaf)\r\n },\r\n viewCurrent(f) {\r\n f = f || this.getCurrent()\r\n if (f) {\r\n f.expandToView()\r\n this.$nextTick(() => f.scrollIntoView())\r\n }\r\n },\r\n html_slots() {\r\n let r\r\n let chd = this.x.children\r\n if (this.$slots.default) {\r\n if (Array.isArray(chd)) {\r\n r = chd.map(item => this.$slots.default({item}))\r\n } else {\r\n r = []\r\n }\r\n }\r\n return this.html_scroll_slots(r)\r\n }\r\n },\r\n computed: {\r\n level() {\r\n return -1\r\n },\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.children) this.request()\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</style>\r\n","import script from \"./Tree.vue?vue&type=script&lang=js\"\nexport * from \"./Tree.vue?vue&type=script&lang=js\"\n\nimport \"./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"\n\nexport default script","<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","import script from \"./Password.vue?vue&type=script&lang=js\"\nexport * from \"./Password.vue?vue&type=script&lang=js\"\n\nexport default script","<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\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['line'],\r\n computed: {\r\n html_props() {\r\n let line = this.x.line\r\n return {\r\n class: [\r\n (this.x.align || this.x.valign) && 'w-horizontal',\r\n line != null && 'f-line',\r\n this.html_align_class\r\n ],\r\n style: line != null && {\r\n '-webkit-line-clamp': line\r\n }\r\n }\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","import script from \"./Html.vue?vue&type=script&lang=js\"\nexport * from \"./Html.vue?vue&type=script&lang=js\"\n\nimport \"./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"\n\nexport default script","<!-- <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","import script from \"./TimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./TimelineItem.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, mergeProps\r\n } from 'vue'\r\n import TD from './TableTD.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-th',\r\n mixins: [TD, WidgetBase],\r\n props: ['sortable', 'sortOrders', 'sortOrderDefault'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n data() {\r\n return {\r\n sortType: null,\r\n sortOrder: null,\r\n }\r\n },\r\n methods: {\r\n onClick(e) {\r\n if (this.x.sortable) {\r\n this.clickSort(e, 'toggle')\r\n }\r\n },\r\n clickSort(e, order) {\r\n e.stopPropagation()\r\n let o = this.sortOrder\r\n if(this.thead.sortUID != this.uid) {\r\n o = null\r\n }\r\n let orders = this.x.sortOrders || ['asc', 'desc', null]\r\n if (order === 'toggle') {\r\n let i = orders.indexOf(o)\r\n o = orders[i < 0 || i == 2 ? 0 : i + 1]\r\n } else {\r\n o = o == order ? null : order\r\n }\r\n this.sortOrder = o\r\n this.thead.sortUID = this.uid\r\n e.value = o\r\n this.$emit('click:sort', e, o)\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'}, 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 tagName() {\r\n return 'th'\r\n },\r\n html_props() {\r\n return mergeProps(this.td_props(), {\r\n class: {'z-sortable': this.x.sortable, [`z-${this.sortOrder}`]: this.sortOrder && this.thead.sortUID == this.uid},\r\n onClick: this.onClick,\r\n }) \r\n },\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.vue?vue&type=script&lang=js\"\n\nexport default script","<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 sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -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(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.onmousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.onmousedown)\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","import { render } from \"./DialogMove.vue?vue&type=template&id=5a3b6ded\"\nimport script from \"./DialogMove.vue?vue&type=script&lang=js\"\nexport * from \"./DialogMove.vue?vue&type=script&lang=js\"\n\nimport \"./DialogMove.vue?vue&type=style&index=0&id=5a3b6ded&lang=css\"\nscript.render = render\n\nexport default script","<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 ...this.pubValidHooks,\r\n required: (v, r, q) => {\r\n if (r && (!v || v === '[]' || v === '{}')) {\r\n return this.formErr(q)\r\n }\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 main_prop() {\r\n return this.name && {\r\n onclick: e => this.warn(false)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import script from \"./Form.vue?vue&type=script&lang=js\"\nexport * from \"./Form.vue?vue&type=script&lang=js\"\n\nexport default script","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","<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 = !this.showDrop\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 closeDrop() {\r\n this.showDrop = false\r\n return this\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>","import script from \"./PickBox.vue?vue&type=script&lang=js\"\nexport * from \"./PickBox.vue?vue&type=script&lang=js\"\n\nimport \"./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"\n\nexport default script","<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","import { render } from \"./TemplateTip.vue?vue&type=template&id=e9652ce4\"\nimport script from \"./TemplateTip.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateTip.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","// 实现指令 v-dialog-move=\"true\"\r\n// 使对话框可拖动\r\n\r\nimport $ from '../dfish.js'\r\n\r\nfunction 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 sl = d.style.left\r\n let sr = d.style.right\r\n let st = d.style.top\r\n let sb = d.style.bottom\r\n let b = sb ? -1 : 1\r\n let r = sr ? -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(b < 0 ? sb : st)\r\n let l = $.number(r < 0 ? sr : sl)\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move-helper></div>').appendTo(document.body))\r\n let cx = $.numRange(e.clientX, 0, w)\r\n let cy = $.numRange(e.clientY, 0, n)\r\n o.setPosition({[v]: (t + b * (cy - y)) + 'px', [h]: (l + r * (cx - x)) + 'px'})\r\n }, function(e, moved) {\r\n moved && m && m.remove()\r\n }, e)\r\n }\r\n }\r\n}\r\n\r\nexport default {\r\n mounted(el, bind) {\r\n bind.value && el.addEventListener('mousedown', onmousedown)\r\n },\r\n unmounted(el) {\r\n el.removeEventListener('mousedown', onmousedown)\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","import script from \"./PubParent.vue?vue&type=script&lang=js\"\nexport * from \"./PubParent.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import {h} from 'vue'\r\n \r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign', 'data'],\r\n inject: ['table', 'provideInBody'],\r\n methods: {\r\n td_props() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let len = this.table.colgroup.length\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = len\r\n }\r\n let last = ci + (colspan || 1) == len\r\n return {\r\n class: ['w-td',\r\n last && 'w-td-lastborder',\r\n this.provideInBody && col.class, \r\n col.fixed && {\r\n [`w-td-fixed-${col.fixed}`]: true, \r\n [`w-td-fixed-left-last`]: col.fixed === 'left' && (this.table.colgroup[ci + 1] && this.table.colgroup[ci + 1].fixed != col.fixed),\r\n [`w-td-fixed-right-first`]: col.fixed === 'right' && (this.table.colgroup[ci - 1] && this.table.colgroup[ci - 1].fixed != col.fixed),\r\n }\r\n ],\r\n style: [this.provideInBody && col.style, col.fixed && {[`${col.fixed}`]: `var(--w-td-fixed-${col.fixed}-${ci})`}],\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }\r\n }\r\n },\r\n render() {\r\n return h('td', this.td_props(), this.$slots)\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.vue?vue&type=script&lang=js\"\n\nexport default script","import formIgnore from './form-ignore.js'\r\nimport dialogMove from './dialog-move.js'\r\nimport labelWidth from './label-width.js'\r\n\r\nexport default function(Vue) {\r\n Vue.directive('form-ignore', formIgnore)\r\n Vue.directive('dialog-move', dialogMove)\r\n Vue.directive('label-width', labelWidth)\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 from_to: '{0} 至 {1}',\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","<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 dir() {\r\n return 'h'\r\n },\r\n html_props() {\r\n let gap = this.x.gap\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br, [`f-${this.dir}-gap`]: gap != null && gap != '' && ($.br.compat.gap || gap < 0)}],\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 let gap = this.x.gap\r\n if (gap != null && gap != '') {\r\n return {\r\n 'gap': $.unitSize(gap, true),\r\n '--w-compat-gap': ($.br.compat.gap || gap < 0) ? $.unitSize(gap, true) : null,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Horizontal.vue?vue&type=script&lang=js\"\nexport * from \"./Horizontal.vue?vue&type=script&lang=js\"\n\nexport default script","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 }\r\n let s = (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 if (s.indexOf('w') > -1) {\r\n let w = dateWeek(a)\r\n s = s.replace('ww', strPad(w[1])).replace('w', w[1])\r\n }\r\n return s\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0$1');\r\n b = (b || _date_sf).replace(/\\b([MdHmsw])\\b/g, '$1$1');\r\n let c\r\n let y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date()\r\n .getFullYear())\r\n let M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0\r\n let d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1\r\n let H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0\r\n let m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0\r\n let s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0\r\n if ((c = b.indexOf('ww')) > -1) {\r\n let w = number(a.substr(c, 2))\r\n let t = dateWeek(new Date(y, 0, 1))\r\n if (t[0] != y)\r\n t = dateWeek(new Date(y, 0, 8))\r\n return new Date(t[2].getTime() + (w - 1) * 7 * _date_D)\r\n }\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\r\nconst dateWeek = function(a) {\r\n let b = $.x.weekPoint != null ? $.x.weekPoint : 1 //周的重心(星期几,从0到6)\r\n let c = $.x.weekStart != null ? $.x.weekStart : 1 //周的第一天(星期几,从0到6)\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// 获取某年的第一周\r\nconst dateWeekFirst = function(year) {\r\n let c = $.dateWeek(new Date(year, 0, 1))\r\n if (c[0] != year)\r\n c = $.dateWeek(new Date(year, 0, 8))\r\n return c\r\n}\r\n\r\n// 获取某年的最后一周\r\nconst dateWeekLast = function(year) {\r\n let b = dateWeek(new Date(year, 11, 31))\r\n if (b[0] !== year)\r\n b = dateWeek(new Date(year, 11, 31 - 7))\r\n return b\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 let 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 switch (c) {\r\n case 'y':\r\n let e = b.getFullYear() - a.getFullYear()\r\n let f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n let y = _dateDiff(a, b, 'y')\r\n let 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 dateWeek,\r\n dateWeekFirst,\r\n dateWeekLast,\r\n}\n","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-577edd5f\"\n\t],\n\t\"./assets/SVGIcon\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/SVGIcon.vue\": [\n\t\t\"5cd5\",\n\t\t9\n\t],\n\t\"./assets/dfish.css\": [\n\t\t\"d35b\",\n\t\t7\n\t],\n\t\"./assets/f/iconfont.ttf\": [\n\t\t\"87ef\",\n\t\t7,\n\t\t\"chunk-2d0df0d6\"\n\t],\n\t\"./assets/f/iconfont.woff\": [\n\t\t\"b872\",\n\t\t7,\n\t\t\"chunk-2d210667\"\n\t],\n\t\"./assets/f/iconfont.woff2\": [\n\t\t\"3927\",\n\t\t7,\n\t\t\"chunk-2d0bac21\"\n\t],\n\t\"./assets/g/f.png\": [\n\t\t\"0d6b\",\n\t\t7,\n\t\t\"chunk-2d0af116\"\n\t],\n\t\"./assets/g/i.png\": [\n\t\t\"9436\",\n\t\t7,\n\t\t\"chunk-2d0e53b4\"\n\t],\n\t\"./components/AMapPicker\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/AMapPicker.vue\": [\n\t\t\"505a\",\n\t\t9,\n\t\t\"chunk-02baca6a\"\n\t],\n\t\"./components/FormView\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-eda6ccec\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-77ff8882\"\n\t],\n\t\"./components/Sign\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/Sign.vue\": [\n\t\t\"2fc7\",\n\t\t9,\n\t\t\"chunk-0113803f\"\n\t],\n\t\"./components/task/FeedbkTR\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/FeedbkTR.vue\": [\n\t\t\"da31\",\n\t\t9,\n\t\t\"chunk-2d228891\"\n\t],\n\t\"./components/task/GoldView\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/GoldView.vue\": [\n\t\t\"37be\",\n\t\t9,\n\t\t\"chunk-0afcc52e\"\n\t],\n\t\"./components/task/HelloView\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/HelloView.vue\": [\n\t\t\"133f\",\n\t\t9,\n\t\t\"chunk-2d0aad2b\"\n\t],\n\t\"./components/task/LionView\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/LionView.vue\": [\n\t\t\"6886\",\n\t\t9,\n\t\t\"chunk-5f709e3a\"\n\t],\n\t\"./components/task/TaskAMapPicker\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-3cecfdf8\"\n\t],\n\t\"./components/task/TaskCombobox\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskCombobox.vue\": [\n\t\t\"d063\",\n\t\t9,\n\t\t\"chunk-2d21d0ff\"\n\t],\n\t\"./components/task/TaskDropbox\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskDropbox.vue\": [\n\t\t\"43c0\",\n\t\t9,\n\t\t\"chunk-2d0c0fe2\"\n\t],\n\t\"./components/task/TaskForm\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-446f13c2\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-280378c6\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-280378c6\"\n\t],\n\t\"./components/task/TaskJigsaw\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskJigsaw.vue\": [\n\t\t\"2dbf\",\n\t\t9,\n\t\t\"chunk-2d0bdf2c\"\n\t],\n\t\"./components/task/TaskLeaf\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeaf.vue\": [\n\t\t\"71fe\",\n\t\t9,\n\t\t\"chunk-2d0d660f\"\n\t],\n\t\"./components/task/TaskLeafFormat\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLeafFormat.vue\": [\n\t\t\"6c64\",\n\t\t9,\n\t\t\"chunk-2f7f0670\"\n\t],\n\t\"./components/task/TaskLinkbox\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskLinkbox.vue\": [\n\t\t\"067f\",\n\t\t9,\n\t\t\"chunk-2d0a448b\"\n\t],\n\t\"./components/task/TaskMenu\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskMenu.vue\": [\n\t\t\"4fe0\",\n\t\t9,\n\t\t\"chunk-2d0ccf93\"\n\t],\n\t\"./components/task/TaskPageBar\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPageBar.vue\": [\n\t\t\"405e\",\n\t\t9,\n\t\t\"chunk-c7c01ff4\"\n\t],\n\t\"./components/task/TaskPickBox\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-3d7d76fb\"\n\t],\n\t\"./components/task/TaskTR\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/TaskTR.vue\": [\n\t\t\"2e34\",\n\t\t9,\n\t\t\"chunk-2d0bdd0a\"\n\t],\n\t\"./components/task/WorldView\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./components/task/WorldView.vue\": [\n\t\t\"f84a\",\n\t\t9,\n\t\t\"chunk-2d22d7b5\"\n\t],\n\t\"./dfish\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./dfish.js\": [\n\t\t\"d40a\",\n\t\t9\n\t],\n\t\"./directive\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/dialog-move\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/dialog-move.js\": [\n\t\t\"7d83\",\n\t\t9\n\t],\n\t\"./directive/form-ignore\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/form-ignore.js\": [\n\t\t\"f393\",\n\t\t9\n\t],\n\t\"./directive/index\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/index.js\": [\n\t\t\"7f6c\",\n\t\t9\n\t],\n\t\"./directive/label-width\": [\n\t\t\"4637\",\n\t\t9\n\t],\n\t\"./directive/label-width.js\": [\n\t\t\"4637\",\n\t\t9\n\t],\n\t\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-f0cbe6e2\",\n\t\t\"chunk-38f61726\",\n\t\t\"chunk-577edd5f\",\n\t\t\"chunk-2d0c8faa\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-bb34eb02\"\n\t],\n\t\"./preload/PreloadAlert\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadAlert.vue\": [\n\t\t\"303b\",\n\t\t9,\n\t\t\"chunk-2d0b8aa2\"\n\t],\n\t\"./preload/PreloadConfirm\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadConfirm.vue\": [\n\t\t\"00dd\",\n\t\t9,\n\t\t\"chunk-2d0a3376\"\n\t],\n\t\"./preload/PreloadDialog\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9,\n\t\t\"chunk-2d0dd4a8\"\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9,\n\t\t\"chunk-2d0c8d69\"\n\t],\n\t\"./preload/Simple\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./preload/Simple.vue\": [\n\t\t\"f22e\",\n\t\t9,\n\t\t\"chunk-1da003f6\"\n\t],\n\t\"./template/TemplateAlert\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateAlert.vue\": [\n\t\t\"0903\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateConfirm.vue\": [\n\t\t\"c901\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateDateSheet.vue\": [\n\t\t\"c98d\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateJigsaw.vue\": [\n\t\t\"ba3e\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplateLoading.vue\": [\n\t\t\"560f\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplatePreviewMedia.vue\": [\n\t\t\"f5f5\",\n\t\t9\n\t],\n\t\"./template/TemplateTip\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./template/TemplateTip.vue\": [\n\t\t\"7c54\",\n\t\t9\n\t],\n\t\"./util/browser\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/browser.js\": [\n\t\t\"af14\",\n\t\t9\n\t],\n\t\"./util/css\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/css.js\": [\n\t\t\"a695\",\n\t\t9\n\t],\n\t\"./util/date\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/date.js\": [\n\t\t\"84df\",\n\t\t9\n\t],\n\t\"./util/elem\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/elem.js\": [\n\t\t\"d885\",\n\t\t9\n\t],\n\t\"./util/event\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/event.js\": [\n\t\t\"b2eb\",\n\t\t9\n\t],\n\t\"./util/json\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/json.js\": [\n\t\t\"368c\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/loc/zh-CN.js\": [\n\t\t\"8441\",\n\t\t9\n\t],\n\t\"./util/mime\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/mime.js\": [\n\t\t\"9941\",\n\t\t9\n\t],\n\t\"./util/number\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/number.js\": [\n\t\t\"2f82\",\n\t\t9\n\t],\n\t\"./util/range\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/range.js\": [\n\t\t\"7333\",\n\t\t9\n\t],\n\t\"./util/snap\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/snap.js\": [\n\t\t\"428f\",\n\t\t9\n\t],\n\t\"./util/str\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/str.js\": [\n\t\t\"2de2\",\n\t\t9\n\t],\n\t\"./util/uid\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/uid.js\": [\n\t\t\"465a\",\n\t\t9\n\t],\n\t\"./util/v-directive\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./util/v-directive.js\": [\n\t\t\"3894\",\n\t\t9,\n\t\t\"chunk-2d0ba936\"\n\t],\n\t\"./widgets\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/Album\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Album.vue\": [\n\t\t\"b731\",\n\t\t9\n\t],\n\t\"./widgets/Alert\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/Alert.vue\": [\n\t\t\"af36\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/AlignParent.vue\": [\n\t\t\"01ce\",\n\t\t9\n\t],\n\t\"./widgets/Button\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/Button.vue\": [\n\t\t\"4716\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/ButtonBar.vue\": [\n\t\t\"3289\",\n\t\t9\n\t],\n\t\"./widgets/Calendar\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/Calendar.vue\": [\n\t\t\"c3b3\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBox.vue\": [\n\t\t\"4ecb\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/CheckBoxGroup.vue\": [\n\t\t\"eb89\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/ComboBox.vue\": [\n\t\t\"3287\",\n\t\t9\n\t],\n\t\"./widgets/Confirm\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/Confirm.vue\": [\n\t\t\"b45e\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/DatePicker.vue\": [\n\t\t\"92a4\",\n\t\t9\n\t],\n\t\"./widgets/Dialog\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/Dialog.vue\": [\n\t\t\"c617\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DialogMove.vue\": [\n\t\t\"7016\",\n\t\t9\n\t],\n\t\"./widgets/DocView\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DocView.vue\": [\n\t\t\"3d26\",\n\t\t9\n\t],\n\t\"./widgets/DropBox\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/DropBox.vue\": [\n\t\t\"f9f3\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/FileUpload.vue\": [\n\t\t\"39de\",\n\t\t9\n\t],\n\t\"./widgets/Form\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/Form.vue\": [\n\t\t\"72aa\",\n\t\t9\n\t],\n\t\"./widgets/FormBase\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/FormBase.vue\": [\n\t\t\"1e42\",\n\t\t9\n\t],\n\t\"./widgets/Grid\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Grid.vue\": [\n\t\t\"e7fa\",\n\t\t9\n\t],\n\t\"./widgets/Hidden\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Hidden.vue\": [\n\t\t\"1bea\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Horizontal.vue\": [\n\t\t\"8464\",\n\t\t9\n\t],\n\t\"./widgets/Html\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/Html.vue\": [\n\t\t\"6b69\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/ImageUpload.vue\": [\n\t\t\"3c8e\",\n\t\t9\n\t],\n\t\"./widgets/Img\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Img.vue\": [\n\t\t\"e660\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Jigsaw.vue\": [\n\t\t\"d4df\",\n\t\t9\n\t],\n\t\"./widgets/Label\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Label.vue\": [\n\t\t\"56be\",\n\t\t9\n\t],\n\t\"./widgets/Leaf\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/Leaf.vue\": [\n\t\t\"c00c\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/LinkBox.vue\": [\n\t\t\"2769\",\n\t\t9\n\t],\n\t\"./widgets/Loading\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/Loading.vue\": [\n\t\t\"ea2f\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUpload.vue\": [\n\t\t\"e8fd\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/MediaUploadItem.vue\": [\n\t\t\"bb18\",\n\t\t9\n\t],\n\t\"./widgets/Menu\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/Menu.vue\": [\n\t\t\"122b\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/MenuButton.vue\": [\n\t\t\"2f9f\",\n\t\t9\n\t],\n\t\"./widgets/Option\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/Option.vue\": [\n\t\t\"2aa7\",\n\t\t9\n\t],\n\t\"./widgets/PageBar\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/PageBar.vue\": [\n\t\t\"1729\",\n\t\t9\n\t],\n\t\"./widgets/Password\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/Password.vue\": [\n\t\t\"6adf\",\n\t\t9\n\t],\n\t\"./widgets/PickBox\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/PickBox.vue\": [\n\t\t\"783d\",\n\t\t9\n\t],\n\t\"./widgets/Pop\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Pop.vue\": [\n\t\t\"a368\",\n\t\t9\n\t],\n\t\"./widgets/Progress\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/Progress.vue\": [\n\t\t\"e06a\",\n\t\t9\n\t],\n\t\"./widgets/PubParent\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/PubParent.vue\": [\n\t\t\"7e11\",\n\t\t9\n\t],\n\t\"./widgets/Radio\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/Radio.vue\": [\n\t\t\"edc2\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/RadioGroup.vue\": [\n\t\t\"d597\",\n\t\t9\n\t],\n\t\"./widgets/Range\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Range.vue\": [\n\t\t\"af03\",\n\t\t9\n\t],\n\t\"./widgets/Rate\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/Rate.vue\": [\n\t\t\"a03d\",\n\t\t9\n\t],\n\t\"./widgets/RateStar\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/RateStar.vue\": [\n\t\t\"183f\",\n\t\t9,\n\t\t\"chunk-2d0abff0\"\n\t],\n\t\"./widgets/Scroll\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/Scroll.vue\": [\n\t\t\"9667\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumn.vue\": [\n\t\t\"a506\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableColumns.vue\": [\n\t\t\"4e44\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTBody.vue\": [\n\t\t\"3dd9\",\n\t\t9\n\t],\n\t\"./widgets/TableTD\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTD.vue\": [\n\t\t\"7f02\",\n\t\t9\n\t],\n\t\"./widgets/TableTH\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTH.vue\": [\n\t\t\"6df1\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTHead.vue\": [\n\t\t\"ac97\",\n\t\t9\n\t],\n\t\"./widgets/TableTR\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/TableTR.vue\": [\n\t\t\"d1dc\",\n\t\t9\n\t],\n\t\"./widgets/Tabs\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Tabs.vue\": [\n\t\t\"b4db\",\n\t\t9\n\t],\n\t\"./widgets/Text\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Text.vue\": [\n\t\t\"f00f\",\n\t\t9\n\t],\n\t\"./widgets/Textarea\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Textarea.vue\": [\n\t\t\"92c9\",\n\t\t9\n\t],\n\t\"./widgets/Timeline\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/Timeline.vue\": [\n\t\t\"5ec7\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/TimelineItem.vue\": [\n\t\t\"6cc0\",\n\t\t9\n\t],\n\t\"./widgets/Tip\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Tip.vue\": [\n\t\t\"86ed\",\n\t\t9\n\t],\n\t\"./widgets/Toggle\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Toggle.vue\": [\n\t\t\"c8fb\",\n\t\t9\n\t],\n\t\"./widgets/Tree\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/Tree.vue\": [\n\t\t\"6a4c\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/TripleBox.vue\": [\n\t\t\"ecbe\",\n\t\t9\n\t],\n\t\"./widgets/Vertical\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Vertical.vue\": [\n\t\t\"d686\",\n\t\t9\n\t],\n\t\"./widgets/Video\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/Video.vue\": [\n\t\t\"9be7\",\n\t\t9\n\t],\n\t\"./widgets/View\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/View.vue\": [\n\t\t\"2e86\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/ViewAbs.vue\": [\n\t\t\"38da\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetAbs.vue\": [\n\t\t\"d0e8\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/WidgetBase.vue\": [\n\t\t\"dbeb\",\n\t\t9\n\t],\n\t\"./widgets/index\": [\n\t\t\"bb84\",\n\t\t9\n\t],\n\t\"./widgets/index.js\": [\n\t\t\"bb84\",\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(2).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, ids[1])\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"8673\";\nmodule.exports = webpackAsyncContext;","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n let tipCache = {\r\n time: new Date().getTime()\r\n }\r\n export {tipCache}\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 tipCache.time = new Date().getTime()\r\n inst && $.close(inst)\r\n inst = this.uid\r\n },\r\n unmounted() {\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","import script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\nimport \"./Tip.vue?vue&type=style&index=0&id=129e762e&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"","<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: ['showButton', 'multiple', 'format', 'autoFix', 'compare', 'minValue', 'maxValue', 'dropClass', 'enableHour', 'enableMinute', 'enableSecond',\r\n 'defaultHour', 'defaultMinute', 'defaultSecond' ],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n focusValue: 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 autoFix: true,\r\n showButton: true,\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 180\r\n }\r\n },\r\n isUsableVal(v) {\r\n if (!$.dateValid(v, this.x.format)) return false\r\n let eh = this.x.enableHour && $.arrayNumber(this.x.enableHour)\r\n let em = this.x.enableMinute && $.arrayNumber(this.x.enableMinute)\r\n let es = this.x.enableSecond && $.arrayNumber(this.x.enableSecond)\r\n if (eh || em || es) {\r\n let d = $.dateParse(v, this.x.format)\r\n if ((eh && !eh.includes(d.getHours())) || (em && !em.includes(d.getMinutes())) || (es && !es.includes(d.getSeconds()))) return false\r\n }\r\n return true\r\n },\r\n onfocus(e) {\r\n this.focusValue = this.x.modelValue\r\n this.baseFocus(e)\r\n },\r\n onkeyup() {\r\n this.showDrop = true\r\n },\r\n onclose() {\r\n this.showDrop = false\r\n this.currentDate = null\r\n this.doAutoFix()\r\n },\r\n doAutoFix() {\r\n let v = this.x.modelValue\r\n if (v) {\r\n if (!this.isUsableVal(v)) {\r\n this.x.autoFix && this.val(this.focusValue)\r\n } else {\r\n let re = /\\b(\\d)\\b/g\r\n if (re.test(v)) {\r\n this.val(v.replace(re, '0$1'))\r\n }\r\n }\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 getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let f = this.x.format\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.dateValid(v, f) && $.dateValid(tv, f)) {\r\n let d = $.dateParse(v, f)\r\n let td = $.dateParse(tv, f)\r\n if (!$.eval('d' + m + 'td', {d, td}))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n let f = this.x.format || ''\r\n let timeCols = 0\r\n if (f.includes('H')) timeCols ++\r\n if (f.includes('m')) timeCols ++\r\n if (f.includes('s')) timeCols ++\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n \r\n if (this.x.showButton) 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', this.dropClass, {'z-hastime': timeCols, 'z-onlytime': onlyTime}],\r\n style: {'--w-datepicker-time-cols': (timeCols || '')},\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 onClose: this.onclose\r\n }, {\r\n default: () => h(Calendar, {\r\n height: '*',\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 enableHour: this.x.enableHour,\r\n enableMinute: this.x.enableMinute,\r\n enableSecond: this.x.enableSecond,\r\n defaultHour: this.x.defaultHour,\r\n defaultMinute: this.x.defaultMinute,\r\n defaultSecond: this.x.defaultSecond,\r\n success: this.calendarCallback,\r\n 'onClick:item': (e, item) => {this.currentDate = item.value},\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 ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) < $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && $.dateParse(v, this.x.format) > $.dateParse(r, this.x.format))\r\n return this.formErr(q)\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v, r, q) => {\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({type: 'time_exceed'}, [n, m])\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr({type: 'time_format'}, [$.dateFormat(new Date, this.x.format)]);\r\n }\r\n }\r\n if (this.defaultRuleValue('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'beforeNow'}, [this.x.beforeNow])\r\n if (this.defaultRuleValue('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr({type: 'afterNow'}, [this.x.afterNow])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({type: 'compare'}, e)\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile ? {\r\n readonly: true,\r\n } : {\r\n onfocus: this.onfocus,\r\n onkeyup: this.onkeyup,\r\n }\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","import script from \"./DatePicker.vue?vue&type=script&lang=js\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import script from \"./Textarea.vue?vue&type=script&lang=js\"\nexport * from \"./Textarea.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rate.vue?vue&type=style&index=0&id=54536848&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\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 let ov = this.$refs.wScrollOverflow\r\n let x = this.wScrollPercentX\r\n let y = this.wScrollPercentY\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 = ov.scrollLeft\r\n scrTop = ov.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n ov.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * x)\r\n } else {\r\n ov.scrollTop = scrTop + ((mvEv.clientY - dnY) * y)\r\n }\r\n }, (upEv, moved) => {\r\n if (moved)\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView', 'scrollFlex'],\r\n data() {\r\n return {\r\n wScrollPercentX: false,\r\n wScrollPercentY: false,\r\n wScrollSizeX: false,\r\n wScrollSizeY: false,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n isDeactivated: false,\r\n }\r\n },\r\n watch: {\r\n scrollXPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n scrollYPosition(v) {\r\n this.onScrollPosition(v)\r\n },\r\n wScrollPercentX(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-x', '') : el.removeAttribute('w-scroll-show-x')\r\n }\r\n },\r\n wScrollPercentY(v) {\r\n let el = this.el()\r\n if (el) {\r\n v ? el.setAttribute('w-scroll-show-y', '') : el.removeAttribute('w-scroll-show-y')\r\n }\r\n }\r\n },\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollPosition() {\r\n //implement\r\n },\r\n onScrollAttributeChange(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 let a = this.ovf()\r\n if (!a) return r && r()\r\n let b = this.$refs.wScrollCont || a\r\n let c = $.bcr(a)\r\n let d = $.bcr(b)\r\n let f = e ? $.bcr(e) : d\r\n let 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 if (y === 'nearest') {\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 } else {\r\n if (f.top < c.top || f.bottom > c.bottom)\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\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 if (x === 'nearest') {\r\n if (f.left < c.left)\r\n l = a.scrollLeft - c.left + f.left\r\n else if (f.right > c.right)\r\n l = a.scrollLeft + f.right - c.right\r\n } else {\r\n if (f.left < c.left || f.right > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\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 && (t != null || l != null)) {\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()\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()\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 onscroll: onScroll.bind(this),\r\n onmouseenter: this.initScroll\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 }))]\r\n ] : (s || (this.$slots.default && this.$slots.default()))\r\n\r\n },\r\n scrollState() {\r\n if ($.br.mobile || !this.$refs.wScrollCont || !this.el()) return\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let x, y;\r\n if (this.x.scrollX) {\r\n let size = cont.width > flow.width && cont.width - flow.width\r\n if (size && size <= 1) size = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (size) {\r\n x = {\r\n size,\r\n percent: flow.width / cont.width\r\n }\r\n }\r\n }\r\n if (this.x.scrollY) {\r\n let size = cont.height > flow.height && cont.height - flow.height\r\n if (size) {\r\n y = {\r\n size,\r\n percent: flow.height / cont.height\r\n }\r\n }\r\n }\r\n return {x, y}\r\n },\r\n initScroll() {\r\n const state = this.scrollState()\r\n if (!state) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const {x, y} = state\r\n if (x) {\r\n let thbX = x.percent * wrap.width\r\n this.$refs.wScrollBarThumbX.style.width = Math.max(20, thbX) + 'px'\r\n this.wScrollSizeX = x.size\r\n this.wScrollPercentX = x.size && (x.size / ((1 - x.percent) * (wrap.width - (thbX < 20 ? 20 - thbX : 0))))\r\n } else {\r\n this.wScrollSizeX = this.wScrollPercentX = false\r\n }\r\n if (y) {\r\n let thbY = y.percent * wrap.height\r\n this.$refs.wScrollBarThumbY.style.height = Math.max(20, thbY) + 'px'\r\n this.wScrollSizeY = y.size\r\n this.wScrollPercentY = y.size && (y.size / ((1 - y.percent) * (wrap.height - (thbY < 20 ? 20 - thbY : 0))))\r\n } else {\r\n this.wScrollSizeY = this.wScrollPercentY = false\r\n }\r\n },\r\n scroll_observe() {\r\n if (this.isDeactivated) return\r\n this.initScroll()\r\n this.$refs.wScrollOverflow && this.$refs.wScrollOverflow.dispatchEvent(new Event('scroll'))\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-flex': this.x.scrollFlex,\r\n }\r\n },\r\n\r\n },\r\n mounted() {\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 this.el() && new MutationObserver(this.onScrollAttributeChange).observe(this.el(), {attributes: true})\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n //router切回来时,让滚动条滚动到切出去之前的位置\r\n if (this.x.scrollY && this.$refs.wScrollBarThumbY) {\r\n this.scrollToY($.number(this.$refs.wScrollBarThumbY.style.transform) * this.wScrollPercentY)\r\n }\r\n if (this.x.scrollX && this.$refs.wScrollBarThumbX) {\r\n this.scrollToX($.number(this.$refs.wScrollBarThumbX.style.transform) * this.wScrollPercentX)\r\n }\r\n\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-flex>.w-scroll-overflow {\r\n display: flex;\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[w-scroll-show-x]>.w-scrollbar-x,\r\n .w-scroll[w-scroll-show-y]>.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 user-select: none;\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 user-select: none;\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 min-width: 20px;\r\n }\r\n\r\n\r\n .w-scrollbar-y>.w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n min-height: 20px;\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>\n","import script from \"./Scroll.vue?vue&type=script&lang=js\"\nexport * from \"./Scroll.vue?vue&type=script&lang=js\"\n\nimport \"./Scroll.vue?vue&type=style&index=0&id=12c136aa&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LinkBox.vue?vue&type=style&index=0&id=d62f9532&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"","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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"","<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","import script from \"./Video.vue?vue&type=script&lang=js\"\nexport * from \"./Video.vue?vue&type=script&lang=js\"\n\nimport \"./Video.vue?vue&type=style&index=0&id=7ee48295&lang=css\"\n\nexport default script","<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.inVertical\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, moved) => {\r\n if (moved && 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 inVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.inVertical ? '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","import script from \"./Split.vue?vue&type=script&lang=js\"\nexport * from \"./Split.vue?vue&type=script&lang=js\"\n\nimport \"./Split.vue?vue&type=style&index=0&id=64ffe5ca&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-rate',\r\n mixins: [FormBase],\r\n props: ['allowHalf', 'cancelable', 'sum', 'count', 'text'],\r\n data() {\r\n return {\r\n hoverWrap: false,\r\n hoverIndex: -1,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n sum: 5,\r\n count: 5,\r\n }\r\n },\r\n hoverItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.hoverIndex = i\r\n },\r\n clickItem(e, i) {\r\n if (!this.isNormal) return;\r\n this.x.modelValue = this.x.cancelable && this.x.modelValue == i ? '' : i\r\n },\r\n html_star(i) {\r\n return h(Img, {\r\n class: ['w-rate-star-icon', {'z-hv': this.hoverWrap && i <= this.hoverIndex, 'z-on': !this.hoverWrap && i <= this.x.modelValue}],\r\n src: '.f-i .f-i-star-full', \r\n onMouseenter: e => this.hoverItem(e, i),\r\n onClick: e => this.clickItem(e, i),\r\n disabled: !this.isNormal\r\n })\r\n },\r\n html_input() {\r\n let half = this.x.allowHalf ? .5 : 1\r\n let sum = this.x.sum || 5\r\n let count = this.x.count || 5\r\n let step = sum * half / count \r\n let stars = []\r\n for (let i = step; i <= this.x.sum; i += step / half) {\r\n let icons = [this.html_star(i)]\r\n if (this.x.allowHalf) icons.push(this.html_star(i + step))\r\n stars.push(h('li', {class: 'w-rate-star'}, icons))\r\n }\r\n return [\r\n this.html_input_hidden(),\r\n h('ul', {\r\n class: 'w-rate-wrap',\r\n onMouseenter: e => this.isNormal && (this.hoverWrap = true),\r\n onMouseleave: e => this.isNormal && (this.hoverWrap = false),\r\n },\r\n stars\r\n ),\r\n this.x.text && this.x.modelValue && h('span', {class: 'w-rate-text'}, this.x.text[(this.x.modelValue - step) / half])\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {\r\n 'z-allow-half': this.x.allowHalf\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-rate-wrap {\r\n padding: 0 0 0 10px;\r\n margin: 0;\r\n display: flex;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star:last-child {\r\n margin-right: 0;\r\n }\r\n .w-rate-star {\r\n margin: 0 10px 0 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n .w-rate-star-icon {\r\n position: relative;\r\n overflow: hidden;\r\n align-items: flex-start;\r\n color: #bbb;\r\n }\r\n .w-rate-star-icon:nth-child(2) {\r\n align-items: flex-end;\r\n margin-top: -100%;\r\n margin-left: 50%;\r\n }\r\n .w-rate-star-icon.z-hv,\r\n .w-rate-star-icon.z-on {\r\n color: gold;\r\n }\r\n \r\n .w-rate.z-allow-half .w-rate-star-icon {\r\n width: 50%;\r\n }\r\n \r\n .w-rate-text {\r\n margin-left: 10px;\r\n }\r\n\r\n</style>\r\n","import script from \"./Rate.vue?vue&type=script&lang=js\"\nexport * from \"./Rate.vue?vue&type=script&lang=js\"\n\nimport \"./Rate.vue?vue&type=style&index=0&id=54536848&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h, toRaw, Teleport, defineAsyncComponent} from '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 import TemplateLoading from '../template/TemplateLoading.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n Loading: TemplateLoading\r\n }\r\n \r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n render() {\r\n if (this.p.hidden) return h(Teleport, {to: '#w-dfish-pops'})\r\n let com\r\n let t = this.p.cmd.template\r\n let props = $.lodash.omit(this.p.cmd, 'template')\r\n if (t && typeof t === 'string') {\r\n let sfx = '.vue'\r\n t = t.startsWith('@/') ? t.slice(2) : ($.x.templateDir || '') + t\r\n if (!t.endsWith(sfx)) t += sfx\r\n com = defineAsyncComponent({\r\n loader: () => import(/* @vite-ignore */`/src/${t}`),\r\n errorComponent: h(TemplateAlert, {text: `${t} 不存在`, icon: 'error', title: '操作提示', style: {width: 'auto', height: 'auto'}})\r\n })\r\n } else {\r\n com = toRaw(t || templateHooks[this.p.cmd.type])\r\n }\r\n return com && h(com, props)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","import script from \"./TableColumn.vue?vue&type=script&lang=js\"\nexport * from \"./TableColumn.vue?vue&type=script&lang=js\"\n\nexport default script","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}","<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 position: relative;\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 left: 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","import script from \"./Swiper.vue?vue&type=script&lang=js\"\nexport * from \"./Swiper.vue?vue&type=script&lang=js\"\n\nimport \"./Swiper.vue?vue&type=style&index=0&id=385a8e70&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"","<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: -2,\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 sortUID: null,\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\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.width) || $.number(c['min-width'])\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 }, [\r\n //h('colgroup', null, cg.map(v => h('col', {style: {width: v.width == '*' ? null : $.unitSize(v.width)}}))),\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 }\r\n</script>\n","import script from \"./TableTHead.vue?vue&type=script&lang=js\"\nexport * from \"./TableTHead.vue?vue&type=script&lang=js\"\n\nexport default script","<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 getRangeError() {\r\n let f = this.forms()\r\n if (f && f.length) {\r\n return f[0].getCompareError(f[0].formVal(), {target: f[1], mode: this.x.mode})\r\n }\r\n },\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 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.z-full > .w-input > .w-formbase:not(.z-fixed) {\r\n flex: 1;\r\n }\r\n .w-range > .w-input > .w-formbase {\r\n height: 100%;\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","import script from \"./Range.vue?vue&type=script&lang=js\"\nexport * from \"./Range.vue?vue&type=script&lang=js\"\n\nimport \"./Range.vue?vue&type=style&index=0&id=8a31b61c&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\nlet firefox = u.match(/\\bfirefox\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: firefox && parseFloat(firefox[1]),\r\n safari: !chrome && u.indexOf('safari') > 0,\r\n ie: (navigator.appName === 'Microsoft Internet Explorer' || u.indexOf('trident') > 0) && document.documentMode,\r\n compat: {\r\n gap: false\r\n },\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\nif ((r.chrome && r.chrome < 84) || (r.firefox && r.firefox < 63)) {\r\n r.compat.gap = true\r\n}\r\n\r\nexport default r\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', 'showButton'],\r\n mounted() {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n },\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 }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Menu.vue?vue&type=style&index=0&id=1c251b50&lang=css\"","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.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 constructor(ctx) {\r\n this.ctx = ctx\r\n }\r\n hasEvent(type) {\r\n let a = _event_handlers(this.ctx, 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, one) {\r\n var k = {\r\n id: uid(this.ctx),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\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) {\r\n return this.addEvent(type, fn, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this.ctx, 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(this.ctx, 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\r\n removeEvent(a, b) {\r\n if (a) {\r\n var d = _event_handlers(this.ctx, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (!b || (d[i].fn === b)) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this.ctx)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this.ctx)];\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 if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = 'none'\r\n }\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 if (downEv.currentTarget) {\r\n downEv.currentTarget.style.userSelect = ''\r\n }\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {passive: false});\r\n upCB && upCB(e, dir)\r\n }, true);\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {passive: false})\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Spinner.vue?vue&type=style&index=0&id=01e0296a&lang=css\"","<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","import script from \"./Confirm.vue?vue&type=script&lang=js\"\nexport * from \"./Confirm.vue?vue&type=script&lang=js\"\n\nexport default script","<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: -1\r\n }\r\n },\r\n clickTab(tab) {\r\n this.x.current = tab.getKey()\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n let pos = this.x.position\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props || v.props.key == null) {\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 vertical: pos == 'left' || pos == 'right',\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n clickTab: this.clickTab\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 let pos = this.x.position\r\n return 'f-oh f-flex' + (pos == 'top' || pos == 'bottom' ? '-column' : '') + ' z-pos-' + pos\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n .w-tabs-buttonbar {\r\n position: relative;\r\n background: #f5f5f5;\r\n }\r\n \r\n .w-tabs-buttonbar:after {\r\n content: '';\r\n position: absolute;\r\n background: #ddd;\n }\r\n \r\n .w-tab.z-on {\r\n position: relative;\r\n z-index: 1;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-bottom-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-top > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar:after {\r\n width: 100%;\r\n height: 1px;\r\n top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab {\r\n border-bottom: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-bottom > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-top-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-right-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab {\r\n border-left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-left > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar {\r\n order: 1;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-swiper {\r\n order: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab.z-on {\r\n border-left-color: #fff;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar:after {\r\n width: 1px;\r\n height: 100%;\r\n left: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab {\r\n border-right: 0;\r\n }\r\n \r\n .w-tabs.z-pos-right > .w-tabs-buttonbar > .w-tab:first-child {\r\n border-top: 0;\r\n }\r\n \r\n \r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\n\nimport \"./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"\n\nexport default script","<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","import script from \"./Album.vue?vue&type=script&lang=js\"\nexport * from \"./Album.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"","<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","import { render } from \"./TemplateJigsaw.vue?vue&type=template&id=2c16ab31\"\nimport script from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateJigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"\nscript.render = render\n\nexport default script","<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","import { render } from \"./MediaUploadItem.vue?vue&type=template&id=07113717\"\nimport script from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUploadItem.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUploadItem.vue?vue&type=style&index=0&id=07113717&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport directive from '../directive/index.js'\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 SlidePicker from './SlidePicker.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\nimport Rate from './Rate.vue'\r\n\r\n\r\nconst WIDGET = {\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, SlidePicker,\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, Rate\r\n}\r\n\r\n//每个组件从这里曝露,以便在某些极端情境下,业务可以修改源码\r\n$.WIDGET = WIDGET\r\n\r\n//按Vue要求提供install接口\r\n$.install = (Vue) => {\r\n //注册组件\r\n Object.keys(WIDGET).forEach(k => Vue.component(WIDGET[k].name, WIDGET[k]))\r\n //注册指令\r\n Vue.use(directive)\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-bg-top\"></div>\r\n <div v-if=\"x.cover\" class=\"w-slidepicker-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 computed,\r\n ref,\r\n h,\r\n } from 'vue'\r\n import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-slidepicker',\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex', 'cover'],\r\n emits: ['update:modelValue', 'change'],\r\n setup(props, context) {\r\n const self = getCurrentInstance().ctx\r\n const root = ref()\r\n const options = ref()\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n\r\n const onmousedown = 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 options.value.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 options.value.style.transform = `translateY(${moveY}px)`\r\n }, (e, moved) => {\r\n if (!moved) {\r\n return onclick(downEv)\r\n }\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 options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform ${s}s ease-out`\r\n }\r\n }, downEv)\r\n }\r\n const onwheel = function(e) {\r\n optY += (e.wheelDelta < 0 ? -1 : 1) * optH\r\n optY = $.numRange(optY, minY, maxY)\r\n options.value.style.transform = `translateY(${optY}px)`\r\n options.value.style.transition = `transform .12s ease-out`\r\n }\r\n const onclick = function(e) {\r\n let g = $(e)\r\n if (g.$options.name == 'w-option') {\r\n update(g.$props.value)\r\n focus(true)\r\n }\r\n }\r\n const focus = function(ease) {\r\n if (!root.value || !options.value) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.x.modelValue\r\n let nv = self.x.minValue\r\n let xv = self.x.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.x.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(root.value)\r\n let bcrOpt = $.bcr(options.value)\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 options.value.style.transition = ''\r\n options.value.style.transform = `translateY(${optY}px)`\r\n if (ease) {\r\n options.value.style.transition = `transform .15s ease-out`\r\n }\r\n }\r\n\r\n const update = function(v) {\r\n roll = true\r\n self.x.modelValue = v\r\n }\r\n \r\n const getIndex = function() {\r\n return (startY - optY) / optH\r\n }\r\n \r\n const transEnd = function() {\r\n let ret = self.slots_children()[getIndex()]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n const x_default = function() {\r\n return {\r\n optionHeight: 32,\r\n cover: true\r\n }\r\n }\r\n\r\n const html_props = computed(() => {\r\n return {\r\n style: {\r\n '--w-option-height': $.unitSize(self.x.optionHeight)\r\n },\r\n ...($.br.mobile ? {\r\n ontouchstart: onmousedown\r\n } : {\r\n onmousedown,\r\n onwheel,\r\n })\r\n }\r\n })\r\n\r\n onMounted(() => {\r\n watch(() => self.x.modelValue, v => {\r\n context.emit('update:modelValue', v)\r\n context.emit('change', v)\r\n })\r\n watch(() => self.x.minValue, focus)\r\n watch(() => self.x.maxValue, focus)\r\n new ResizeObserver(() => {\r\n if (options.value) {\r\n focus()\r\n transEnd()\r\n }\r\n }).observe(options.value)\r\n options.value.addEventListener('transitionend', transEnd)\r\n })\r\n\r\n return {\r\n root,\r\n options,\r\n x_default,\r\n onmousedown,\r\n onwheel,\r\n html_props,\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-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-slidepicker-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-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n /* pointer-events: none; */\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=2b33e34a\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=2b33e34a&lang=css\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h, 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', 'expanded', 'expandedIcon', 'collapsedIcon', 'icon', 'boxSync', 'src', 'disabled'],\r\n inject: ['providePubParent', 'provideLevel', 'provideParentLeaf', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLevel: this.provideLevel + 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.getInitLoaded()\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n let chd = (this.x || this.$props).children\r\n if (chd === true || (Array.isArray(chd) && chd.length)) return true\r\n },\r\n childrenList() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || !this.getSrc() ? true : false\r\n },\r\n isExpanded() {\r\n return this.provideParentTR ? this.provideParentTR.isExpanded() : this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : !!(this.getSrc() && !this.loaded)\r\n },\r\n toggle(exp, fn) {\r\n (this.provideParentTR || this).setExpanded(exp)\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(fn)\r\n } else {\r\n fn && this.$nextTick(fn)\r\n }\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n onclick(e) {\r\n if (this.x.disabled) {\r\n if (!this.$refs.toggle || !this.$refs.toggle.contains(e.target))\r\n e.stopPropagation()\r\n return\r\n }\r\n if (this.boxProxy && this.x.boxSync) {\r\n this.boxProxy.check(!this.boxProxy.isChecked)\r\n this.triple()\r\n }\r\n },\r\n // triplebox 级联勾选\r\n triple() {\r\n if (!this.boxProxy || this.boxProxy.$options.name !== 'w-triplebox') return\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.childrenList()\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.childrenList().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 expandToView() {\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 html_self() {\r\n let exp = this.isExpanded()\r\n let ico = this.isFolder() ? (exp ? this.x.expandedIcon : this.x.collapsedIcon) : this.x.icon\r\n return h('div', mergeProps(this.html_attrs, this.html_props, this.$attrs), [\r\n this.loading ?\r\n h(Img, {\r\n src: '#f-svg-loading',\r\n class: 'w-leaf-loading'\r\n }) :\r\n h('div', {\r\n ref: 'toggle',\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'\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text 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 html_cont() {\r\n let r\r\n let chd = this.x.children\r\n let tree = this.pubParent\r\n if (Array.isArray(chd) && tree) {\r\n r = chd.map(item => tree.$slots.default({item}))\r\n }\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 }, r)\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 level() {\r\n return this.provideParentTR ? this.provideParentTR.level : this.provideLevel + 1\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let exp = this.isExpanded()\r\n let fd = this.isFolder()\r\n let ds = this.x.disabled\r\n let prop = {\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': ds,\r\n 'z-folder': fd,\r\n 'z-expanded': fd && exp,\r\n 'z-collapse': fd && !exp\r\n },\r\n style: 'padding-left:' + $.unitSize(this.level * 16),\r\n }\r\n if (this.pubParent) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n prop[`onClick${ds?'Capture':''}`] = this.onclick\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) this.pubParent.viewCurrent(this)\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 width: 100%;\r\n text-align: left;\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 opacity: #777;\r\n }\r\n \r\n .w-leaf.z-on .w-leaf-toggle,\r\n .w-leaf.z-on .f-svg {\r\n color: currentcolor;\r\n fill: currentcolor;\r\n }\r\n\r\n .w-leaf-loading {\r\n width: 20px;\r\n margin-left: 1px;\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 .w-leaf .w-checkbox, \r\n .w-leaf .w-radio {\r\n margin-right: 6px;\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 \r\n .w-leaf.z-ds {\r\n color: #999;\r\n }\r\n \r\n</style>\n","import script from \"./Leaf.vue?vue&type=script&lang=js\"\nexport * from \"./Leaf.vue?vue&type=script&lang=js\"\n\nimport \"./Leaf.vue?vue&type=style&index=0&id=1baf3a86&lang=css\"\n\nexport default script","<template>\r\n <w-vertical v-bind=\"html_binds\" :class=\"['f-rel', 'w-calendar-' + this.x.face]\">\r\n <w-vertical class=\"w-calendar-main\" v-if=\"!onlyTime\">\r\n <w-horizontal :class=\"['w-calendar-head', {'f-h-gap': dfish.br.compat.gap}]\" valign=\"middle\" align=\"center\">\r\n <i class=\"w-calendar-head-prev-year f-i f-i-angle-double-left f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(-12)\"></i>\r\n <i class=\"w-calendar-head-prev f-i f-i-angle-single-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal :class=\"['w-calendar-head-pop', {'f-h-gap': dfish.br.compat.gap}]\">\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\"\r\n :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=\"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-angle-single-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <i class=\"w-calendar-head-next-year f-i f-i-angle-double-right f-pointer\" v-if=\"x.face == 'date'\"\r\n @click=\"clickStep(12)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"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\" :title=\"item.title\"\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-vertical>\r\n <w-horizontal v-if=\"hasTime\" class=\"w-calendar-time\">\r\n <w-vertical v-if=\"focusHour!==false\" class=\"w-calendar-time-col w-calendar-time-hour\" 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 bodyListHour\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isHourDisabled(h)\" @click=\"clickHour($event,h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!==false\" class=\"w-calendar-time-col w-calendar-time-minute\" 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 bodyListMinute\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isMinuteDisabled(m)\" @click=\"clickMinute($event,m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!==false\" class=\"w-calendar-time-col w-calendar-time-second\" 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 bodyListSecond\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isSecondDisabled(s)\" @click=\"clickSecond($event,s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" :class=\"['w-calendar-foot', {'f-h-gap': dfish.br.compat.gap}]\" align=\"between\"\r\n valign=\"middle\">\r\n <div class=\"w-calendar-button-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n <div class=\"w-calendar-button-confirm 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', 'cg', 'start',\r\n 'enableHour', 'enableMinute', 'enableSecond', 'defaultHour', 'defaultMinute', 'defaultSecond'\r\n ],\r\n data() {\r\n let dt = this.value2date()\r\n return {\r\n dt,\r\n currentDate: null,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = this.value2date()\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', nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', 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 value2date() {\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 || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (!dt || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n if (!this.value) this.setDefaultTime(dt)\r\n return dt\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n setDefaultTime(d) {\r\n let dh = this.defaultHour == null ? d.getHours() : parseFloat(this.defaultHour)\r\n if (this.enableHour) {\r\n let eh = $.arrayNumber(this.enableHour)\r\n if (!eh.includes(dh)) dh = eh[0]\r\n }\r\n d.setHours(dh)\r\n let dm = this.defaultMinute == null ? d.getMinutes() : parseFloat(this.defaultMinute)\r\n if (this.enableMinute) {\r\n let em = $.arrayNumber(this.enableMinute)\r\n if (!em.includes(dm)) dm = em[0]\r\n }\r\n d.setMinutes(dm)\r\n let ds = this.defaultSecond == null ? d.getSeconds() : parseFloat(this.defaultSecond)\r\n if (this.enableSecond) {\r\n let es = $.arrayNumber(this.enableSecond)\r\n if (!es.includes(ds)) ds = es[0]\r\n }\r\n d.setSeconds(ds)\r\n return d\r\n },\r\n fixDate(d) {\r\n if (this.beginDate && d < this.beginDate) d = this.beginDate\r\n if (this.endDate && d > this.endDate) d = this.endDate\r\n return this.setDefaultTime(new Date(d.getTime()))\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 } else if (this.x.face == 'week') {\r\n d = $.dateAdd(d, 'y', 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 clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = this.fixDate(item.date)\r\n }\r\n e.runType = 'click:item'\r\n e.value = item\r\n this.trigger(e, item)\r\n if (!this.hasTime)\r\n this.callback(item.value)\r\n },\r\n clickNow() {\r\n this.callback(this.fixDate(new Date()))\r\n },\r\n clickConfirm(s) {\r\n let d = this.dt\r\n let f = this.focusDate\r\n this.callback(this.fixDate(new Date(f.getFullYear(), f.getMonth(), f.getDate(), d.getHours(), d.getMinutes(), d.getSeconds())))\r\n },\r\n callback(v) {\r\n if (typeof v === 'object') {\r\n v = this.fm(v)\r\n }\r\n this.x.success && this.x.success(v)\r\n },\r\n clickHour(e, v) {\r\n this.dt.setHours(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.hour.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickMinute(e, v) {\r\n this.dt.setMinutes(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.minute.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n clickSecond(e, v) {\r\n this.dt.setSeconds(v)\r\n this.dt = this.fixDate(this.dt)\r\n this.$refs.second.scrollToY(e.currentTarget, 'middle', 150)\r\n },\r\n fm(a) {\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isHourDisabled(v) {\r\n let n = this.minHour\r\n let m = this.maxHour\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isMinuteDisabled(v) {\r\n let n = this.minMinute\r\n let m = this.maxMinute\r\n return (n && n > v) || (m && m < v)\r\n },\r\n isSecondDisabled(v) {\r\n let n = this.minSecond\r\n let m = this.maxSecond\r\n return (n && n > v) || (m && m < v)\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 /[Hms]/.test(this.formatter)\r\n },\r\n onlyTime() {\r\n return this.hasTime && !/[yMd]/.test(this.formatter)\r\n },\r\n focusValue() {\r\n let d = this.focusDate\r\n return d && this.fm(d)\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n if (c) {\r\n return $.dateParse(c, this.x.format)\r\n } else if (!this.x.value && this.x.success) {\r\n return this.x.format && this.dt\r\n }\r\n },\r\n beginDate() {\r\n return this.x.minValue && $.dateParse(this.x.minValue, this.formatter)\r\n },\r\n endDate() {\r\n return this.x.maxValue && $.dateParse(this.x.maxValue, this.formatter)\r\n },\r\n focusHour() {\r\n return this.x.format.includes('H') && this.dt.getHours()\r\n },\r\n focusMinute() {\r\n return this.x.format.includes('m') && this.dt.getMinutes()\r\n },\r\n focusSecond() {\r\n return this.x.format.includes('s') && this.dt.getSeconds()\r\n },\r\n minHour() {\r\n if (this.beginDate) {\r\n let d = this.beginDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n maxHour() {\r\n if (this.endDate) {\r\n let d = this.endDate\r\n let f = this.dt\r\n if (d.getFullYear() == f.getFullYear() && d.getMonth() == f.getMonth() && d.getDate() == f.getDate()) {\r\n return d.getHours()\r\n }\r\n }\r\n },\r\n minMinute() {\r\n if (this.minHour === this.dt.getHours()) {\r\n return this.beginDate.getMinutes()\r\n }\r\n },\r\n maxMinute() {\r\n if (this.maxHour === this.dt.getHours()) {\r\n return this.endDate.getMinutes()\r\n }\r\n },\r\n minSecond() {\r\n if (this.minMinute === this.dt.getMinutes()) {\r\n return this.beginDate.getSeconds()\r\n }\r\n },\r\n maxSecond() {\r\n if (this.maxMinute === this.dt.getMinutes()) {\r\n return this.endDate.getSeconds()\r\n }\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 :\r\n this.x.face === 'week' ? this.bodyListWeek : this.bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\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.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\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 bodyListWeek() {\r\n let r = []\r\n let n = this.x.minValue\r\n let m = this.x.maxValue\r\n let f = this.focusValue\r\n let w = $.dateWeek(this.dt)\r\n let y = w[0]\r\n let b = $.dateWeekLast(y)\r\n let c = $.dateWeekFirst(y)\r\n let d = c[2]\r\n for (let i = 1, l = b[1]; i <= l; i++) {\r\n let v = this.fm(d)\r\n let g = {\r\n text: i,\r\n value: y + '-' + $.strPad(i),\r\n date: new Date(d.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v,\r\n title: $.loc.ps($.loc.calendar.from_to, $.dateFormat(d, 'yyyy-MM-dd'), $.dateFormat($.dateAdd(d, 'd', 6),\r\n 'yyyy-MM-dd'))\r\n }\r\n d.setDate(d.getDate() + 7)\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 f = this.focusValue\r\n let fd = f && $.dateFormat($.dateParse(f, this.x.format), 'yyyy-MM-dd')\r\n let fn = this.beginDate && $.dateFormat(this.beginDate, 'yyyy-MM-dd')\r\n let fm = this.endDate && $.dateFormat(this.endDate, 'yyyy-MM-dd')\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 fv = $.dateFormat(b, 'yyyy-MM-dd')\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: (fn && fn > fv) || (fm && fm < fv) ? true : false,\r\n focus: fd === fv,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n },\r\n bodyListHour() {\r\n return this.enableHour ? $.arrayNumber(this.enableHour) : Array.from(Array(24).keys())\r\n },\r\n bodyListMinute() {\r\n return this.enableMinute ? $.arrayNumber(this.enableMinute) : Array.from(Array(60).keys())\r\n },\r\n bodyListSecond() {\r\n return this.enableSecond ? $.arrayNumber(this.enableSecond) : Array.from(Array(60).keys())\r\n },\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog {\r\n line-height: 1.5;\r\n --w-datepicker-dialog-width: 260px;\r\n --w-datepicker-dialog-time-width: 66px;\r\n width: calc(var(--w-datepicker-dialog-width) + calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0)));\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime {\r\n --w-datepicker-dialog-width: 2px;\r\n --w-datepicker-dialog-time-height: 254px;\r\n }\r\n\r\n .w-calendar-dialog.z-hastime .w-calendar-head,\r\n .w-calendar-dialog.z-hastime .w-calendar-body {\r\n box-sizing: border-box;\r\n width: calc(var(--w-datepicker-dialog-width) - 2px);\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-head {\r\n box-sizing: border-box;\r\n width: var(--w-datepicker-dialog-width);\r\n }\r\n\r\n .w-calendar-dialog .w-calendar-body {\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 5px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-pop {\r\n padding: 0 10px;\r\n --w-compat-gap: 8px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-calendar-head-blank {\r\n display: none;\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 .w-calendar-week .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .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-item:not(.z-ds):not(.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 background: #f9f9f9;\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 position: relative;\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n position: static;\r\n height: var(--w-datepicker-dialog-time-height);\r\n }\r\n\r\n .w-calendar-time {\r\n position: absolute;\r\n top: 0;\r\n bottom: 35px;\r\n right: 0;\r\n width: calc(var(--w-datepicker-dialog-time-width) * var(--w-datepicker-time-cols, 0));\r\n border-left: 1px solid #ddd;\r\n }\r\n \r\n .w-calendar-dialog.z-onlytime .w-calendar-time {\r\n border-left: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-calendar-time-th {\r\n line-height: 36px;\r\n border-bottom: 1px solid #ddd;\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-light-color);\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\r\n .w-calendar-head .f-i {\r\n font-size: 20px;\r\n color: #aaa;\r\n }\r\n\r\n .w-calendar-head .f-i:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-calendar-time-body .w-scroll-cont {\r\n padding: 94px 0;\r\n }\r\n \r\n .w-calendar-time-body .w-button.z-ds {\r\n background: #fff;\r\n color: #aaa;\r\n }\r\n \r\n .w-calendar-button-now,\r\n .w-calendar-button-confirm {\r\n padding: 2px 10px;\r\n cursor: pointer;\r\n }\r\n</style>\n","import { render } from \"./Calendar.vue?vue&type=template&id=7377352c\"\nimport script from \"./Calendar.vue?vue&type=script&lang=js\"\nexport * from \"./Calendar.vue?vue&type=script&lang=js\"\n\nimport \"./Calendar.vue?vue&type=style&index=0&id=7377352c&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","import script from \"./Tab.vue?vue&type=script&lang=js\"\nexport * from \"./Tab.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\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': 'tb',\r\n '-r': 'rl',\r\n '-b': 'bt',\r\n '-l': 'lr',\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 maxHeight: 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 width = this.el().offsetWidth\r\n let height = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - width) / 2),\r\n top: Math.ceil((document.documentElement.clientHeight - height) / 2),\r\n width, height\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 f = this.x.position || false\r\n let c = this.x.local\r\n let d = this.x.snap || O\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 let layTop = 0\r\n let layBottom = 0\r\n if (f == 'c') f = null\r\n if (typeof f === 'string') { // 八方位浮动的起始位置\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 let lp = $.q(`.w-dialog-ani-position-${f}:not([id=\"${this.uid}\"]):last`)[0]\r\n if (lp && r.type != 'rl' && r.type != 'lr') {\r\n let lc = lp.getBoundingClientRect()\r\n if (r.pix_b) layBottom = r.mag_t ? -(lc.bottom + 5) : (document.documentElement.clientHeight - lc.top + 5)\r\n else layTop = r.mag_b ? -(document.documentElement.clientHeight - lc.top + 5) : lc.bottom + 5\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 && -9), 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 let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right\r\n } else {\r\n s.left = r.left\r\n }\r\n if (r.pix_b) {\r\n s.pix_b = true\r\n s.bottom = r.bottom + layBottom\r\n } else {\r\n s.top = r.top + layTop\r\n }\r\n s.type = r.type\r\n } else {\r\n s = r\r\n }\r\n this.snapStyle = s\r\n // 八方位浮动效果\r\n if (f) {\r\n if (typeof f === 'string')\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n } else {\r\n //this.animateClass = 'f-animated f-ani-dropIn'\r\n }\r\n this.snapCls()\r\n },\r\n setPosition(s) {\r\n this.x.position = s\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 let f = this.x.position\r\n if (f && typeof f === 'string' && this.el()) { // 当前窗口关闭后,有相同position的dialog依次移动补空位\r\n let ps = $.q(`~.w-dialog-ani-position-${f}`, this.el())\r\n let indent = this.el().offsetHeight + 5\r\n ps.each((i, el) => {\r\n el.classList.add(`w-dialog-ani-indent`)\r\n let s = $(el).snapStyle\r\n let t = s.type.charAt(0)\r\n if (s.top != null) {\r\n s.top += (t == 1 || t == 2 ? -1 : 1) * indent\r\n } else if (s.bottom != null) {\r\n s.bottom += (t == 3 || t == 4 ? -1 : 1) * indent\r\n }\r\n setTimeout(() => el.classList.remove(`w-dialog-ani-indent`), 200)\r\n })\r\n }\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.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 prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\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 ref: 'cover',\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, {to}, cover) : cover) : [],\r\n // 套一层w-dialog-teleport的原因是为了让对话框里面的 $(this) 能正确返回\r\n to ? h('div', {class: 'w-dialog-teleport', id: this.uid + 'teleport'}, h(Teleport, {to}, 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 if (this.x.fullScreen) {\r\n return {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n }\r\n } else {\r\n let f = this.x.position\r\n let n = this.snapStyle\r\n let s = {}\r\n if (f && typeof f === 'object') {\r\n $.extend(s, f)\r\n if (n) {\r\n if (s.top == null && s.bottom == null) $.extend(s, $.lodash.pick(n, 'top', 'bottom'))\r\n if (s.left == null && s.right == null) $.extend(s, $.lodash.pick(n, 'left', 'right'))\r\n }\r\n } else {\r\n if (n) $.extend(s, n)\r\n }\r\n for (let k in s) {\r\n s[k] = $.unitSize(s[k])\r\n }\r\n if (this.maxHeight) {\r\n s.maxHeight = $.unitSize(this.maxHeight)\r\n }\r\n return s\r\n }\r\n }\r\n },\r\n mounted() {\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 && typeof this.x.position === 'string') {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.type) {\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 } else {\r\n this.setMaxHeight('100%')\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 unmounted() {\r\n if (!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);\r\n opacity: .35;\r\n z-index: 99;\r\n animation: w-dialog-cover-ani 200ms;\r\n }\r\n \r\n @keyframes w-dialog-cover-ani {\r\n 0% {\r\n opacity: 0;\r\n }\r\n 100% {\r\n opacity: .35;\r\n }\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-teleport {\r\n display: none;\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\r\n .w-dialog-ani-indent {\r\n transition: top var(--w-dialog-ani-duration), bottom var(--w-dialog-ani-duration);\r\n }\r\n \r\n .w-dialog-move-helper {\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","import script from \"./Dialog.vue?vue&type=script&lang=js\"\nexport * from \"./Dialog.vue?vue&type=script&lang=js\"\n\nimport \"./Dialog.vue?vue&type=style&index=0&id=65891496&lang=css\"\n\nexport default script","<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 AlignParent from './AlignParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['collapsedIcon', 'expandedIcon', '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',\r\n }), h('div', {class: 'w-toggle-main'}, this.$slots.default())]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n let exp = this.x.expanded\r\n return {\r\n class: ['w-horizontal f-pointer',\r\n {\r\n 'z-expanded': exp,\r\n 'z-collapse': !exp,\r\n },\r\n this.html_align_class],\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","import script from \"./Toggle.vue?vue&type=script&lang=js\"\nexport * from \"./Toggle.vue?vue&type=script&lang=js\"\n\nimport \"./Toggle.vue?vue&type=style&index=0&id=431717dc&lang=css\"\n\nexport default script","<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=\"typeIcon\"></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', {'f-h-gap': dfish.br.compat.gap}]\">\r\n <w-button face=\"primary\" class=\"w-alert-button\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"/>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"/>\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 \r\n export default {\r\n mixins: [TemplateAlert],\r\n data() {\r\n return {\r\n defaultIconType: 'question'\r\n }\r\n },\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","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=2a9563f5\"\nimport script from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateConfirm.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<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-slidepicker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\"\r\n :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\"\r\n :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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\"\r\n :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-slidepicker>\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-slidepicker 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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\"\r\n :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-slidepicker>\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-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\"\r\n :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-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasWeek\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">周</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusWeek\" :min-value=\"minWeek\" :max-value=\"maxWeek\" :keep-index=\"true\">\r\n <w-option v-for=\"w in weekList\" :key=\"w.value\" :value=\"w.value\" :text=\"w.text\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\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 let focusYear = d.getFullYear()\r\n let focusWeek, weekFirst, weekLast\r\n if (f.includes('w')) {\r\n focusWeek = $.dateWeek(d)[1]\r\n weekFirst = $.dateWeekFirst(focusYear)\r\n weekLast = $.dateWeekLast(focusYear)\r\n }\r\n return {\r\n focusYear,\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 focusWeek,\r\n weekFirst,\r\n weekLast,\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 if (this.hasWeek) {\r\n this.weekFirst = $.dateWeekFirst(y)\r\n this.weekLast = $.dateWeekLast(y)\r\n }\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 weekText(w) {\r\n \r\n },\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = this.hasWeek ? $.dateParse(`${this.focusYear}-${this.focusWeek}`, 'yyyy-ww') :\r\n new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this.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 weekList() {\r\n let d = this.weekFirst[2]\r\n return Array.from(Array(this.weekLast[1])).map((v, i) => {\r\n let startDate = d\r\n let endDate = $.dateAdd(d, 'd', 6)\r\n d = $.dateAdd(d, 'd', 7)\r\n return {\r\n value: i + 1,\r\n text: `${$.strPad(i + 1)} (${$.dateFormat(startDate, 'MM.dd')} - ${$.dateFormat(endDate, 'MM.dd')})`,\r\n }\r\n })\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 hasWeek() {\r\n return this.format.includes('w')\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 ==\r\n 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 ==\r\n 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 ==\r\n 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 ==\r\n 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 ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this\r\n .minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this\r\n .maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!\r\n 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 ==\r\n this.focusMonth) &&\r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!\r\n this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n minWeek() {\r\n\r\n },\r\n maxWeek() {\r\n\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>\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=e271d2a6\"\nimport script from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateDateSheet.vue?vue&type=script&lang=js\"\n\nimport \"./TemplateDateSheet.vue?vue&type=style&index=0&id=e271d2a6&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n } from 'vue'\r\n\r\n const bindCache = {}\r\n\r\n export default {\r\n props: ['data', 'width', 'height', 'colspan', 'rowspan', 'ownproperty', 'orientUid'],\r\n data() {\r\n return {\r\n isWidget: true,\r\n uid: this.orientUid || $.uid(),\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n created() {\r\n $.vueMap.set(this.uid, this)\r\n let dftX = this.getDefaultProp()\r\n let cuid = $.config_uid\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n if (prop in obj) return obj[prop]\r\n if (this.$props[prop] !== undefined) return this.$props[prop]\r\n if (cuid != $.config_uid) {\r\n cuid = $.config_uid\r\n dftX = this.getDefaultProp()\r\n }\r\n return 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 unmounted() {\r\n $.vueMap.delete(this.uid)\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n getDefaultProp() {\r\n let dftopt\r\n if (!this.ownproperty) {\r\n let b = this.$options.name\r\n dftopt = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (this.$attrs.class ? ' ' + this.$attrs.class : '')\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 && (dftopt = $.extendDeep(z, dftopt))\r\n }\r\n }\r\n return {\r\n ...this.x_default(),\r\n ...dftopt,\r\n }\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 let f = this.getOn(type)\r\n if (f) {\r\n if (typeof ev === 'string') {\r\n ev = {type, uid: this.uid}\r\n }\r\n if (Array.isArray(f)) f.forEach(n => n(ev, ...args))\r\n else f(ev, ...args)\r\n }\r\n this.events && this.events.fireEvent(type)\r\n },\r\n addEvent(type, fn, once) {\r\n if (!this.events) this.events = new $.EventListener(this)\r\n this.events.addEvent(type, fn, 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) {\r\n this.events && this.events.removeEvent(type, fn)\r\n },\r\n getOn(type) {\r\n let n = 'on' + type.charAt(0).toUpperCase() + type.slice(1)\r\n return (this.$.vnode.props && this.$.vnode.props[n]) || this.x[n]\r\n },\r\n getKey() {\r\n return this.$.vnode.key\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 query(sel) {\r\n if (this.el()) {\r\n let o = $.q(sel, this.el())[0]\r\n return o && $(o)\r\n }\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 createEvent(name, data) {\r\n let e = new CustomEvent(name)\r\n e.value = data\r\n e.uid = this.uid\r\n return e\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n scrollIntoView(opt = false) {\r\n const next = (dir, fn) => {\r\n let c = 'scroll' + dir.toUpperCase()\r\n let t = this.closest(p => p.x && p.x[c] && (p.scrollState() || false)[dir])\r\n if (t) {\r\n t.scrollTo(this, opt.y || 'auto', opt.x || 'auto', opt.ease == null ? 200 : opt.ease, opt.divide, fn)\r\n } else\r\n fn && fn()\r\n }\r\n next('y', () => next('x', opt.success))\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 slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\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 slot(name = 'default') {\r\n return this.$slots[name] ? this.$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 ownerView() {\r\n let p = this.provideView\r\n while (p && !p.isView) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class],\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],\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\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.html()\r\n }\r\n }\r\n</script>\n","import script from \"./WidgetAbs.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetAbs.vue?vue&type=script&lang=js\"\n\nexport default script","<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', 'expanded'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLevel', 'provideParentTR'],\r\n provide() {\r\n return {\r\n provideParentTR: this,\r\n provideLevel: this.provideLevel + 1,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n setExpanded(exp) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n },\r\n isDisplay() {\r\n if (!this.provideParentTR) return true\r\n let p = this\r\n while (p = p.provideParentTR) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n let leaf = this.query('.w-leaf')\r\n if (leaf) {\r\n leaf.toggle(exp, fn)\r\n } else {\r\n this.setExpanded(exp)\r\n fn && this.$nextTick(fn)\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 },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n level() {\r\n return this.provideLevel + 1\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 'z-expanded': this.isExpanded(),\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","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PageBar.vue?vue&type=style&index=0&id=a0cae56c&lang=css\"","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 {string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast} 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 || o.isWidget) return o\r\n if (typeof o === 'string' || o.uid) return $.vueMap.get(o.uid || o)\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 ($.vueMap.has(o.id)) return $.vueMap.get(o.id)\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueMap.has(d)) return $.vueMap.get(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 vueMap: new Map(),\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 string, strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet, dateWeek, dateWeekFirst, dateWeekLast,\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) && c[k] !== undefined) 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 -> concat?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? (b ? a.concat() : a) : a == null || a === '' ? [] : typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n// 把数组内的文本转为数字\r\n$.arrayNumber = function(a) {\r\n return $.array(a).map(v => parseFloat(v))\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size, allowMinus) => size == null || size === '' ? '' : size === '*' ? '' : (size == -1 && !allowMinus)|| size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = string(s)\r\n n = string(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 = string(s)\r\n n = string(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 = string(s)\r\n n = string(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 ($.vueMap.has(a)) {\r\n a = $.vueMap.get(a)\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\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 let d = $.dialog(a)\r\n d && d.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\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// @fn(得到0-1的参数), ms -> milliseconds, count -> 帧数\r\n$.ease = function(fn, ms, count) {\n\tfn(0)\n\tif (ms == null)\n\t\tms = 200\n\tif (count == null)\n\t\tcount = Math.ceil(ms / 10)\n\tlet p = Math.ceil(ms / count)\n\tlet\tcr = 0\n\tlet d1 = new Date().getTime()\n\tlet it = setInterval(function() {\n\t\t\tlet d2 = new Date().getTime()\n\t\t\tlet ri = d2 - d1\n\t\t\tlet st = Math.floor(ri / p)\n\t\t\tif (cr != st) {\n\t\t\t\tif (st < count) {\n\t\t\t\t\tfn((- Math.cos((st / count) * Math.PI) / 2) + 0.5)\n\t\t\t\t} else {\n\t\t\t\t\tclearInterval(it)\n\t\t\t\t\tfn(1)\n\t\t\t\t}\n\t\t\t\tcr = st\n\t\t\t}\n\t\t}, Math.max(p - 10, 5))\n\treturn it\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});\r\n const printf = function() {\r\n \tlet w = window.frames.wPrintFrame;\r\n \tif (!w) {\r\n \t\t$.q('<div class=f-none><iframe name=wPrintFrame></iframe></div>').appendTo(document.body);\r\n \t\tw = window.frames.wPrintFrame;\r\n \t}\r\n \treturn w;\r\n }\r\n w = y.print !== false ? printf() : 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 = 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 return submit()\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context = 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(typeof text === 'object' ? {type: 'Alert', title: '操作提示', ...text} : {\r\n type: 'Alert', title: '操作提示', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd(typeof text === 'object' ? {type: 'Confirm', title: '操作提示', ...text} : {\r\n type: 'Confirm', title: '操作提示', 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 $.config_uid = uid() //读取默认配置的地方有缓存,根据这个uid来判断是否刷新缓存\r\n $.mergeDeep($.x, opt)\r\n if (opt.http) {\r\n $.mergeDeep(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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ComboBox.vue?vue&type=style&index=0&id=0e4ab116&lang=css\"","<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, moved) => {\r\n if (moved) 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 onClose: () => this.dropper = null\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 ...this.pubValidHooks,\r\n validateDefault: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr({type: '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","import script from \"./Jigsaw.vue?vue&type=script&lang=js\"\nexport * from \"./Jigsaw.vue?vue&type=script&lang=js\"\n\nimport \"./Jigsaw.vue?vue&type=style&index=0&id=5f202dd8&lang=css\"\n\nexport default script","<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","import script from \"./RadioGroup.vue?vue&type=script&lang=js\"\nexport * from \"./RadioGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<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 computed: {\r\n dir() {\r\n return 'v'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","import script from \"./Vertical.vue?vue&type=script&lang=js\"\nexport * from \"./Vertical.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PickBox.vue?vue&type=style&index=0&id=35b69f8f&lang=css\"","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}","<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","import script from \"./SwiperItem.vue?vue&type=script&lang=js\"\nexport * from \"./SwiperItem.vue?vue&type=script&lang=js\"\n\nexport default script","<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","import script from \"./WidgetBase.vue?vue&type=script&lang=js\"\nexport * from \"./WidgetBase.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Switch.vue?vue&type=style&index=0&id=6e279520&lang=css\"","<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","import script from \"./Progress.vue?vue&type=script&lang=js\"\nexport * from \"./Progress.vue?vue&type=script&lang=js\"\n\nimport \"./Progress.vue?vue&type=style&index=0&id=18056e88&lang=css\"\n\nexport default script","<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'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n x_default() {\r\n return {\r\n checkedValue: 1,\r\n uncheckedValue: 0,\r\n }\r\n },\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\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 .15s 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 min-width: 10px;\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 transform: translateX(calc(-100% - 1px));\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 script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=6e279520&lang=css\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tree.vue?vue&type=style&index=0&id=53bcfba2&lang=css\"","<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', 'disabled'],\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 = 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 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 let w = $.unitSize(this.x.imgWidth ? this.x.imgWidth : this.x.width)\r\n let h = $.unitSize(this.x.imgHeight ? this.x.imgHeight : this.x.height)\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n [`f-${this.x.vertical?'v':'h'}-gap`]: $.br.compat.gap,\r\n },\r\n style: {\r\n '--w-img-icon-width': w,\r\n '--w-img-icon-height': h,\r\n },\r\n onmouseenter: e => !this.x.disabled && (this.hover = true),\r\n onmouseleave: e => !this.x.disabled && (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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n --w-compat-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: var(--w-img-icon-width, 100%);\r\n height: var(--w-img-icon-height);\r\n }\r\n \r\n .w-img .f-svg {\r\n width: var(--w-img-icon-width, 18px);\r\n height: var(--w-img-icon-height, 18px) ;\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","import script from \"./Img.vue?vue&type=script&lang=js\"\nexport * from \"./Img.vue?vue&type=script&lang=js\"\n\nimport \"./Img.vue?vue&type=style&index=0&id=4b5feea2&lang=css\"\n\nexport default script","<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 'grid-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-td > .w-formbase {\r\n border-right: 0;\r\n border-bottom: 0;\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","import script from \"./Grid.vue?vue&type=script&lang=js\"\nexport * from \"./Grid.vue?vue&type=script&lang=js\"\n\nimport \"./Grid.vue?vue&type=style&index=0&id=5e2b9c3a&lang=css\"\n\nexport default script","<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, {item})\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', {'f-h-gap': $.br.compat.gap}]\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 --w-compat-gap: 10px;\r\n gap: var(--w-compat-gap);\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 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","import script from \"./MediaUpload.vue?vue&type=script&lang=js\"\nexport * from \"./MediaUpload.vue?vue&type=script&lang=js\"\n\nimport \"./MediaUpload.vue?vue&type=style&index=0&id=5df6accd&lang=css\"\n\nexport default script","<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 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","import script from \"./Loading.vue?vue&type=script&lang=js\"\nexport * from \"./Loading.vue?vue&type=script&lang=js\"\n\nimport \"./Loading.vue?vue&type=style&index=0&id=35a83c14&lang=css\"\n\nexport default script","<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: ['modelValue', 'required', 'vertical', 'gap', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.x.vertical ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return this.x.gap && {\r\n '--w-boxgroup-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\nexport * from \"./CheckBoxGroup.vue?vue&type=script&lang=js\"\n\nexport default script","<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', 'showButton', 'buttonPosition', 'step', 'autoFix', 'compare', 'minValue', 'maxValue'],\r\n mounted() {\r\n this.x.format && this.doFormat()\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n autoFix: true,\r\n showButton: true,\r\n buttonPosition: 'right',\r\n inputWidth: (this.provideRangeParent && this.provideRangeParent.x.inputWidth) || 140\r\n }\r\n },\r\n doFormat() {\r\n let v = '' + this.x.modelValue\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 this.$nextTick(() => $.rngCursor(this.$refs.v, n + (b.length - a.length)))\r\n }\r\n }\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.defaultRuleValue('maxValue')\r\n let n = this.defaultRuleValue('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 }\r\n this.x.format && this.doFormat()\r\n },\r\n isUsableVal(v) {\r\n return !this.getValidError(null, v)\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n getCompareError(v, r) {\r\n if (v && r && r.target && this.ownerView) {\r\n let m = r.mode || '<='\r\n let t = r.target.isWidget ? r.target : this.ownerView.f(r.target)\r\n let tv = t.formVal()\r\n if (v && tv && $.isNumber(v) && $.isNumber(tv)) {\r\n let d = $.number(v)\r\n let td = $.number(tv)\r\n if (!$.eval('d' + m + 'td', {\r\n d,\r\n td\r\n }))\r\n return [this.getLabelText(), m, t.getLabelText()]\r\n }\r\n }\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n this.x.format && this.doFormat()\r\n },\r\n onfocus(e) {\r\n this.baseFocus(e)\r\n },\r\n onblur(e) {\r\n let v = this.x.modelValue\r\n if (v && !this.isUsableVal(v) && this.x.autoFix) {\r\n let nv = $.numDecimal(v, this.x.decimal)\r\n nv = $.numRange(nv, this.x.minValue, this.x.maxValue)\r\n this.val(nv)\r\n }\r\n this.baseBlur(e)\r\n },\r\n html_button() {\r\n if (this.x.showButton) {\r\n if (this.x.buttonPosition === 'right') {\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-up 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-down 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 } else if (this.x.buttonPosition === 'between') {\r\n return [\r\n h('button', {\r\n class: 'w-spinner-step-minus 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-minus\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-plus 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-plus\"></i>'\r\n })\r\n ]\r\n }\r\n }\r\n\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) < $.number(r)) : (v < r)))\r\n return this.formErr(q, [r])\r\n },\r\n maxValue: (v, r, q) => {\r\n if (v && r != null && r !== '' && ($.isNumber(r) ? ($.number(v) > $.number(r)) : (v > r)))\r\n return this.formErr(q, [r])\r\n },\r\n compare: (v, r, q) => {\r\n let e = this.getCompareError(v, r)\r\n if (e) return this.formErr(q, e)\r\n },\r\n validateDefault: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v != null) {\r\n if (!$.isNumber(v))\r\n return this.formErr({\r\n type: 'number_invalid'\r\n })\r\n let d = this.x.decimal\r\n v = '' + v\r\n if (!d && v.includes('.'))\r\n return this.formErr({\r\n type: 'number_integer'\r\n })\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr({\r\n type: 'number_decimal_digit'\r\n }, [d])\r\n let e = this.provideRangeParent && this.provideRangeParent.getRangeError()\r\n if (e) return this.formErr({\r\n type: 'compare'\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number',\r\n oninput: this.oninput,\r\n onfocus: this.onfocus,\r\n onblur: this.onblur,\r\n }\r\n },\r\n html_class() {\r\n return 'z-buttonposition-' + this.x.buttonPosition\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-up,\r\n .w-spinner-step-down {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n .w-spinner.z-buttonposition-between .f-i {\r\n font-size: 14px;\r\n color: #777;\r\n }\r\n .w-spinner.z-buttonposition-between .w-spinner-step-minus {\r\n order: 0;\r\n width: 30px;\r\n background: #f2f2f2;\r\n border-right: 1px solid #ddd;\r\n flex-shrink: 0;\r\n cursor: pointer;\r\n }\r\n .w-spinner.z-buttonposition-between .w-input-value {\r\n order: 1;\r\n }\r\n .w-spinner.z-buttonposition-between .w-spinner-step-plus {\r\n order: 2;\r\n width: 30px;\r\n background: #f2f2f2;\r\n border-left: 1px solid #ddd;\r\n flex-shrink: 0;\r\n cursor: pointer;\r\n }\r\n</style>\n","import script from \"./Spinner.vue?vue&type=script&lang=js\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js\"\n\nimport \"./Spinner.vue?vue&type=style&index=0&id=01e0296a&lang=css\"\n\nexport default script","<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 created() {\r\n this.$watch(() => this.x.modelValue, (v, ov) => {\r\n if ((v == null || v == '') && (ov == null || ov == '')) return\r\n this.provideBoxParent && this.provideBoxParent.triple()\r\n if (!this.x.all) this.relate()\r\n })\r\n },\r\n methods: {\r\n getVal() {\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.value : ''\r\n },\r\n formVal() {\r\n if (this.isDisabled) return ''\r\n let s = this.checkstate()\r\n return s == 1 || (this.x.partialSubmit && s == 2) ? this.$refs.v.value : ''\r\n },\r\n onchange(e) {\r\n this.onbasechange(e)\r\n this.relate()\r\n },\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.val(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 let s = this.checkstate()\r\n if (s != a) {\r\n this.checkstate(a)\r\n this.relate()\r\n }\r\n },\r\n },\r\n computed: {\r\n checkValue() {\r\n return this.x.all ? 'checked' : this.x.value\r\n }\r\n },\r\n mounted() {\r\n //if (!this.x.all && this.isChecked)\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TripleBox.vue?vue&type=script&lang=js\"\nexport * from \"./TripleBox.vue?vue&type=script&lang=js\"\n\nexport default script","<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.w_name && (this.w_name + '@' + this.ownerView.uid)\r\n },\r\n w_name() {\r\n return this.x.name || (this.pubParent && this.pubParent.x.name)\r\n },\r\n input_prop() {\r\n return {'w-name': this.w_name}\r\n }\r\n },\r\n mounted() {\r\n\r\n\r\n }\r\n }\r\n</script>\n","import script from \"./Radio.vue?vue&type=script&lang=js\"\nexport * from \"./Radio.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Html.vue?vue&type=style&index=0&id=612320da&lang=css\"","<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 computed: {\r\n validHooks() {\r\n return {\r\n ...this.pubValidHooks,\r\n minLength: (v, r, q) => {\r\n if (v && r != null && r !== '' && r > 0 && $.strLen(v) < r)\r\n return this.formErr(q, [r])\r\n },\r\n maxLength: (v, r, q) => {\r\n let d\r\n if (v && r != null && r !== '' && r > 0 && v && (d = $.strLen(v)) > r)\r\n return this.formErr(q, [d - r])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./Text.vue?vue&type=script&lang=js\"\nexport * from \"./Text.vue?vue&type=script&lang=js\"\n\nexport default script","// 实现指令 v-form-ignore=\"true\"\r\n// 不提交不验证当前范围内的表单\r\n\r\nfunction formIgnore(el, bind) {\r\n bind.value ? el.setAttribute('w-form-ignore', '') : el.removeAttribute('w-form-ignore')\r\n}\r\n\r\nexport default {\r\n created: formIgnore,\r\n updated: formIgnore,\r\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Tabs.vue?vue&type=style&index=0&id=554c0a38&lang=css\"","<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: $.lodash.get(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","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=43a1c69b\"\nimport script from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nexport * from \"./TemplatePreviewMedia.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TemplateJigsaw.vue?vue&type=style&index=0&id=2c16ab31&lang=css\"","<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-dropbox',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideOptionParent: this,\r\n }\r\n },\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 = !this.showDrop\r\n this.warn(false)\r\n }\r\n },\r\n clickOption(opt) {\r\n if (this.x.multiple) {\r\n let cv = $.array(this.val(), true)\r\n if (opt.isFocus) $.lodash.pull(cv, opt.value)\r\n else cv.push(opt.value)\r\n this.val(cv)\r\n } else {\r\n let cv = this.x.cancelable && opt.isFocus ? '' : opt.value\r\n this.val(cv)\r\n this.showDrop = 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 let m = !!$.br.mobile\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 w-dropbox-dialog' + (m ? ' z-mob' : ''),\r\n width: m ? '100%' : 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 cover: m,\r\n snap: m ? null : {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n onClose: () => this.showDrop = false\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 = $.array(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","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.vue?vue&type=script&lang=js\"\n\nexport default script","<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 import ResizeObserver from 'resize-observer-polyfill'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [WidgetBase],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n provide() {\r\n return {\r\n table: this,\r\n provideLevel: -1,\r\n provideParentTR: null,\r\n }\r\n },\r\n data() {\r\n return {\r\n sticky: {left: null, right: null},\r\n }\r\n },\r\n mounted() {\r\n const observe = (e) => this.initFixedCells('left').concat(this.initFixedCells('right'))\r\n $.lodash.each(observe(), v => new ResizeObserver(observe).observe(v))\r\n this.$el.setAttribute('w-scroll-x', 'left')\r\n if ($.br.chrome && $.br.chrome <= 60) { //低版本谷歌表格宽度有变化时,sticky的td内容会不可见。因此执行一个强制重新渲染的步骤\r\n new ResizeObserver(() => {\r\n this.$el.setAttribute('w-compact-resize-sticky', '')\r\n requestAnimationFrame(() => this.$el.removeAttribute('w-compact-resize-sticky'))\r\n }).observe(this.$el)\r\n }\r\n },\r\n methods: {\r\n initFixedCells(dir) {\r\n let sticky = null\r\n let offset = 0\r\n let fixedCells = $.lodash.map(this.$el.querySelector(`thead`).querySelectorAll(`td[w-fixed=\"${dir}\"]`))\r\n if (dir === 'right') fixedCells.reverse()\r\n fixedCells.forEach(td => {\r\n (sticky || (sticky = [])).push({colIndex: td.cellIndex, offset})\r\n offset += td.offsetWidth\r\n })\r\n this.sticky[dir] = sticky\r\n return fixedCells\r\n },\r\n html_slots() {\r\n return [\r\n this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [],\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 html_style() {\r\n let r = {}\r\n if (this.sticky.left) {\r\n this.sticky.left.forEach(v => r[`--w-td-fixed-left-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n if (this.sticky.right) {\r\n this.sticky.right.forEach(v => r[`--w-td-fixed-right-${v.colIndex}`] = `${v.offset}px`)\r\n }\r\n return r\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: separate;\r\n }\r\n\r\n .w-thead {\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-td,\r\n .w-th {\r\n background: #fff;\r\n }\r\n\r\n .w-thead .w-td,\r\n .w-th {\r\n background: var(--w-thead-background-color);\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n }\r\n\r\n .w-tr.z-on .w-td {\r\n background: var(--w--focus-light-color);\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th.z-sortable {\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 }\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.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: 0 solid var(--w-td-border-color, var(--w-table-border-color));\r\n border-right-width: 1px;\r\n border-bottom-width: 1px;\r\n }\r\n\r\n .w-table.z-face-cell .w-td-lastborder {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n\r\n .w-td-fixed-left,\r\n .w-td-fixed-right {\r\n position: sticky;\r\n z-index: 1;\r\n }\r\n\r\n .w-td-fixed-left-last:after {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-td-fixed-right-first:after {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: -1px;\r\n width: 30px;\r\n transform: translateX(-100%);\r\n content: '';\r\n pointer-events: none;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-left-last:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=right] .w-td-fixed-left-last:after {\r\n box-shadow: inset 10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-scroll-show-x][w-scroll-x=left] .w-td-fixed-right-first:after,\r\n .w-table[w-scroll-show-x][w-scroll-x=center] .w-td-fixed-right-first:after {\r\n box-shadow: inset -10px 0 8px -8px #ddd;\r\n }\r\n \r\n .w-table[w-compact-resize-sticky] .w-td-fixed-left,\r\n .w-table[w-compact-resize-sticky] .w-td-fixed-right {\r\n position: static;\r\n }\r\n \r\n</style>\n","import script from \"./Table.vue?vue&type=script&lang=js\"\nexport * from \"./Table.vue?vue&type=script&lang=js\"\n\nimport \"./Table.vue?vue&type=style&index=0&id=fafed58e&lang=css\"\n\nexport default script"],"sourceRoot":""}
|