dfish-widget 0.1.350 → 0.1.351
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/lib/index.esm.js +2 -2
- 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/Video.vue?99e5","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TableFixedRight.vue","webpack://dfish/./src/widgets/TableFixedRight.vue?ce30","webpack://dfish/./src/widgets/Spinner.vue?5f3a","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/Jigsaw.vue?f100","webpack://dfish/./src/widgets/Leaf.vue?afac","webpack://dfish/./src/widgets/Picker.vue?7f6e","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/MenuButton.vue?e4af","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/ViewAbs.vue?c00e","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/widgets/Switch.vue?75fb","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/FormBase.vue?4bc1","webpack://dfish/./src/widgets/Toggle.vue?c262","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/widgets/Range.vue?ff49","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/widgets/Tip.vue?1c32","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/Table.vue?331c","webpack://dfish/./src/widgets/ComboBox.vue?b40d","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/PageBar.vue?cc67","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/preload/PreloadNone.vue","webpack://dfish/./src/preload/PreloadNone.vue?d540","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/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/LinkBox.vue?a25a","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Loading.vue?b831","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/MediaUpload.vue?2dae","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/TableFixedLeft.vue","webpack://dfish/./src/widgets/TableFixedLeft.vue?27e7","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/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/widgets/Timeline.vue?8f77","webpack://dfish/./src/preload/PreloadDialog.vue","webpack://dfish/./src/preload/PreloadDialog.vue?74f7","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/widgets/Grid.vue?9eab","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/PickBox.vue?6569","webpack://dfish/./src/widgets/Dialog.vue?5f0a","webpack://dfish/./src/widgets/DialogMove.vue?a4d8","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/util/mime.js","webpack://dfish/./src/widgets/Calendar.vue?830b","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/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/Menu.vue?15cc","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Html.vue?d464","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/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/Tree.vue?53f7","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/Picker.vue","webpack://dfish/./src/widgets/Picker.vue?8b81","webpack://dfish/./src/widgets/index.js","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/TableAbs.vue","webpack://dfish/./src/widgets/TableAbs.vue?844e","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/Img.vue?02d1","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/dfish.js","webpack://dfish/./src/widgets/Split.vue?0a7f","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/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/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/Option.vue?53eb","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","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/template/TemplateDateSheet.vue?ebdd","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309","webpack://dfish/./src/widgets/Scroll.vue?885f","webpack://dfish/./src/widgets/FileUpload.vue?7638"],"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","isVertical","computed","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","icon","text","save","ownproperty","methods","dialog","cueYes","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","setMaxHeight","h","maxHeight","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","isEntity","context","TableFixedLeft","fixed","init","table","rightTable","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","face","gap","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","on","click","Menu","snap","drop","position","indent","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","Array","isArray","join","trim","k","validHooks","valid","vv","required","formErr","minLength","strLen","maxLength","minValue","isNumber","maxValue","minSize","split","maxSize","pattern","eval","test","compare","ownerView","formVal","getLabelText","wid","_validate_dft_value","beforeNow","afterNow","WidgetBase","AlignParent","mv","wrapper","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","input_value","reset","empty","rules","getValidError","warn","showErrorTip","isNormal","readonly","groupFormVal","label","ps","form","scrollIntoView","exec","errorTipTarget","showTip","opt","extendDeep","tip","hoverDrop","focus","formText","pubParent","oninput","isFocusTarget","relatedTarget","snapElem","isWidget","original","dv","JSON","stringify","saveModified","lodash","clone","html_label","$slots","Label","html_input","input_tag","input_type","input_name","isReadonly","isDisabled","placeholder","input_placeholder","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","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","q","eq","addBack","remove","suggest","input","innerText","replace","Event","closePop","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","forEach","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","br","getOn","addEventListener","isMul","html_attrs","cv","$parent","pull","isCnc","includes","idsAny","cancelable","String","strQuot","strFrom","lastIndexOf","substr","strTo","$","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","inject","html_self","html_pops","html_scroll_class","parseFloat","isNaN","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","linkTarget","tar","setFocus","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","item","findIndex","dispatchEvent","sensor","ResizeObserver","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","SrcParent","provide","pops","beforeCreate","popCommanders","docView","path","getKey","viewCache","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueCache","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","template","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","getAccept","fileTypes","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","xfs","maxFileSize","nfs","minFileSize","upload_maxfilesize","upload_minfilesize","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","success","upload_invalid_data","upload_no_data","catch","response","status","$emit","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","getElementById","previewVideo","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","debug","altKey","vm","top","left","yes","Scroll","thead","provideInBody","scrollX","onScroll","hd","slotHooks","scrollLeft","st","scrollTable","leftTable","onScrollbarMousedown","setScrollTable","html_tbody","inBody","scrollHover","mobile","ontouchstart","T","N","cvs","documentElement","_arr_comma","_snaptype","bottom","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","_uidCnt","_uidKey","_guid","toString","pubParentName","locked","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isGrid","isChecked","elements","check","relate","partialSubmit","preventDefault","input_icon","clickBoxProxy","html_target","$el","getSrc","$props","fn","ajax","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","attributeName","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","margin","provideLeafLevel","provideParentLeaf","index","clickSort","order","vnode","sort","col","onClick","sortable","colgroup","dfishColIndex","colspan","rowspan","movable","_pos","w","z","moveup","appendTo","body","mousedown","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","TableAbs","fixedWidth","fixedHeight","observeWidth","fixedCells","tbody","hiddens","DropBox","clickClear","input_text","current","isCurrentChild","ci","$attrs","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","reach_maxLength","over_maxLength","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","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","upload_invalid_file_type","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getDay","Date","M","dateAdd","getTime","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","dateValid","dateDiff","_dateDiff","webpackAsyncContext","req","ids","keys","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","format","getPeriod","calendarCallback","forms","noButton","Calendar","pad","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dir","dnX","dnY","scrLeft","scrTop","mvEv","wScrollOverflow","upEv","scrollTo","ovf","wScrollCont","ease","scrollToY","scrollToX","onscroll","scroll_observe","flow","cont","xSize","ySize","xPercent","yPercent","sx","sy","scrollView","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","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","clickArrow","clickIndicator","indicatorDots","duration","MutationObserver","childList","isExpanded","observeTableWidth","cg","rows","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","v1","v2","navigator","userAgent","chrome","match","agent","firefox","safari","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","cueNo","cue","isCmd","addEvent","_EventUser","_event_remove","pvdr","_event_name","_event_space","_event_handlers","EventListener","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","ctx","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","html_binds","setup","startY","endY","minY","maxY","optY","optH","roll","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","sc","nv","xv","update","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","transEnd","ret","components","DocView","View","DialogMove","Loading","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","Picker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","directives","install","Vue","component","directive","binding","arg","directiveHooks","hover","inTree","getInitLoaded","hasChild","folder","isFolder","_triple","checkstate","_tripleAll","ico","box","html_cont","display","tree","prop","showTime","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","clickNow","bodyList","$event","focusHour","scroll-y","scroll-view","dfish","isTimeDisabled","clickHour","focusMinute","clickMinute","focusSecond","clickSecond","clickShowTime","hasTime","onlyTime","clickConfirm","bd","ed","formatter","ov","ny","oy","weekday","from","date","fm","dateWeek","start","method","beginDate","endDate","focusDate","bodyListYear","bodyListMonth","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","snapStyle","activated","deactivated","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","_fitpos","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","addClass","slotsChildren","columns","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","minHour","maxHour","hourList","hasMinute","minMinute","maxMinute","minuteList","hasSecond","minSecond","maxSecond","secondList","nd","xd","startYear","endYear","monthDays","minTime","maxTime","bindCache","templateWrapper","preloadWrapper","propsEntity","preload","dftopt","getDefaultOption","dftoptEntity","dftX","omit","pub","watchs","Proxy","runtimeX","obj","newval","events","x_watch","commands","ncm","merge","cmdHooks","ev","wr","closetWrapper","wg","fireEvent","emitsOptions","once","defaultOptions","dfclsCache","idsAll","mergeDeep","closest","cmdTip","cls","html_template","extend","except","ex","sfx","templateDir","endsWith","mod","html_preload","preloadDir","minHeight","maxWidth","mapKeys","omitBy","provideParentExpanded","isDisplay","ri","rowIndex","rs","td","isElement","assign","jquery","prepend","before","constructor","_mergeDeep","cloneDeep","str","Function","idsAdd","idsRemove","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","state","toast","runtime","openFile","filename","closeWaiting","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","print","ownerDocument","outerHTML","input2text","open","write","queryEncode","config","contentType","Qs","arrayFormat","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","gridColumn","gridRow","defaults","interceptors","use","callback","_dfopt","catchReject","reason","init_text","isSuccess","isError","setThumbLeft","timer","setInterval","clearInterval","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","percent","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","cols","dc","defaultColspan","MediaUploadItem","step","doFormat","rightward","activeElement","isBegin","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","indicator-dots","rot","rotate","swiper","fixedLeft","fixedRight","TableFixedRight"],"mappings":"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,kBAED,8BAA+B,CAC9B,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,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,SAAU,CACT,OACA,EACA,kBAED,YAAa,CACZ,OACA,EACA,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,GAED,8BAA+B,CAC9B,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,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,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,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,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,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,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,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,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,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,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,qBAAsB,CACrB,OACA,IAGF,SAASi1B,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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-02baca6a\":\"c25fd66c\",\"chunk-0afcc52e\":\"851bfb87\",\"chunk-11d51f82\":\"e533ed1e\",\"chunk-1da003f6\":\"131a0546\",\"chunk-2494bc4a\":\"740449e6\",\"chunk-28871420\":\"2201e1a3\",\"chunk-29cfb088\":\"a58b9e6c\",\"chunk-2d0a311d\":\"9de5a785\",\"chunk-2d0a3376\":\"acfbac20\",\"chunk-2d0a448b\":\"ab26ceb6\",\"chunk-2d0aad2b\":\"586ac6ad\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"0aecc3ba\",\"chunk-2d0bac21\":\"9d17b0b9\",\"chunk-2d0bdd0a\":\"50f9d240\",\"chunk-2d0bdf2c\":\"c64f03c5\",\"chunk-2d0c0fe2\":\"af36262c\",\"chunk-2d0c5129\":\"7209518f\",\"chunk-2d0d660f\":\"78a63cc7\",\"chunk-2d0df0d6\":\"e81e942a\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"eb2e8bcc\",\"chunk-2d21d0ff\":\"7761108d\",\"chunk-2d22d7b5\":\"2fb9e9f7\",\"chunk-2f7f0670\":\"009d6baf\",\"chunk-3ffcda5c\":\"2f61743c\",\"chunk-405ba910\":\"6e82335f\",\"chunk-4a3a5e3e\":\"1eecdd3d\",\"chunk-59e6a9c9\":\"4f09a801\",\"chunk-5f709e3a\":\"f67f5a78\",\"chunk-9fa5810e\":\"82dc844e\",\"chunk-c7c01ff4\":\"d624be6b\"}[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-02baca6a\":1,\"chunk-11d51f82\":1,\"chunk-1da003f6\":1,\"chunk-2494bc4a\":1,\"chunk-28871420\":1,\"chunk-29cfb088\":1,\"chunk-2f7f0670\":1,\"chunk-3ffcda5c\":1,\"chunk-405ba910\":1,\"chunk-4a3a5e3e\":1,\"chunk-59e6a9c9\":1,\"chunk-9fa5810e\":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 data() {\r\n return {\r\n isVertical: false\r\n }\r\n },\r\n computed: {\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","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!./Video.vue?vue&type=style&index=0&id=7ee48295&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=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=2ba90064\"\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","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from \"vue\"\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n \r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n if ($(a)?.parentMenu?.rootCommander == this.rootCommander) return true\r\n },\r\n setMaxHeight(h) {\r\n h -= 38\r\n this.x.maxHeight = h - (h % 32) + 38\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(-1)}, h('i', {class: 'f-i f-i-caret-up'})),\r\n h(Vertical, {class: 'w-menu-bbr', height: '*', ref: 'bbr', onwheel: this.mousewheel}, {default: () => this.html_buttons()}),\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(1)}, h('i', {class: 'f-i f-i-caret-down'})),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.x.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","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=44e500c8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableFixedLeft],\r\n data() {\r\n return {\r\n fixed: 'right',\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.table.rightTable = this\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TableFixedRight.vue?vue&type=script&lang=js\"\nexport * from \"./TableFixedRight.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!./Spinner.vue?vue&type=style&index=0&id=7b5ef9be&lang=css\"","<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 this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, on: {click: e => this.clickItem(e, i)}}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, on:{close: () => this.showDrop = false}}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","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=12531d5b&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\r\n const _valid_err = function(v) {\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let k = this.validHooks;\r\n let c, d, e;\r\n if (k.valid && (e = k.valid(v)))\r\n return e;\r\n if ((c = this.vv('required')) && (k.required ? k.required(v) : (!v)))\r\n return this.formErr('required');\r\n if ((c = this.vv('minLength')) != null && c !== '' && c > 0 && v && (k.minLength ? k.minLength(v) : ($.strLen(v) < c)))\r\n return this.formErr('minLength', [c]);\r\n if ((c = this.vv('maxLength')) != null && c !== '' && c > 0 && v && (k.maxLength ? k.maxLength(v) : ((d = $.strLen(v)) > c)))\r\n return this.formErr('maxLength', [d - c]);\r\n if ((c = this.vv('minValue')) != null && c !== '' && v && (k.minValue ? k.minValue(v) : ($.isNumber(c) ? ($.number(v) < $.number(\r\n c)) : (v < c))))\r\n return this.formErr('minValue', [c]);\r\n if ((c = this.vv('maxValue')) != null && c !== '' && v && (k.maxValue ? k.maxValue(v) : ($.isNumber(c) ? ($.number(v) > $.number(\r\n c)) : (v > c))))\r\n return this.formErr('maxValue', [c]);\r\n if ((c = this.vv('minSize')) != null && c !== '' && c > 0 && v && (k.minSize ? k.minSize(v) : (v.split(',').length < $.number(\r\n c))))\r\n return this.formErr('minSize', [c]);\r\n if ((c = this.vv('maxSize')) != null && c !== '' && c > 0 && v && (k.maxSize ? k.maxSize(v) : (v.split(',').length > $.number(c))))\r\n return this.formErr('maxSize', [c]);\r\n if ((c = this.vv('pattern')) && v && (k.pattern ? k.pattern(c) : (typeof c === 'string' ? !$.eval(`${c}.test(v)`, {v}) : !c.test(v))))\r\n return this.formErr('pattern');\r\n if (this.vv('compare') && this.x.compare.target && v && (c = this.ownerView.f(this.x.compare.target)) && (d =\r\n c.formVal()) &&\r\n (k.compare ? k.compare(v, c, d) : !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})))\r\n return this.formErr('compare', [this.x.compare.mode, c.getLabelText() || 'end']);\r\n if ((c = this.vv('validateHandler')) && (d = c(v)))\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: 'validateHandler',\r\n text: d\r\n }\r\n }\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'disabled', 'required', 'validateHandler', 'inputWidth', 'inputHeight'\r\n ],\r\n emits: ['update:modelValue', 'change'],\r\n data() {\r\n let mv = this.wrapper().modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n vv(name) {\r\n return typeof this.rules[name] !== 'object' ? this.rules[name] : this.rules[name].value !== undefined ? this.rules[name].value : _validate_dft_value[name]\r\n },\r\n valid() {\r\n let e = this.getValidError()\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError() {\r\n if (this.isNormal || this.readonly == 'validate') {\r\n return _valid_err.call(this, this.isPlural ? this.groupFormVal() : this.formVal())\r\n }\r\n },\r\n formErr(b, c) {\r\n let t = this.getLabelText()\r\n \r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: b,\r\n label: t,\r\n text: (this.rules[b] && this.rules[b].text) || $.loc.ps.apply(null, [$.loc.form[b === 'required' && !t ?\r\n 'complete_required' : b], t || ''].concat(c != null && c !== '' ? c : [])) || ''\r\n }\r\n },\r\n warn(a) {\r\n this.warnClass = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n },\r\n showErrorTip(text) {\r\n $.scrollIntoView(this)\r\n this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n },\r\n showTip(o, opt) {\r\n return this.exec($.extendDeep({}, o, this.x.tip, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }))\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n onblur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n //this.valid('blur')\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label, this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n oninput: this.oninput,\r\n onfocus: (e) => {\r\n this.isFocus = true, this.warn(false)\r\n },\r\n onblur: this.onblur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n validHooks() {\r\n return {}\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n }],\r\n style: {\r\n '--w-input-width': fw == null ? '' : fw\r\n },\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n \r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n align-items: center;\r\n overflow: hidden;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n \r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on > .w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n padding: 0 10px;\r\n background: transparent;\r\n }\r\n \r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n gap: 10px;\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n \r\n .w-form > .w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n .w-form.z-vertical > .w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n .w-form.z-v-align-left > .w-input,\r\n .w-form.z-h-valign-top > .w-input {\r\n align-items: flex-start;\r\n }\r\n .w-form.z-v-align-center > .w-input,\r\n .w-form.z-h-valign-middle > .w-input {\r\n align-items: center;\r\n }\r\n .w-form.z-v-align-right > .w-input,\r\n .w-form.z-h-valign-bottom > .w-input {\r\n align-items: flex-end;\r\n }\r\n .w-form.z-h-align-left > .w-input,\r\n .w-form.z-v-valign-top > .w-input {\r\n justify-content: flex-start;\r\n }\r\n .w-form.z-h-align-center > .w-input,\r\n .w-form.z-v-valign-middle > .w-input {\r\n justify-content: center;\r\n }\r\n .w-form.z-h-align-right > .w-input,\r\n .w-form.z-v-valign-bottom > .w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n</style>\r\n","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=a107884a&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!./Jigsaw.vue?vue&type=style&index=0&id=57930728&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!./Leaf.vue?vue&type=style&index=0&id=a4ab3438&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!./Picker.vue?vue&type=style&index=0&id=4e2008ba&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.isEntity && !this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n closePop() {\r\n clearTimeout(this.sug_timer)\r\n this.suggest(false)\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closePop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closePop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closePop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n if (k === 13)\r\n this.fixStyle()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closePop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br,\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-list {\r\n gap: 3px;\r\n padding-left: 3px;\r\n }\r\n\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray;\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox.z-br .w-linkbox-input {\r\n overflow: visible;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n \r\n</style>\n","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=0ca498b4&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!./MenuButton.vue?vue&type=style&index=0&id=31bddb30&lang=css\"","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","import { render } from \"./Option.vue?vue&type=template&id=a3c23114\"\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=a3c23114&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\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '"')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\\"/g, '"') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<!-- <template>\r\n <widget-async v-if=\"x.template\" :p=\"x\" v-bind=\"$attrs\"></widget-async>\r\n <div class=\"w-view\" v-bind=\"$attrs\" v-else>\r\n <slot></slot>\r\n </div>\r\n <w-pop v-for=\"item in pops\" :p=\"item\"></w-pop>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","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!./ViewAbs.vue?vue&type=style&index=0&id=03150972&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) === '-' ? '-' : '';\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn a;\n\t} else if (b < 0) {\n\t\treturn a;\n\t} else {\n\t\tvar f = strFrom('' + a, '.');\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n linkTarget(a) {\r\n if (this.x.target) {\r\n const tar = this.ownerView.find(this.x.target)\r\n tar && tar.parentNode.setFocus(this.x.target)\r\n }\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = null\r\n }\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isCurrent) {\r\n this.linkTarget()\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","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=31bddb30&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\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth', 'br'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n mv.length && mv.splice(mv.length - 1, 1)\r\n }\r\n }\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {'z-forbid': v.forbid}],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if(this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n \r\n .w-combobox-list > .w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n \r\n .w-combobox-option.z-forbid .w-combobox-option-text{\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n \r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n \r\n</style>\n","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=124d81b3&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'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return this.x.vertical ? 'w-vertical' : 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.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=4cd2421c&lang=css\"","// 最后一个属性是数组 / 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!./FormBase.vue?vue&type=style&index=0&id=a107884a&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!./Toggle.vue?vue&type=style&index=0&id=d15fa408&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 import PreloadDialog from '../preload/PreloadDialog.vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n }\r\n\r\n const _formatCache = {}\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n emits: ['load'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n created() {\r\n if (this.isEntity && this != $.docView) {\r\n this.path = (this.ownerView.path ? this.ownerView.path + '/' : '') + (this.getKey() || this.uid)\r\n $.viewCache[this.path] = this\r\n }\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && d.val(b)\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('.f-form-hide :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('.f-form-hide :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueCache[v.wid]\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueCache[v.wid].warn())\r\n $.vueCache[e[0].wid].showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n if (!cmd.template && templateHooks[cmd.type]) cmd.template = templateHooks[cmd.type]\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.request()\r\n this.trigger('load')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n .w-view-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n }\r\n\r\n .w-view-loading .f-svg {\r\n width: 32px;\r\n height: 32px;\r\n fill: #fff;\r\n }\r\n</style>\n","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=03150972&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'\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {\r\n return {\r\n value\r\n }\r\n }) : v ? [{\r\n value: v\r\n }] : []\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.x.fileTypes\r\n if (!t || t == '*.*') return\r\n let n = []\r\n t.toLowerCase().split(';').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.join('.').replace(/[*;]/g, '').split('.').forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let xfs_names\r\n let nfs_names\r\n $.lodash.each(e.target.files, file => {\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else\r\n this.list.push({file})\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\r\n","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=2a8401e0&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: 'bottom',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.q('body').click(e => {\r\n if (e.altKey) {\r\n let vm = $.vm(e.target)\r\n let t = vm && vm.wrapper().template\r\n \r\n if (t) {\r\n let b = $.bcr(vm.el())\r\n $.q('body').append(\r\n '<div id=dfish-debug style=\"position:absolute;border:2px dashed red;box-sizing:border-box;width:' +\r\n b.width + 'px;height:' + b.height + 'px;top:' + b.top + 'px;left:' + b.left + 'px\"></div>')\r\n this.cmd({\r\n type: 'Alert',\r\n text: t,\r\n yes: () => $.q('#dfish-debug').remove()\r\n })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n</script>\n","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 props: ['br'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n let st = (t.table || t).scrollTable\r\n if (t.fixed) {\r\n if (t.table != st) t.table.scrollTop(e.target.scrollTop)\r\n } else {\r\n if (t.leftTable) {\r\n if (t.leftTable != st) t.leftTable.scrollTop(e.target.scrollTop)\r\n }\r\n if (t.rightTable) {\r\n if (t.rightTable != st) t.rightTable.scrollTop(e.target.scrollTop)\r\n }\r\n }\r\n },\r\n onScrollbarMousedown(e) {\r\n this.setScrollTable()\r\n },\r\n setScrollTable(a) {\r\n let t = this.table;\r\n (t.table || t).scrollTable = t\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class, {\r\n 'z-br': this.x.br,\r\n 'z-hv': !this.table.fixed && this.table.scrollHover\r\n }]\r\n },\r\n html_props() {\r\n let t = this.table\r\n if (t.leftTable || t.rightTable || t.fixed) {\r\n return $.br.mobile ? {\r\n ontouchstart: this.setScrollTable\r\n } : {\r\n onwheel: e => {\r\n this.setScrollTable()\r\n t.fixed && (t.table.scrollHover = true)\r\n },\r\n onmouseenter: t.fixed && (e => {\r\n t.table.scrollHover = true\r\n }),\r\n onmouseleave: t.fixed && (e => {\r\n t.table.scrollHover = false\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.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!./Range.vue?vue&type=style&index=0&id=3c8c4ca7&lang=css\"","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], c: ['cc'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'], \n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,32,12,43,22,33,'rr','lr'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\r\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t} \r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\r\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置 \n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t} \n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n \t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c; \n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","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=f949d762&lang=css\"","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', 'target', 'closable', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n locked: false,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-dn'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-dn'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.locked = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.x.disabled) return\r\n e.stopPropagation()\r\n if (!this.locked) this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.locked) {\r\n r.push(h('div', {\r\n class: 'w-button-locked f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.x.disabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.x.disabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled || this.locked,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked': this.locked,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","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!./Table.vue?vue&type=style&index=0&id=83271cca&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!./ComboBox.vue?vue&type=style&index=0&id=124d81b3&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\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n if (this.pubParent) {\r\n if (this.$slots.default)\r\n this.pubParent.isGrid = true\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0)\r\n \treturn this.isChecked ? this.value : ''\r\n //this.x.checked = !!a\r\n let v = this.groupFormVal()\r\n let p = this.pubParent\r\n if (p) {\r\n p.$emit('update:modelValue', v)\r\n p.$emit('change', v)\r\n if (v != p.x.modelValue) {\r\n p.x.modelValue = v\r\n }\r\n } else {\r\n this.$emit('change', v)\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.$refs.v.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null)\r\n return $.lodash.filter(this.elements(true, true), v => v.value).map(v => v.value).join(',')\r\n $.lodash.each(this.elements(), e => $(e).check($.idsAny(a, $(e).formVal())))\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n elements(a, b) {\r\n return $.q(':input[name=\"' + this.input_name + '\"]' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el())\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onchange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.val(e.target.checked)\r\n this.trigger('click', e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n if (!this.pubParent) {\r\n this.x.checked = e.target.checked\r\n }\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n class: 'w-input-value',\r\n ref: 'v',\r\n 'w-name': this.input_name !== this.x.name ? this.x.name : null\r\n }), h('em', {\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text)\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: e => {\r\n e.stopPropagation()\r\n this.provideBoxParent && this.provideBoxParent.clickBoxProxy(e)\r\n this.relate()\r\n }\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {class: this.$options.name + '-target', ref: 'target'}, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.isGrid ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n isChecked() {\r\n return typeof this.x.checked === 'boolean' ? this.x.checked : (this.pubParent && $.idsAny(this.pubParent.x.modelValue, this.x.value))\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n let t = this.$refs.target\r\n if (t) {\r\n this.$nextTick(() => {\r\n this.$watch(() => this.isChecked && !this.isDisabled, (v) => {\r\n t.$el && this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !v)\r\n }, {immediate: true})\r\n })\r\n }\r\n },\r\n }\r\n</script>\r\n","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!./PageBar.vue?vue&type=style&index=0&id=12531d5b&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'filter', 'success', 'error', 'complete'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc(a) {\r\n let x = this.x || this.$props\r\n return a ? $.urlFormat(x.src, x.data, x) : x.src\r\n },\r\n request(fn) {\r\n let src = this.getSrc(true)\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n $.ajax({\r\n src,\r\n context: this,\r\n filter: this.x.filter,\r\n error: this.x.error,\r\n complete: this.x.complete,\r\n success: (...args) => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n this.x.success && this.x.success(...args)\r\n fn && fn()\r\n }\r\n })\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.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 AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","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 <w-dialog>\r\n <slot/>\r\n </w-dialog>\r\n</template>\n","import { render } from \"./PreloadNone.vue?vue&type=template&id=5971bb93\"\nconst script = {}\nscript.render = render\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","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: 'w-timeline-prev'\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: 'w-timeline-next'\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({margin: 0})\r\n $.q(this.$refs.next).css({margin: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n gap: 25px;\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","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=4021d656&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=0ca498b4&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\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-leaf.z-hv {\r\n background: #f5faff\r\n }\r\n\r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n</style>\r\n","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=3c69a720&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!./Loading.vue?vue&type=style&index=0&id=28d38c26&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-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 {h, mergeProps} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent, Scroll],\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [(this.x.align || this.x.valign) && 'w-horizontal', this.html_align_class, this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","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=7168e3f6&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\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [TD],\r\n props: ['sortable'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n methods: {\r\n clickSort(e, order) {\r\n let key = this.$.vnode.key\r\n let sort = this.thead.sort || false\r\n if (key == null || key == '') return\r\n if (order === 'toggle') {\r\n if (sort.key == key) {\r\n order = sort.order == 'asc' ? 'desc' : sort.order == 'desc' ? '' : 'asc'\r\n } else {\r\n order = 'asc'\r\n }\r\n } else {\r\n if (sort.order == order) order = ''\r\n }\r\n this.$emit('click:sort', e, {key, order})\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title', onClick: this.sortable && (e => this.clickSort(e, 'toggle'))}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n }\r\n },\r\n render() {\r\n let col = this.col\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n let sort = this.thead.sort || false\r\n return h('th', {\r\n class: ['w-td w-th', {[`z-${sort.order}`]: this.sortable && sort.key && sort.key == this.$.vnode.key}, this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.html_slots())\r\n }\r\n\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.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!./MediaUpload.vue?vue&type=style&index=0&id=3362c017&lang=css\"","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import { render } from \"./DialogMove.vue?vue&type=template&id=8f7a80fa\"\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=8f7a80fa&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 required(v) {\r\n return !v || v === '[]' || v === '{}'\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import 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 TableAbs from './TableAbs.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableAbs],\r\n inject: ['table'],\r\n data() {\r\n return {\r\n fixed: 'left',\r\n fixedWidth: null,\r\n fixedHeight: null,\r\n }\r\n },\r\n created() {\r\n this.init()\r\n },\r\n methods: {\r\n init() {\r\n this.table.leftTable = this\r\n },\r\n observeWidth() {\r\n if (!this.$el) return\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n let width = 0\r\n $.lodash.each(fixedCells, v => width += v.offsetWidth)\r\n this.fixedWidth = width\r\n },\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-table-fixed-' + this.fixed + ' f-flex-column'\r\n },\r\n html_style() {\r\n return {\r\n width: this.fixedWidth + 'px',\r\n height: this.fixedHeight + 'px',\r\n }\r\n }\r\n },\r\n mounted() {\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n $.lodash.each(fixedCells, v => new ResizeObserver(this.observeWidth).observe(v))\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TableFixedLeft.vue?vue&type=script&lang=js\"\nexport * from \"./TableFixedLeft.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 DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","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=2a554cfa&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","<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 $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign'],\r\n inject: ['table', 'provideInBody'],\r\n render() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n return h('td', {\r\n class: ['w-td', this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.$slots)\r\n }\r\n\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.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!./Timeline.vue?vue&type=style&index=0&id=4021d656&lang=css\"","<template>\r\n <w-dialog class=\"f-dfish-dialog\">\r\n <w-horizontal class=\"f-dfish-dialog-head\" height=\"40\">\r\n <w-dialog-move>\r\n <w-html class=\"f-dfish-dialog-title\" width=\"*\">{{title}}</w-html>\r\n </w-dialog-move>\r\n <w-html class=\"f-dfish-dialog-close\" width=\"40\" @click=\"close\"><i class=\"f-i f-i-close\"></i></w-html>\r\n </w-horizontal>\r\n <w-vertical height=\"*\" class=\"f-dfish-dialog-body\">\r\n <slot name=\"default\"></slot>\r\n </w-vertical>\r\n <w-horizontal class=\"f-dfish-dialog-foot\" height=\"56\">\r\n <slot name=\"foot\">\r\n <w-buttonbar width=\"*\" height=\"*\" align=\"right\" gap=\"10\" style=\"padding-right: 20px\">\r\n <w-button text=\"取消\" @click=\"close\"></w-button>\r\n </w-buttonbar>\r\n </slot>\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: ['title'],\r\n data() {\r\n return {x: this.$attrs}\r\n },\r\n methods: {\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import { render } from \"./PreloadDialog.vue?vue&type=template&id=1e09ba2e\"\nimport script from \"./PreloadDialog.vue?vue&type=script&lang=js\"\nexport * from \"./PreloadDialog.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒'\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d === '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n return {\r\n gap: this.x.gap ? $.unitSize(this.x.gap) : ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","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 w: (a.getDay() || 7)\r\n }\r\n return (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n if (/^\\d{4}-\\d{2}-\\d{2}(?: \\d{2}:\\d{2}(?::\\d{2})?)?$/.test(a))\r\n return new Date(a.replace(/-/g, '/'));\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0\\$1');\r\n b = (b || _date_sf).replace(/\\b([MdHms])\\b/g, '\\$1\\$1');\r\n var c, y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date().getFullYear()),\r\n M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0,\r\n d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1,\r\n H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0,\r\n m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0,\r\n s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0;\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date, b -> 周的重心(星期几), c -> 周的第一天(星期几)\r\nconst dateWeek = function(a, b = 1, c = 1) {\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = a.replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b),\r\n y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n if (a >= b) return 0\r\n switch (c) {\r\n case 'y':\r\n var e = b.getFullYear() - a.getFullYear(),\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n var y = _dateDiff(a, b, 'y'),\r\n z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n}\n","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=d8783f58&lang=css\"","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-9fa5810e\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-9fa5810e\"\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-2494bc4a\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-2494bc4a\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-405ba910\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-405ba910\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-3ffcda5c\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-3ffcda5c\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-59e6a9c9\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-59e6a9c9\"\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-29cfb088\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-29cfb088\"\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-2d0c5129\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-2d0c5129\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-11d51f82\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-11d51f82\"\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/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-2d0a311d\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-2d0a311d\"\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\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-28871420\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-28871420\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4a3a5e3e\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4a3a5e3e\"\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],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9\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/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\"./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/Picker\": [\n\t\t\"bb5b\",\n\t\t9\n\t],\n\t\"./widgets/Picker.vue\": [\n\t\t\"bb5b\",\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/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/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/TableAbs\": [\n\t\t\"c7ce\",\n\t\t9\n\t],\n\t\"./widgets/TableAbs.vue\": [\n\t\t\"c7ce\",\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/TableFixedLeft\": [\n\t\t\"77fe\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedLeft.vue\": [\n\t\t\"77fe\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedRight\": [\n\t\t\"1295\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedRight.vue\": [\n\t\t\"1295\",\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\r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n inst && $.close(inst)\r\n inst = this.uid\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity) {\r\n inst = null\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","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=f949d762&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!./PickBox.vue?vue&type=style&index=0&id=2a554cfa&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=2e59be00&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=8f7a80fa&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: ['noButton', 'multiple', 'format', 'compare', 'minValue', 'maxValue'],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n inputWidth: 180\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n if (!this.x.noButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: 'f-dfish-dialog w-calendar-dialog',\r\n width: 260,\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => {\r\n this.showDrop = false, this.currentDate = null\r\n }\r\n }\r\n }, {\r\n default: () => h(Calendar, {\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n on: {\r\n 'click:item': (e, item) => this.currentDate = item.value,\r\n }\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n minValue: (v) => {\r\n return $.dateParse(v, this.x.format) < $.dateParse(this.vv('minValue'), this.x.format)\r\n },\r\n maxValue: (v) => {\r\n return $.dateParse(v, this.x.format) > $.dateParse(this.vv('maxValue'), this.x.format)\r\n },\r\n compare: (v, c, d) => {\r\n if (this.x.format && c.x.format) {\r\n let f = (this.x.format.length > c.x.format.length ? this : c).x.format\r\n v = $.dateFormat($.dateParse(v, this.x.format), f)\r\n d = $.dateFormat($.dateParse(d, c.x.format), f)\r\n }\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})\r\n },\r\n valid: (v) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr('time_exceed', [n, m]);\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr('time_format', [$.dateFormat(d, this.x.format)]);\r\n }\r\n }\r\n if (this.vv('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('beforeNow', [this.x.beforeNow]);\r\n if (this.vv('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('afterNow', [this.x.afterNow]);\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile && {\r\n readonly: true\r\n }\r\n },\r\n // input_value() {\r\n // let v = this.x.modelValue\r\n // if (v && v.length !== this.x.format.length) {\r\n // v = $.dateFormat($.dateParse(v, this.x.format), this.x.format)\r\n // }\r\n // return v\r\n // },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","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\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 WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = this.$refs.wScrollOverflow.scrollLeft\r\n scrTop = this.$refs.wScrollOverflow.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n this.$refs.wScrollOverflow.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * this.wScrollPercentX)\r\n } else {\r\n this.$refs.wScrollOverflow.scrollTop = scrTop + ((mvEv.clientY - dnY) * this.wScrollPercentY)\r\n }\r\n }, (upEv) => {\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n this.onScrollbarMousedown(dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView'],\r\n data() {\r\n return {\r\n wScrollPercentX: null,\r\n wScrollPercentY: null,\r\n wScrollSizeX: null,\r\n wScrollSizeY: null,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n }\r\n },\r\n emits: ['bindscroll'],\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollbarMousedown(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n var a = this.ovf();\r\n if (!a) return;\r\n var b = this.$refs.wScrollCont || a,\r\n c = $.bcr(a),\r\n d = $.bcr(b),\r\n f = e ? $.bcr(e) : d,\r\n t, l;\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else {\r\n if (f.right < c.left || f.left > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n else if (f.left < c.left)\r\n l = a.scrollLeft - f.left + c.left\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r.call(this)\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r.call(this)\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n // style: {\r\n // minWidth: $.unitSize(this.x.minWidth),\r\n // minHeight: $.unitSize(this.x.minHeight),\r\n // maxWidth: $.unitSize(this.x.maxWidth),\r\n // maxHeight: $.unitSize(this.x.maxHeight),\r\n // },\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.scroll_observe\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]] : (s || (this.$slots.default && this.$slots.default()))\r\n \r\n },\r\n scroll_observe() {\r\n if ($.br.mobile || !this.$refs.wScrollOverflow || !this.el()) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let xSize = cont.width > flow.width && cont.width - flow.width\r\n let ySize = cont.height > flow.height && cont.height - flow.height\r\n let xPercent = flow.width / cont.width\r\n let yPercent = flow.height / cont.height\r\n if (xSize && xSize <= 1) xSize = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (this.x.scrollX) {\r\n this.$refs.wScrollBarThumbX.style.width = (xPercent * 100) + '%'\r\n this.wScrollSizeX = xSize\r\n this.wScrollPercentX = xSize && xSize / ((1 - xPercent) * wrap.width)\r\n } \r\n if (this.x.scrollY) {\r\n this.$refs.wScrollBarThumbY.style.height = (yPercent * 100) + '%'\r\n this.wScrollSizeY = ySize\r\n this.wScrollPercentY = ySize && ySize / ((1 - yPercent) * wrap.height)\r\n }\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n //'w-scroll-overflow': $.br.mobile,\r\n 'z-scroll-x-show': this.wScrollPercentX,\r\n 'z-scroll-y-show': this.wScrollPercentY,\r\n 'z-scroll-x-left': sx && this.scrollXPosition == 'left',\r\n 'z-scroll-x-center': sx && this.scrollXPosition == 'center',\r\n 'z-scroll-x-right': sx && this.scrollXPosition == 'right',\r\n 'z-scroll-y-top': sy && this.scrollYPosition == 'top',\r\n 'z-scroll-y-middle': sy && this.scrollYPosition == 'middle',\r\n 'z-scroll-y-bottom': sy && this.scrollYPosition == 'bottom',\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (!this.isEntity) return\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n \r\n .w-scroll.z-scroll-x-show > .w-scrollbar-x,\r\n .w-scroll.z-scroll-y-show > .w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n }\r\n \r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top,left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x > .w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n }\r\n\r\n\r\n .w-scrollbar-y > .w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n }\r\n \r\n .w-scrollbar-x:hover > .w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover > .w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\r\n","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=daf261dc&lang=css\"\n\nexport default script","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!./Calendar.vue?vue&type=style&index=0&id=6ef6d911&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.isVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e) => {\r\n if (help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n isVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.isVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","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=08cbcde0&lang=css\"\n\nexport default script","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import { render } from \"./Pop.vue?vue&type=template&id=51faee10\"\nimport script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\nscript.render = render\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}","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=44e500c8&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 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!./Html.vue?vue&type=style&index=0&id=7168e3f6&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: -1,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rowspan: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rowspan = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","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 forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: () => {\r\n let f = this.forms()\r\n if (f.length > 1) {\r\n let v1 = f[0] && f[0].formVal()\r\n let v2 = f[1] && f[1].formVal()\r\n let c = this.x.compare || '<='\r\n if (v1 && v2) {\r\n if (!$.eval(`v1 ${c} v2`, {v1, v2})) {\r\n return this.formErr('compare', [f[0].getLabelText(), c, f[1].getLabelText()])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range > .w-input > .w-formbase {\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","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=3c8c4ca7&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: u.indexOf('firefox') > 0,\r\n safari: !chrome && u.indexOf('safari') > 0\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nexport default r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no'],\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.pvdr = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n hasEvent(type) {\r\n let a = _event_handlers(this, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, pvdr, one) {\r\n var k = {\r\n id: uid(this),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n pvdr: pvdr,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn, pvdr) {\r\n return this.addEvent(type, fn, pvdr, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(k.pvdr || this, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn, c -> pvdr\r\n removeEvent(a, b, c) {\r\n if (a) {\r\n var d = _event_handlers(this, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (b ? (d[i].fn === b && (!c || c === d[i].pvdr)) : c ? c === d[i].pvdr : T) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n cvs.style.userSelect = 'none'\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n cvs.style.userSelect = ''\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {\r\n passive: false\r\n });\r\n dir && upCB && upCB(e)\r\n }, true)\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {\r\n passive: false\r\n })\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","<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: 0\r\n }\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'f-oh f-flex' + (this.x.position === 'top' || this.x.position === 'bottom' ? '-column' : '')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.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 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!./Tree.vue?vue&type=style&index=0&id=3c69a720&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","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","import { render } from \"./Picker.vue?vue&type=template&id=4e2008ba\"\nimport script from \"./Picker.vue?vue&type=script&lang=js\"\nexport * from \"./Picker.vue?vue&type=script&lang=js\"\n\nimport \"./Picker.vue?vue&type=style&index=0&id=4e2008ba&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport Picker from './Picker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\n\r\n\r\nconst components = [\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, Picker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n //注册指令\r\n Vue.directive('dfish', {\r\n created(el, binding) {\r\n let a = binding.arg\r\n $.directiveHooks[a] && $.directiveHooks[a](el, binding.value)\r\n }\r\n })\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding) {\r\n $.directiveHooks[v] && $.directiveHooks[v](el, binding.value)\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expandedIcon', 'collapsedIcon', 'expanded', 'box', 'br', 'format', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['providePubParent', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.inTree() ? this.getInitLoaded() : this.provideParentLeaf.getInitLoaded(),\r\n boxProxy: null,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return this.inTree() ? $.hasChild(this.$slots) : this.provideParentLeaf.hasChild()\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true : false\r\n },\r\n inTree() {\r\n return !this.provideParentLeaf || this.provideParentLeaf.$options.name === 'w-leaf'\r\n },\r\n isExpanded() {\r\n return this.inTree() ? this.x.expanded : this.provideParentLeaf.isExpanded()\r\n },\r\n isFolder() {\r\n return this.inTree() ? (this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)) : this.provideParentLeaf.isFolder()\r\n },\r\n toggle(exp, fn) {\r\n if (this.inTree()) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {fn && fn(this.isExpanded())})\r\n } else {\r\n fn && this.$nextTick(() => {fn(this.isExpanded())})\r\n }\r\n } else {\r\n this.provideParentLeaf.toggle(exp, fn)\r\n }\r\n },\r\n clickBoxProxy(e) {\r\n this._triple()\r\n },\r\n children() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n // triplebox 级联勾选\r\n _triple() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.children()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this._tripleAll(c)\r\n },\r\n _tripleAll(a) {\r\n this.children().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v._tripleAll(a)\r\n }\r\n })\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return h('div', mergeProps(this.html_attrs, this.$attrs, this.html_props), [h('div', {\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: ['w-leaf-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text' + ($.isNumber(this.x.br) ? ' f-line-' + this.x.br : this.x.br ? '' : ' f-line-1'),\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n\r\n ])\r\n\r\n },\r\n html_cont() {\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, this.$slots)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let prop = {\r\n class: {\r\n 'z-folder': this.isFolder(),\r\n 'z-on': this.isCurrent,\r\n },\r\n style: 'padding-left:' + $.unitSize((this.provideLeafLevel) * 16),\r\n }\r\n if (this.inTree()) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n }\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this._triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n }\r\n \r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox {\r\n margin-right: 6px;\r\n }\r\n</style>\r\n","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=a4ab3438&lang=css\"\n\nexport default script","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","import { render } from \"./Calendar.vue?vue&type=template&id=6ef6d911\"\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=6ef6d911&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\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tt',\r\n '-r': 'rr',\r\n '-b': 'bb',\r\n '-l': 'll',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local ? this.getLocalElem() : this.defaultSnapTargetElem\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let f = this.x.position\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r;\r\n if (f == 'c') f = N;\r\n if (f) { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n if (e == 1 || e == 2 || e === 't') {\r\n r.top = -h;\r\n } else if (e == 3 || e == 4 || e === 'r') {\r\n r.right = -w;\r\n } else if (e == 5 || e == 6 || e === 'b') {\r\n r.bottom = -h;\r\n } else if (e == 7 || e == 8 || e === 'l') {\r\n r.left = -w;\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -10), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n \r\n //$.snapTo(el, r)\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right + 'px';\r\n } else {\r\n s.left = r.left + 'px';\r\n }\r\n if (r.pix_b) {\r\n s.bottom = r.bottom + 'px';\r\n } else {\r\n s.top = r.top + 'px';\r\n }\r\n } else {\r\n Object.keys(r).forEach(k => s[k] = $.unitSize(r[k]))\r\n }\r\n this.snapStyle = s\r\n\r\n // 八方位浮动效果\r\n if (f) {\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n }\r\n this.snapCls()\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.x.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n let x = Math.floor((r.target.left + r.target.right) / 2)\r\n let y = Math.floor((r.target.top + r.target.bottom) / 2)\r\n let l = $.numRange(x - r.left, 7, r.left + r.width - 7)\r\n let t = $.numRange(y - r.top, 7, r.top + r.height - 7)\r\n let s = ''\r\n if (r.mag_b || r.mag_t) s += 'left:' + l + 'px;'\r\n if (r.mag_l || r.mag_r) s += 'top:' + t + 'px;'\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n style: s\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {\r\n to\r\n }, cover) : cover) : [],\r\n to ? h(Teleport, {\r\n to\r\n }, this.html_self(true)) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n defaultSnapTargetElem() {\r\n //implement\r\n },\r\n defaultSnapPosition() {\r\n return 'cc'\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n return this.x.fullScreen ? {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n } : this.snapStyle\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position) {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity && !this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n</style>\n","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=2e59be00&lang=css\"\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\r\n export default {\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n table: this\r\n }\r\n },\r\n methods: {\r\n scrollTop(y) {\r\n let bd = this.slotHooks.tbody\r\n if (bd) {\r\n $(bd.el).scrollToY(y)\r\n }\r\n }\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableAbs.vue?vue&type=script&lang=js\"\nexport * from \"./TableAbs.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 import Horizontal from './Horizontal.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'target', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: ['w-toggle-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }), h(Horizontal, {class: 'w-toggle-main f-flex-1', align: this.x.align, valign: this.x.valign}, this.$slots.default)]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: 'f-flex-align f-pointer',\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","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=d15fa408&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=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=25ab5284\"\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-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=232b4c7d\"\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=232b4c7d&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!./Img.vue?vue&type=style&index=0&id=5e1c754a&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n toRaw,\r\n } from 'vue/dist/vue.esm-bundler.js'\r\n\r\n const bindCache = {}\r\n\r\n\r\n export default {\r\n props: ['id', 'data', 'template', 'preload', 'width', 'height', 'minWidth', 'minHeight', 'maxWidth',\r\n 'maxHeight', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n //if (this.$options.name=='w-dialog') console.log(this.templateWrapper, this.preloadWrapper, this.$attrs.class, this.isEntity)\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n minWidth: this.x.minWidth && $.unitSize(this.x.minWidth),\r\n minHeight: this.x.minHeight && $.unitSize(this.x.minHeight),\r\n maxWidth: this.x.maxWidth && $.unitSize(this.x.maxWidth),\r\n maxHeight: this.x.maxHeight && $.unitSize(this.x.maxHeight),\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","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', 'cells', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return (this.template || this.preload) ? {} : {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideParentExpanded: false,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n getInitLoaded() {\r\n return this.loaded = this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true :\r\n false\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)\r\n },\r\n isDisplay() {\r\n if (!this.provideParentLeaf) return true\r\n let p = this\r\n while (p = p.provideParentLeaf) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {\r\n fn && fn(this.isExpanded())\r\n })\r\n } else {\r\n fn && this.$nextTick(() => {\r\n fn(this.isExpanded())\r\n })\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rowspan\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o) return\r\n if (('isWidget' in o) && o.isWidget) return o\r\n if (o.$attrs && o.$attrs.templateWrapper) {\r\n return $.vueCache[o.$attrs.templateWrapper.uid]\r\n }\r\n if (o.uid) return $.vueCache[o.uid]\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueCache[o.id]) return $.vueCache[o.id]\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueCache[d]) return $.vueCache[d]\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueCache: {},\r\n viewCache: {},\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a)) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n _mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> split by comma?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? a : a == null || a === '' ? [] : b && typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size) => size == null || size === '' ? '' : size === '*' ? '' : size == -1 || size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s || n;\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s;\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.viewCache[a]) return $.viewCache[a]\r\n if ($.vueCache[a]) {\r\n a = $.vueCache[a]\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n if (a.isEntity) {\r\n return a.isView ? a : a.ownerView\r\n }\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n $.dialog(a)?.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.scrollIntoView = (a) => {\r\n let s = jquery(a.isWidget ? a.el() : a).closest('.w-scroll-y.z-scroll-y-show,.w-scroll-x.z-scroll-x-show')[0]\r\n let o = s && $(s)\r\n if (o && o.scrollTo) {\r\n let b = bcr(s)\r\n let c = bcr(a)\r\n let x = (c.left + c.right) / 2\r\n let y = (c.top + c.bottom) / 2\r\n if (x < b.left || x > b.right || y < b.top || y > b.bottom)\r\n o.scrollTo(a, 'middle', 'center')\r\n }\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\n\t\tw = window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context ||= this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n if (vm.isEntity) {\r\n return submit()\r\n } else {\r\n return new Promise(rsv => {\r\n vm.addEvent('load', () => submit().then(data => rsv(data)))\r\n })\r\n }\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context ||= this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd({\r\n type: 'Alert', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd({\r\n type: 'Confirm', text, yes, no, cover\r\n })\r\n}\r\n\r\n$.directiveHooks = {\r\n colspan(el, v) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","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=08cbcde0&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) => {\r\n a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n on: {\r\n close: () => this.dropper = null\r\n }\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr('jigsaw_required')\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","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=57930728&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 data() {\r\n return {\r\n isVertical: true\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","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', 'checked'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n // this.x.modelValue = v\r\n // this.$emit('update:modelValue', v)\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n },\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .12s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n margin-left: -21px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import 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=4cd2421c&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 Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src ||= this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n style: {\r\n width: $.unitSize(this.x.imgWidth),\r\n height: $.unitSize(this.x.imgHeight),\r\n },\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n },\r\n onmouseenter: e => this.hover = true,\r\n onmouseleave: e => this.hover = false\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n gap: 10px;\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","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=5e1c754a&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 'gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-default-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-default-colspan, 1 / -1);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","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=d8783f58&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, {\r\n item\r\n })\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: 'w-mediaupload-list f-flex'\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before,\r\n /* .w-mediaupload-value .w-img:hover:not(.z-canplay) .w-img-gut:after */\r\n {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","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=3362c017&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 gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","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=28d38c26&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: ['pub', 'required', 'vertical', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n data() {\r\n return {\r\n isGrid: false\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.isGrid ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-grid': this.isGrid}\r\n }\r\n }\r\n }\r\n</script>\r\n","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', 'noButton', 'step', 'compare', 'minValue', 'maxValue'],\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n inputWidth: 140\r\n }\r\n },\r\n doFormat() {\r\n if (!this.x.format)\r\n return;\r\n let v = this.$refs.v.value\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n $.rngCursor(this.$refs.v, n + (b.length - a.length))\r\n }\r\n }\r\n },\r\n isBegin() {\r\n\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.vv('maxValue')\r\n let n = this.vv('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n } else if (u) {\r\n // this.showTip({\r\n // text: $.loc.form[r < v ? 'step_max_value' : 'step_min_value'],\r\n // independent: true,\r\n // })\r\n }\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n html_button() {\r\n return h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n compare: (v, c, d) => {\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {\r\n v,\r\n d\r\n })\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","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=7b5ef9be&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 watch: {\r\n checked(e) {\r\n if (this.provideBoxParent) {\r\n !this.provideBoxParent.isFolder() && this.provideBoxParent.clickBoxProxy()\r\n }\r\n }\r\n },\r\n methods: {\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.x.checked = a == 1\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.checkstate(a)\r\n this.relate()\r\n },\r\n },\r\n mounted() {\r\n !this.x.all && this.relate()\r\n }\r\n\r\n }\r\n</script>\n","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.x.name + '@' + this.ownerView.uid\r\n }\r\n \r\n }\r\n }\r\n</script>\r\n\r\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!./Option.vue?vue&type=style&index=0&id=a3c23114&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 }\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","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=ea49b634\"\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 PreloadNone from '../preload/PreloadNone.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = this.x.modelValue ? $.array(this.x.modelValue, true) : [this.x.modelValue]\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.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!./TemplateDateSheet.vue?vue&type=style&index=0&id=232b4c7d&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import TableFixedRight from './TableFixedRight.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [TableAbs],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n data() {\r\n return {\r\n leftTable: null,\r\n rightTable: null,\r\n scrollTable: null,\r\n scrollHover: false,\r\n fixedWidth: '',\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [], this.fixedLeft || [], this.fixedRight || []]\r\n },\r\n },\r\n computed: {\r\n fixedLeft() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'left') > -1) {\r\n return h(TableFixedLeft, null, this.$slots)\r\n }\r\n },\r\n fixedRight() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'right') > -1) {\r\n return h(TableFixedRight, null, this.$slots)\r\n }\r\n },\r\n html_style() {\r\n return this.fixedWidth && {\r\n '--w-table-fixed-width': this.fixedWidth\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: collapse;\r\n }\r\n\r\n .w-thead {\r\n background: var(--w-thead-background-color);\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n overflow: hidden;\r\n }\r\n\r\n .w-tbody .w-tr.z-on {\r\n background-color: #DFE3FF;\r\n\r\n }\r\n\r\n .w-tbody.z-br .w-td {\r\n white-space: normal;\r\n word-break: break-all;\r\n word-wrap: normal;\r\n overflow: visible;\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th-title {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n white-space: nowrap;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table-fixed-left {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-table-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n align-items: flex-end;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-right {\r\n box-shadow: 0 0 10px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .w-tbody.z-scroll-x-show.z-scroll-x-left~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show.z-scroll-x-right~.w-table-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n .w-table-fixed-left>.w-tbody>.w-scrollbar-y,\r\n .w-table-fixed-right>.w-tbody>.w-scrollbar-y {\r\n display: none;\r\n }\r\n\r\n .w-table-fixed-left .w-table-tbl,\r\n .w-table-fixed-right .w-table-tbl {\r\n width: var(--w-table-fixed-width);\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td:first-child {\r\n border-left: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-td:last-child {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tr:first-child .w-td {\r\n border-top: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n</style>\r\n","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=83271cca&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=daf261dc&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!./FileUpload.vue?vue&type=style&index=0&id=2a8401e0&lang=css\""],"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/Video.vue?99e5","webpack://dfish/./src/template/TemplateAlert.vue","webpack://dfish/./src/template/TemplateAlert.vue?b656","webpack://dfish/./src/widgets/Menu.vue","webpack://dfish/./src/widgets/Menu.vue?61b6","webpack://dfish/./src/widgets/TableFixedRight.vue","webpack://dfish/./src/widgets/TableFixedRight.vue?ce30","webpack://dfish/./src/widgets/Spinner.vue?5f3a","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/Jigsaw.vue?f100","webpack://dfish/./src/widgets/Leaf.vue?afac","webpack://dfish/./src/widgets/Picker.vue?7f6e","webpack://dfish/./src/widgets/LinkBox.vue","webpack://dfish/./src/widgets/LinkBox.vue?8d22","webpack://dfish/./src/widgets/MediaUploadItem.vue?b462","webpack://dfish/./src/widgets/MenuButton.vue?e4af","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/ViewAbs.vue?c00e","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/widgets/Switch.vue?75fb","webpack://dfish/./src/util/json.js","webpack://dfish/./src/widgets/FormBase.vue?4bc1","webpack://dfish/./src/widgets/Toggle.vue?c262","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/widgets/Range.vue?ff49","webpack://dfish/./src/util/snap.js","webpack://dfish/./src/widgets/Tip.vue?1c32","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/Table.vue?331c","webpack://dfish/./src/widgets/ComboBox.vue?b40d","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/PageBar.vue?cc67","webpack://dfish/./src/widgets/SrcParent.vue","webpack://dfish/./src/widgets/SrcParent.vue?93a3","webpack://dfish/./src/widgets/Label.vue","webpack://dfish/./src/widgets/Label.vue?969b","webpack://dfish/./src/preload/PreloadNone.vue","webpack://dfish/./src/preload/PreloadNone.vue?d540","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/Timeline.vue","webpack://dfish/./src/widgets/Timeline.vue?6722","webpack://dfish/./src/widgets/LinkBox.vue?a25a","webpack://dfish/./src/widgets/Tree.vue","webpack://dfish/./src/widgets/Tree.vue?42d7","webpack://dfish/./src/widgets/Loading.vue?b831","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/MediaUpload.vue?2dae","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/TableFixedLeft.vue","webpack://dfish/./src/widgets/TableFixedLeft.vue?27e7","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/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/widgets/Timeline.vue?8f77","webpack://dfish/./src/preload/PreloadDialog.vue","webpack://dfish/./src/preload/PreloadDialog.vue?74f7","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/widgets/Grid.vue?9eab","webpack://dfish/./src lazy ^\\.\\/.*$ namespace object","webpack://dfish/./src/widgets/Tip.vue","webpack://dfish/./src/widgets/Tip.vue?9916","webpack://dfish/./src/widgets/PickBox.vue?6569","webpack://dfish/./src/widgets/Dialog.vue?5f0a","webpack://dfish/./src/widgets/DialogMove.vue?a4d8","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/util/mime.js","webpack://dfish/./src/widgets/Calendar.vue?830b","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/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/Menu.vue?15cc","webpack://dfish/./src/widgets/Swiper.vue","webpack://dfish/./src/widgets/Swiper.vue?78b8","webpack://dfish/./src/widgets/Html.vue?d464","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/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/Tree.vue?53f7","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/Picker.vue","webpack://dfish/./src/widgets/Picker.vue?8b81","webpack://dfish/./src/widgets/index.js","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/TableAbs.vue","webpack://dfish/./src/widgets/TableAbs.vue?844e","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/Img.vue?02d1","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/dfish.js","webpack://dfish/./src/widgets/Split.vue?0a7f","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/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/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/Option.vue?53eb","webpack://dfish/./src/widgets/Text.vue","webpack://dfish/./src/widgets/Text.vue?367a","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/template/TemplateDateSheet.vue?ebdd","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309","webpack://dfish/./src/widgets/Scroll.vue?885f","webpack://dfish/./src/widgets/FileUpload.vue?7638"],"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","isVertical","computed","html_align_class","this","x","align","vertical","valign","class","w-width","title","close","icon","text","save","ownproperty","methods","dialog","cueYes","render","inst","mixins","Dialog","x_default","autoHide","independent","hasBubble","a","b","contains","parentMenu","rootCommander","setMaxHeight","h","maxHeight","arrow","$refs","bbr","el","bcr","scrollTop","height","mousewheel","wheelDelta","getRoot","getCommander","$options","html_buttons","slots_children","map","MenuButton","children","html_slots","onclick","Vertical","ref","onwheel","default","html_class","animateClass","snapClass","dropClass","isDeactivated","fullScreen","commander","mounted","isEntity","context","TableFixedLeft","fixed","init","table","rightTable","Button","ButtonBar","emits","isJumpFocus","showDrop","limit","size","offset","buttonCount","face","gap","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","on","click","Menu","snap","drop","position","indent","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","Array","isArray","join","trim","k","validHooks","valid","vv","required","formErr","minLength","strLen","maxLength","minValue","isNumber","maxValue","minSize","split","maxSize","pattern","eval","test","compare","ownerView","formVal","getLabelText","wid","_validate_dft_value","beforeNow","afterNow","WidgetBase","AlignParent","mv","wrapper","isFormWidget","isFocus","hasBorder","isPlural","warnClass","labelVertical","modifiedValue","defaultValue","placeholder_type","val","arguments","input_value","reset","empty","rules","getValidError","warn","showErrorTip","isNormal","readonly","groupFormVal","label","ps","form","scrollIntoView","exec","errorTipTarget","showTip","opt","extendDeep","tip","hoverDrop","focus","formText","pubParent","oninput","isFocusTarget","relatedTarget","snapElem","isWidget","original","dv","JSON","stringify","saveModified","lodash","clone","html_label","$slots","Label","html_input","input_tag","input_type","input_name","isReadonly","isDisabled","placeholder","input_placeholder","input_prop","html_input_hidden","html_form","slot","html_main","fh","inputHeight","unitSize","style","input_title","main_prop","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","q","eq","addBack","remove","suggest","input","innerText","replace","Event","closePop","fixStyle","g","parentElement","firstChild","nodeType","extractContents","createTextNode","insertNode","previousSibling","nodeValue","indexOf","replaceWith","rngCursorOffset","forEach","strTrim","param","classAny","classRemove","removeAttribute","rngSelection","selectNodeContents","clickPicker","stopPropagation","picker","cmd","clickDropper","dropper","filter","find","each","onkeyup","ondblclick","getSelection","removeAllRanges","html_var","contentEditable","width","dropWidth","scrollY","br","getOn","addEventListener","isMul","html_attrs","cv","$parent","pull","isCnc","includes","idsAny","cancelable","String","strQuot","strFrom","lastIndexOf","substr","strTo","$","cnBytes","charCodeAt","strPad","strFormat","$0","$1","encodeURIComponent","strEscape","strHighlight","RegExp","strSplitword","$2","$3","_s_regexp","ViewAbs","inject","html_self","html_pops","html_scroll_class","parseFloat","isNaN","numRange","numAdd","args","pow","round","numFormat","charAt","numDecimal","linkTarget","tar","setFocus","closeSub","subMenu","isMore","onmouseenter","currentTarget","classList","add","clickClose","font","startsWith","closable","Img","dropIcon","provideView","isView","isCurrent","onmouseleave","sensor_text","sensor_width","clear","$nextTick","selectionStart","selectionEnd","item","findIndex","dispatchEvent","sensor","ResizeObserver","offsetWidth","observe","Horizontal","PubParent","html_scroll_slots","jsonArray","jsonChain","templateHooks","Alert","TemplateAlert","Confirm","TemplateConfirm","Tip","TemplateTip","SrcParent","provide","pops","beforeCreate","popCommanders","docView","path","getKey","viewCache","reload","querySelectorAll","fv","fAll","getFormList","dom","not","getPostData","range","checked","indeterminate","selectedIndex","_err_ns","vueCache","resetForm","showLoading","cover","local","hide","cmdDialog","orientUid","removeDialog","template","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","getAccept","fileTypes","mime","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","alert","upload_limit","xfs_names","nfs_names","xfs","maxFileSize","nfs","minFileSize","upload_maxfilesize","upload_minfilesize","nextUpload","upload","uploadSrc","loading","urlFormat","fd","FormData","source","http","CancelToken","post","onUploadProgress","progress","floor","loaded","total","cancelToken","token","res","success","upload_invalid_data","upload_no_data","catch","response","status","$emit","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","getElementById","previewVideo","TemplatePreviewMedia","previewImage","imgs","options","dateSheet","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","debug","altKey","vm","top","left","yes","Scroll","thead","provideInBody","scrollX","onScroll","hd","slotHooks","scrollLeft","st","scrollTable","leftTable","onScrollbarMousedown","setScrollTable","html_tbody","inBody","scrollHover","mobile","ontouchstart","T","N","cvs","documentElement","_arr_comma","_snaptype","bottom","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","_uidCnt","_uidKey","_guid","toString","pubParentName","locked","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isGrid","isChecked","elements","check","relate","partialSubmit","preventDefault","input_icon","clickBoxProxy","html_target","$el","getSrc","$props","fn","ajax","focusable","aria-hidden","viewBox","transform","cx","cy","opacity","attributeName","values","begin","dur","repeatCount","p-id","len","wrap","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","set","margin","provideLeafLevel","provideParentLeaf","index","clickSort","order","vnode","sort","col","onClick","sortable","colgroup","dfishColIndex","colspan","rowspan","movable","_pos","w","z","moveup","appendTo","body","mousedown","nextElementSibling","unmounted","removeEventListener","Range","movePoint","__defineGetter__","__defineSetter__","deleteContents","startContainer","setStart","setEnd","select","addRange","rangeCount","getRangeAt","createRange","collapseToEnd","startOffset","createTextRange","setEndPoint","rngText","TableAbs","fixedWidth","fixedHeight","observeWidth","fixedCells","tbody","hiddens","DropBox","clickClear","input_text","current","isCurrentChild","ci","$attrs","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","reach_maxLength","over_maxLength","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","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","upload_invalid_file_type","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","monthname","backdate","picktime","H","end","provideLayout","html_scroll_cont_style","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getDay","Date","M","dateAdd","getTime","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","dateValid","dateDiff","_dateDiff","webpackAsyncContext","req","ids","keys","prong","defaultSnapTargetElem","defaultSnapPosition","Text","currentDate","format","getPeriod","calendarCallback","forms","noButton","Calendar","pad","wScrollPercentX","scrollXPosition","wScrollSizeX","wScrollBarThumbX","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","dnEv","dir","dnX","dnY","scrLeft","scrTop","mvEv","wScrollOverflow","upEv","scrollTo","ovf","wScrollCont","ease","scrollToY","scrollToX","onscroll","scroll_observe","flow","cont","xSize","ySize","xPercent","yPercent","sx","sy","scrollView","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","downX","eventX","downY","eventY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pick","expandedIcon","collapsedIcon","_css_camelize","_set_style","getComputedStyle","_number","focusIndex","clickArrow","clickIndicator","indicatorDots","duration","MutationObserver","childList","isExpanded","observeTableWidth","cg","rows","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","v1","v2","navigator","userAgent","chrome","match","agent","firefox","safari","app","location","protocol","wechat","version","android","isBadAndroid","appVersion","iphone","ios","ipad","cueNo","cue","isCmd","addEvent","_EventUser","_event_remove","pvdr","_event_name","_event_space","_event_handlers","EventListener","one","ori","removeEvent","targetTouches","moveCB","upCB","downEv","moveHdl","upHdl","evX","evY","prevent","userSelect","abs","passive","html_prop_class","buttons","pages","TabButton","SwiperItem","lazy","Swiper","bigSrc","smallSrc","smallWidth","smallLeft","handler","big","small","canPlay","data-url","dataURL","img-width","img-height","showFileName","provideUpload","createImageThumbnail","FileReader","readAsDataURL","createVideoThumbnail","ctx","getContext","videoWidth","videoHeight","drawImage","toDataURL","URL","createObjectURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","html_binds","setup","startY","endY","minY","maxY","optY","optH","roll","self","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","sc","nv","xv","update","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","transEnd","ret","components","DocView","View","DialogMove","Loading","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","Picker","Hidden","Textarea","CheckBoxGroup","CheckBox","RadioGroup","Radio","TripleBox","Switch","FileUpload","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","directives","install","Vue","component","directive","binding","arg","directiveHooks","hover","inTree","getInitLoaded","hasChild","folder","isFolder","_triple","checkstate","_tripleAll","ico","box","html_cont","display","tree","prop","showTime","clickStep","clickPopYear","headYear","headPopYear","popYear","auto-hide","clickPopYearStep","mousewheelPopYear","dt","clickPopYearItem","clickPopMonth","headMonth","headPopMonth","popMonth","clickPopMonthItem","clickNow","bodyList","$event","focusHour","scroll-y","scroll-view","dfish","isTimeDisabled","clickHour","focusMinute","clickMinute","focusSecond","clickSecond","clickShowTime","hasTime","onlyTime","clickConfirm","bd","ed","formatter","ov","ny","oy","weekday","from","date","fm","dateWeek","start","method","beginDate","endDate","focusDate","bodyListYear","bodyListMonth","bodyListDate","cell","O","F","_dialogSnapHooks","_dialogSnap","axis","isDialog","keepHover","hoverTimer","hoverMove","closed","animating","snapStyle","activated","deactivated","feat","getOptions","_dft_pos","getLocalElem","snapTargetElem","snapCls","_fitpos","closeRelease","listenHide","setListenHide","hoverOver","evs","plus","hvOver","hvMove","addClass","slotsChildren","columns","nextUntil","clickCancel","clickOK","hasYear","focusYear","min-value","minYear","max-value","maxYear","keep-index","yearList","hasMonth","focusMonth","minMonth","maxMonth","monthList","hasDate","minDate","maxDate","dateList","hasHour","minHour","maxHour","hourList","hasMinute","minMinute","maxMinute","minuteList","hasSecond","minSecond","maxSecond","secondList","nd","xd","startYear","endYear","monthDays","minTime","maxTime","bindCache","templateWrapper","preloadWrapper","propsEntity","preload","dftopt","getDefaultOption","dftoptEntity","dftX","omit","pub","watchs","Proxy","runtimeX","obj","newval","events","x_watch","commands","ncm","merge","cmdHooks","ev","wr","closetWrapper","wg","fireEvent","emitsOptions","once","defaultOptions","dfclsCache","idsAll","mergeDeep","closest","cmdTip","cls","html_template","extend","except","ex","sfx","templateDir","endsWith","mod","html_preload","preloadDir","minHeight","maxWidth","mapKeys","omitBy","provideParentExpanded","isDisplay","ri","rowIndex","rs","td","isElement","assign","jquery","prepend","before","constructor","_mergeDeep","cloneDeep","str","Function","idsAdd","idsRemove","className","$strTrim","urlEncode","urlDecode","decodeURIComponent","urlParam","A","substring","urlComplete","wifiConfirm","dtask","downloader","createDownload","nativeUI","showWaiting","task","state","toast","runtime","openFile","filename","closeWaiting","link","downloadTarget","networkinfo","getCurrentType","closePopup","slots","getChildren","print","ownerDocument","outerHTML","input2text","open","write","queryEncode","config","contentType","Qs","arrayFormat","lock","responseType","disposition","headers","decodeURI","blob","Blob","Submit","submit","rsv","validate","group","Ajax","gridColumn","gridRow","defaults","interceptors","use","callback","_dfopt","catchReject","reason","init_text","isSuccess","isError","setThumbLeft","timer","setInterval","clearInterval","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","main","ondrop","_adjacent_where","_adjacent_query","_div","frag","createDocumentFragment","insertAdjacentHTML","insertBefore","lastElementChild","lastChild","firstElementChild","percent","checkedValue","uncheckedValue","checkedText","uncheckedText","dataUrl","svg","imgWidth","imgHeight","square","cols","dc","defaultColspan","MediaUploadItem","step","doFormat","rightward","activeElement","isBegin","stepBy","endValue","beginValue","tip_uid","btns","decimal","isPartial","getRelates","c0","c1","c2","indicator-dots","rot","rotate","swiper","fixedLeft","fixedRight","TableFixedRight"],"mappings":"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,kBAED,8BAA+B,CAC9B,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,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,SAAU,CACT,OACA,EACA,kBAED,YAAa,CACZ,OACA,EACA,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,GAED,8BAA+B,CAC9B,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,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,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,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,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,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,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,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,qBAAsB,CACrB,OACA,GAED,yBAA0B,CACzB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,+BAAgC,CAC/B,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,gCAAiC,CAChC,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,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,qBAAsB,CACrB,OACA,IAGF,SAASi1B,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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-02baca6a\":\"c25fd66c\",\"chunk-0afcc52e\":\"851bfb87\",\"chunk-11d51f82\":\"e533ed1e\",\"chunk-1da003f6\":\"131a0546\",\"chunk-2494bc4a\":\"740449e6\",\"chunk-28871420\":\"2201e1a3\",\"chunk-29cfb088\":\"a58b9e6c\",\"chunk-2d0a311d\":\"9de5a785\",\"chunk-2d0a3376\":\"acfbac20\",\"chunk-2d0a448b\":\"ab26ceb6\",\"chunk-2d0aad2b\":\"586ac6ad\",\"chunk-2d0af116\":\"9f7b804d\",\"chunk-2d0b8aa2\":\"0aecc3ba\",\"chunk-2d0bac21\":\"9d17b0b9\",\"chunk-2d0bdd0a\":\"50f9d240\",\"chunk-2d0bdf2c\":\"c64f03c5\",\"chunk-2d0c0fe2\":\"af36262c\",\"chunk-2d0c5129\":\"7209518f\",\"chunk-2d0d660f\":\"78a63cc7\",\"chunk-2d0df0d6\":\"e81e942a\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"eb2e8bcc\",\"chunk-2d21d0ff\":\"7761108d\",\"chunk-2d22d7b5\":\"2fb9e9f7\",\"chunk-2f7f0670\":\"009d6baf\",\"chunk-3ffcda5c\":\"2f61743c\",\"chunk-405ba910\":\"6e82335f\",\"chunk-4a3a5e3e\":\"1eecdd3d\",\"chunk-59e6a9c9\":\"4f09a801\",\"chunk-5f709e3a\":\"f67f5a78\",\"chunk-9fa5810e\":\"82dc844e\",\"chunk-c7c01ff4\":\"d624be6b\"}[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-02baca6a\":1,\"chunk-11d51f82\":1,\"chunk-1da003f6\":1,\"chunk-2494bc4a\":1,\"chunk-28871420\":1,\"chunk-29cfb088\":1,\"chunk-2f7f0670\":1,\"chunk-3ffcda5c\":1,\"chunk-405ba910\":1,\"chunk-4a3a5e3e\":1,\"chunk-59e6a9c9\":1,\"chunk-9fa5810e\":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 data() {\r\n return {\r\n isVertical: false\r\n }\r\n },\r\n computed: {\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","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!./Video.vue?vue&type=style&index=0&id=7ee48295&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=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateAlert.vue?vue&type=template&id=2ba90064\"\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","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from \"vue\"\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n \r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n if ($(a)?.parentMenu?.rootCommander == this.rootCommander) return true\r\n },\r\n setMaxHeight(h) {\r\n h -= 38\r\n this.x.maxHeight = h - (h % 32) + 38\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(-1)}, h('i', {class: 'f-i f-i-caret-up'})),\r\n h(Vertical, {class: 'w-menu-bbr', height: '*', ref: 'bbr', onwheel: this.mousewheel}, {default: () => this.html_buttons()}),\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(1)}, h('i', {class: 'f-i f-i-caret-down'})),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.x.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","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=44e500c8&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableFixedLeft],\r\n data() {\r\n return {\r\n fixed: 'right',\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.table.rightTable = this\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TableFixedRight.vue?vue&type=script&lang=js\"\nexport * from \"./TableFixedRight.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!./Spinner.vue?vue&type=style&index=0&id=7b5ef9be&lang=css\"","<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 this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, on: {click: e => this.clickItem(e, i)}}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, on:{close: () => this.showDrop = false}}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","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=12531d5b&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\r\n const _valid_err = function(v) {\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let k = this.validHooks;\r\n let c, d, e;\r\n if (k.valid && (e = k.valid(v)))\r\n return e;\r\n if ((c = this.vv('required')) && (k.required ? k.required(v) : (!v)))\r\n return this.formErr('required');\r\n if ((c = this.vv('minLength')) != null && c !== '' && c > 0 && v && (k.minLength ? k.minLength(v) : ($.strLen(v) < c)))\r\n return this.formErr('minLength', [c]);\r\n if ((c = this.vv('maxLength')) != null && c !== '' && c > 0 && v && (k.maxLength ? k.maxLength(v) : ((d = $.strLen(v)) > c)))\r\n return this.formErr('maxLength', [d - c]);\r\n if ((c = this.vv('minValue')) != null && c !== '' && v && (k.minValue ? k.minValue(v) : ($.isNumber(c) ? ($.number(v) < $.number(\r\n c)) : (v < c))))\r\n return this.formErr('minValue', [c]);\r\n if ((c = this.vv('maxValue')) != null && c !== '' && v && (k.maxValue ? k.maxValue(v) : ($.isNumber(c) ? ($.number(v) > $.number(\r\n c)) : (v > c))))\r\n return this.formErr('maxValue', [c]);\r\n if ((c = this.vv('minSize')) != null && c !== '' && c > 0 && v && (k.minSize ? k.minSize(v) : (v.split(',').length < $.number(\r\n c))))\r\n return this.formErr('minSize', [c]);\r\n if ((c = this.vv('maxSize')) != null && c !== '' && c > 0 && v && (k.maxSize ? k.maxSize(v) : (v.split(',').length > $.number(c))))\r\n return this.formErr('maxSize', [c]);\r\n if ((c = this.vv('pattern')) && v && (k.pattern ? k.pattern(c) : (typeof c === 'string' ? !$.eval(`${c}.test(v)`, {v}) : !c.test(v))))\r\n return this.formErr('pattern');\r\n if (this.vv('compare') && this.x.compare.target && v && (c = this.ownerView.f(this.x.compare.target)) && (d =\r\n c.formVal()) &&\r\n (k.compare ? k.compare(v, c, d) : !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})))\r\n return this.formErr('compare', [this.x.compare.mode, c.getLabelText() || 'end']);\r\n if ((c = this.vv('validateHandler')) && (d = c(v)))\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: 'validateHandler',\r\n text: d\r\n }\r\n }\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'disabled', 'required', 'validateHandler', 'inputWidth', 'inputHeight'\r\n ],\r\n emits: ['update:modelValue', 'change'],\r\n data() {\r\n let mv = this.wrapper().modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n vv(name) {\r\n return typeof this.rules[name] !== 'object' ? this.rules[name] : this.rules[name].value !== undefined ? this.rules[name].value : _validate_dft_value[name]\r\n },\r\n valid() {\r\n let e = this.getValidError()\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError() {\r\n if (this.isNormal || this.readonly == 'validate') {\r\n return _valid_err.call(this, this.isPlural ? this.groupFormVal() : this.formVal())\r\n }\r\n },\r\n formErr(b, c) {\r\n let t = this.getLabelText()\r\n \r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: b,\r\n label: t,\r\n text: (this.rules[b] && this.rules[b].text) || $.loc.ps.apply(null, [$.loc.form[b === 'required' && !t ?\r\n 'complete_required' : b], t || ''].concat(c != null && c !== '' ? c : [])) || ''\r\n }\r\n },\r\n warn(a) {\r\n this.warnClass = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n },\r\n showErrorTip(text) {\r\n $.scrollIntoView(this)\r\n this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n },\r\n showTip(o, opt) {\r\n return this.exec($.extendDeep({}, o, this.x.tip, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }))\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n onblur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n //this.valid('blur')\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label, this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n oninput: this.oninput,\r\n onfocus: (e) => {\r\n this.isFocus = true, this.warn(false)\r\n },\r\n onblur: this.onblur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n validHooks() {\r\n return {}\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n }],\r\n style: {\r\n '--w-input-width': fw == null ? '' : fw\r\n },\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n \r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n align-items: center;\r\n overflow: hidden;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n \r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on > .w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n padding: 0 10px;\r\n background: transparent;\r\n }\r\n \r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n gap: 10px;\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n \r\n .w-form > .w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n .w-form.z-vertical > .w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n .w-form.z-v-align-left > .w-input,\r\n .w-form.z-h-valign-top > .w-input {\r\n align-items: flex-start;\r\n }\r\n .w-form.z-v-align-center > .w-input,\r\n .w-form.z-h-valign-middle > .w-input {\r\n align-items: center;\r\n }\r\n .w-form.z-v-align-right > .w-input,\r\n .w-form.z-h-valign-bottom > .w-input {\r\n align-items: flex-end;\r\n }\r\n .w-form.z-h-align-left > .w-input,\r\n .w-form.z-v-valign-top > .w-input {\r\n justify-content: flex-start;\r\n }\r\n .w-form.z-h-align-center > .w-input,\r\n .w-form.z-v-valign-middle > .w-input {\r\n justify-content: center;\r\n }\r\n .w-form.z-h-align-right > .w-input,\r\n .w-form.z-v-valign-bottom > .w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n</style>\r\n","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=a107884a&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!./Jigsaw.vue?vue&type=style&index=0&id=57930728&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!./Leaf.vue?vue&type=style&index=0&id=a4ab3438&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!./Picker.vue?vue&type=style&index=0&id=4e2008ba&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.isEntity && !this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n closePop() {\r\n clearTimeout(this.sug_timer)\r\n this.suggest(false)\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closePop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closePop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closePop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n if (k === 13)\r\n this.fixStyle()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closePop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br,\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-list {\r\n gap: 3px;\r\n padding-left: 3px;\r\n }\r\n\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray;\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox.z-br .w-linkbox-input {\r\n overflow: visible;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n \r\n</style>\n","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=0ca498b4&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!./MenuButton.vue?vue&type=style&index=0&id=31bddb30&lang=css\"","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","import { render } from \"./Option.vue?vue&type=template&id=a3c23114\"\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=a3c23114&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\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '"')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\\"/g, '"') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<!-- <template>\r\n <widget-async v-if=\"x.template\" :p=\"x\" v-bind=\"$attrs\"></widget-async>\r\n <div class=\"w-view\" v-bind=\"$attrs\" v-else>\r\n <slot></slot>\r\n </div>\r\n <w-pop v-for=\"item in pops\" :p=\"item\"></w-pop>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","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!./ViewAbs.vue?vue&type=style&index=0&id=03150972&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) === '-' ? '-' : '';\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn a;\n\t} else if (b < 0) {\n\t\treturn a;\n\t} else {\n\t\tvar f = strFrom('' + a, '.');\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n linkTarget(a) {\r\n if (this.x.target) {\r\n const tar = this.ownerView.find(this.x.target)\r\n tar && tar.parentNode.setFocus(this.x.target)\r\n }\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = null\r\n }\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isCurrent) {\r\n this.linkTarget()\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","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=31bddb30&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\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth', 'br'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n mv.length && mv.splice(mv.length - 1, 1)\r\n }\r\n }\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {'z-forbid': v.forbid}],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if(this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n \r\n .w-combobox-list > .w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n \r\n .w-combobox-option.z-forbid .w-combobox-option-text{\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n \r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n \r\n</style>\n","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=124d81b3&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'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return this.x.vertical ? 'w-vertical' : 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./ButtonBar.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonBar.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=4cd2421c&lang=css\"","// 最后一个属性是数组 / 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!./FormBase.vue?vue&type=style&index=0&id=a107884a&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!./Toggle.vue?vue&type=style&index=0&id=d15fa408&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 import PreloadDialog from '../preload/PreloadDialog.vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n }\r\n\r\n const _formatCache = {}\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n emits: ['load'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n created() {\r\n if (this.isEntity && this != $.docView) {\r\n this.path = (this.ownerView.path ? this.ownerView.path + '/' : '') + (this.getKey() || this.uid)\r\n $.viewCache[this.path] = this\r\n }\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && d.val(b)\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('.f-form-hide :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('.f-form-hide :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueCache[v.wid]\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueCache[v.wid].warn())\r\n $.vueCache[e[0].wid].showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n if (!cmd.template && templateHooks[cmd.type]) cmd.template = templateHooks[cmd.type]\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.request()\r\n this.trigger('load')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n .w-view-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n }\r\n\r\n .w-view-loading .f-svg {\r\n width: 32px;\r\n height: 32px;\r\n fill: #fff;\r\n }\r\n</style>\n","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=03150972&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'\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {\r\n return {\r\n value\r\n }\r\n }) : v ? [{\r\n value: v\r\n }] : []\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.x.fileTypes\r\n if (!t || t == '*.*') return\r\n let n = []\r\n t.toLowerCase().split(';').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.join('.').replace(/[*;]/g, '').split('.').forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let xfs_names\r\n let nfs_names\r\n $.lodash.each(e.target.files, file => {\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else\r\n this.list.push({file})\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\r\n","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=2a8401e0&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: 'bottom',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.q('body').click(e => {\r\n if (e.altKey) {\r\n let vm = $.vm(e.target)\r\n let t = vm && vm.wrapper().template\r\n \r\n if (t) {\r\n let b = $.bcr(vm.el())\r\n $.q('body').append(\r\n '<div id=dfish-debug style=\"position:absolute;border:2px dashed red;box-sizing:border-box;width:' +\r\n b.width + 'px;height:' + b.height + 'px;top:' + b.top + 'px;left:' + b.left + 'px\"></div>')\r\n this.cmd({\r\n type: 'Alert',\r\n text: t,\r\n yes: () => $.q('#dfish-debug').remove()\r\n })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n</script>\n","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 props: ['br'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n let st = (t.table || t).scrollTable\r\n if (t.fixed) {\r\n if (t.table != st) t.table.scrollTop(e.target.scrollTop)\r\n } else {\r\n if (t.leftTable) {\r\n if (t.leftTable != st) t.leftTable.scrollTop(e.target.scrollTop)\r\n }\r\n if (t.rightTable) {\r\n if (t.rightTable != st) t.rightTable.scrollTop(e.target.scrollTop)\r\n }\r\n }\r\n },\r\n onScrollbarMousedown(e) {\r\n this.setScrollTable()\r\n },\r\n setScrollTable(a) {\r\n let t = this.table;\r\n (t.table || t).scrollTable = t\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class, {\r\n 'z-br': this.x.br,\r\n 'z-hv': !this.table.fixed && this.table.scrollHover\r\n }]\r\n },\r\n html_props() {\r\n let t = this.table\r\n if (t.leftTable || t.rightTable || t.fixed) {\r\n return $.br.mobile ? {\r\n ontouchstart: this.setScrollTable\r\n } : {\r\n onwheel: e => {\r\n this.setScrollTable()\r\n t.fixed && (t.table.scrollHover = true)\r\n },\r\n onmouseenter: t.fixed && (e => {\r\n t.table.scrollHover = true\r\n }),\r\n onmouseleave: t.fixed && (e => {\r\n t.table.scrollHover = false\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./TableTBody.vue?vue&type=script&lang=js\"\nexport * from \"./TableTBody.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!./Range.vue?vue&type=style&index=0&id=3c8c4ca7&lang=css\"","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], c: ['cc'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'], \n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,32,12,43,22,33,'rr','lr'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\r\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t} \r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\r\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置 \n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t} \n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n \t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c; \n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","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=f949d762&lang=css\"","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', 'target', 'closable', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n locked: false,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-dn'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-dn'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.locked = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.x.disabled) return\r\n e.stopPropagation()\r\n if (!this.locked) this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.locked) {\r\n r.push(h('div', {\r\n class: 'w-button-locked f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.x.disabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.x.disabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled || this.locked,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked': this.locked,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","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!./Table.vue?vue&type=style&index=0&id=83271cca&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!./ComboBox.vue?vue&type=style&index=0&id=124d81b3&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\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n if (this.pubParent) {\r\n if (this.$slots.default)\r\n this.pubParent.isGrid = true\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0)\r\n \treturn this.isChecked ? this.value : ''\r\n //this.x.checked = !!a\r\n let v = this.groupFormVal()\r\n let p = this.pubParent\r\n if (p) {\r\n p.$emit('update:modelValue', v)\r\n p.$emit('change', v)\r\n if (v != p.x.modelValue) {\r\n p.x.modelValue = v\r\n }\r\n } else {\r\n this.$emit('change', v)\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.$refs.v.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null)\r\n return $.lodash.filter(this.elements(true, true), v => v.value).map(v => v.value).join(',')\r\n $.lodash.each(this.elements(), e => $(e).check($.idsAny(a, $(e).formVal())))\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n elements(a, b) {\r\n return $.q(':input[name=\"' + this.input_name + '\"]' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el())\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onchange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.val(e.target.checked)\r\n this.trigger('click', e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n if (!this.pubParent) {\r\n this.x.checked = e.target.checked\r\n }\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n class: 'w-input-value',\r\n ref: 'v',\r\n 'w-name': this.input_name !== this.x.name ? this.x.name : null\r\n }), h('em', {\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text)\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: e => {\r\n e.stopPropagation()\r\n this.provideBoxParent && this.provideBoxParent.clickBoxProxy(e)\r\n this.relate()\r\n }\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {class: this.$options.name + '-target', ref: 'target'}, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.isGrid ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n isChecked() {\r\n return typeof this.x.checked === 'boolean' ? this.x.checked : (this.pubParent && $.idsAny(this.pubParent.x.modelValue, this.x.value))\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n let t = this.$refs.target\r\n if (t) {\r\n this.$nextTick(() => {\r\n this.$watch(() => this.isChecked && !this.isDisabled, (v) => {\r\n t.$el && this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !v)\r\n }, {immediate: true})\r\n })\r\n }\r\n },\r\n }\r\n</script>\r\n","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!./PageBar.vue?vue&type=style&index=0&id=12531d5b&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'filter', 'success', 'error', 'complete'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc(a) {\r\n let x = this.x || this.$props\r\n return a ? $.urlFormat(x.src, x.data, x) : x.src\r\n },\r\n request(fn) {\r\n let src = this.getSrc(true)\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n $.ajax({\r\n src,\r\n context: this,\r\n filter: this.x.filter,\r\n error: this.x.error,\r\n complete: this.x.complete,\r\n success: (...args) => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n this.x.success && this.x.success(...args)\r\n fn && fn()\r\n }\r\n })\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./SrcParent.vue?vue&type=script&lang=js\"\nexport * from \"./SrcParent.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 AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","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 <w-dialog>\r\n <slot/>\r\n </w-dialog>\r\n</template>\n","import { render } from \"./PreloadNone.vue?vue&type=template&id=5971bb93\"\nconst script = {}\nscript.render = render\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","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: 'w-timeline-prev'\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: 'w-timeline-next'\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({margin: 0})\r\n $.q(this.$refs.next).css({margin: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n gap: 25px;\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","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=4021d656&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=0ca498b4&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\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-leaf.z-hv {\r\n background: #f5faff\r\n }\r\n\r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n</style>\r\n","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=3c69a720&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!./Loading.vue?vue&type=style&index=0&id=28d38c26&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-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 {h, mergeProps} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent, Scroll],\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [(this.x.align || this.x.valign) && 'w-horizontal', this.html_align_class, this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","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=7168e3f6&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\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [TD],\r\n props: ['sortable'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n methods: {\r\n clickSort(e, order) {\r\n let key = this.$.vnode.key\r\n let sort = this.thead.sort || false\r\n if (key == null || key == '') return\r\n if (order === 'toggle') {\r\n if (sort.key == key) {\r\n order = sort.order == 'asc' ? 'desc' : sort.order == 'desc' ? '' : 'asc'\r\n } else {\r\n order = 'asc'\r\n }\r\n } else {\r\n if (sort.order == order) order = ''\r\n }\r\n this.$emit('click:sort', e, {key, order})\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title', onClick: this.sortable && (e => this.clickSort(e, 'toggle'))}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n }\r\n },\r\n render() {\r\n let col = this.col\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n let sort = this.thead.sort || false\r\n return h('th', {\r\n class: ['w-td w-th', {[`z-${sort.order}`]: this.sortable && sort.key && sort.key == this.$.vnode.key}, this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.html_slots())\r\n }\r\n\r\n }\r\n</script>\r\n","import script from \"./TableTH.vue?vue&type=script&lang=js\"\nexport * from \"./TableTH.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!./MediaUpload.vue?vue&type=style&index=0&id=3362c017&lang=css\"","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","import { render } from \"./DialogMove.vue?vue&type=template&id=8f7a80fa\"\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=8f7a80fa&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 required(v) {\r\n return !v || v === '[]' || v === '{}'\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import 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 TableAbs from './TableAbs.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableAbs],\r\n inject: ['table'],\r\n data() {\r\n return {\r\n fixed: 'left',\r\n fixedWidth: null,\r\n fixedHeight: null,\r\n }\r\n },\r\n created() {\r\n this.init()\r\n },\r\n methods: {\r\n init() {\r\n this.table.leftTable = this\r\n },\r\n observeWidth() {\r\n if (!this.$el) return\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n let width = 0\r\n $.lodash.each(fixedCells, v => width += v.offsetWidth)\r\n this.fixedWidth = width\r\n },\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-table-fixed-' + this.fixed + ' f-flex-column'\r\n },\r\n html_style() {\r\n return {\r\n width: this.fixedWidth + 'px',\r\n height: this.fixedHeight + 'px',\r\n }\r\n }\r\n },\r\n mounted() {\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n $.lodash.each(fixedCells, v => new ResizeObserver(this.observeWidth).observe(v))\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import script from \"./TableFixedLeft.vue?vue&type=script&lang=js\"\nexport * from \"./TableFixedLeft.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 DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","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=2a554cfa&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","<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 $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign'],\r\n inject: ['table', 'provideInBody'],\r\n render() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n return h('td', {\r\n class: ['w-td', this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.$slots)\r\n }\r\n\r\n }\r\n</script>\r\n","import script from \"./TableTD.vue?vue&type=script&lang=js\"\nexport * from \"./TableTD.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!./Timeline.vue?vue&type=style&index=0&id=4021d656&lang=css\"","<template>\r\n <w-dialog class=\"f-dfish-dialog\">\r\n <w-horizontal class=\"f-dfish-dialog-head\" height=\"40\">\r\n <w-dialog-move>\r\n <w-html class=\"f-dfish-dialog-title\" width=\"*\">{{title}}</w-html>\r\n </w-dialog-move>\r\n <w-html class=\"f-dfish-dialog-close\" width=\"40\" @click=\"close\"><i class=\"f-i f-i-close\"></i></w-html>\r\n </w-horizontal>\r\n <w-vertical height=\"*\" class=\"f-dfish-dialog-body\">\r\n <slot name=\"default\"></slot>\r\n </w-vertical>\r\n <w-horizontal class=\"f-dfish-dialog-foot\" height=\"56\">\r\n <slot name=\"foot\">\r\n <w-buttonbar width=\"*\" height=\"*\" align=\"right\" gap=\"10\" style=\"padding-right: 20px\">\r\n <w-button text=\"取消\" @click=\"close\"></w-button>\r\n </w-buttonbar>\r\n </slot>\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: ['title'],\r\n data() {\r\n return {x: this.$attrs}\r\n },\r\n methods: {\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import { render } from \"./PreloadDialog.vue?vue&type=template&id=1e09ba2e\"\nimport script from \"./PreloadDialog.vue?vue&type=script&lang=js\"\nexport * from \"./PreloadDialog.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒'\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d === '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n return {\r\n gap: this.x.gap ? $.unitSize(this.x.gap) : ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","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 w: (a.getDay() || 7)\r\n }\r\n return (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n if (/^\\d{4}-\\d{2}-\\d{2}(?: \\d{2}:\\d{2}(?::\\d{2})?)?$/.test(a))\r\n return new Date(a.replace(/-/g, '/'));\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0\\$1');\r\n b = (b || _date_sf).replace(/\\b([MdHms])\\b/g, '\\$1\\$1');\r\n var c, y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date().getFullYear()),\r\n M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0,\r\n d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1,\r\n H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0,\r\n m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0,\r\n s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0;\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date, b -> 周的重心(星期几), c -> 周的第一天(星期几)\r\nconst dateWeek = function(a, b = 1, c = 1) {\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = a.replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b),\r\n y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n if (a >= b) return 0\r\n switch (c) {\r\n case 'y':\r\n var e = b.getFullYear() - a.getFullYear(),\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n var y = _dateDiff(a, b, 'y'),\r\n z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n}\n","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=d8783f58&lang=css\"","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-9fa5810e\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-9fa5810e\"\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-2494bc4a\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-2494bc4a\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-405ba910\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-405ba910\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-3ffcda5c\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab\",\n\t\t9,\n\t\t\"chunk-3ffcda5c\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-59e6a9c9\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-59e6a9c9\"\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-29cfb088\"\n\t],\n\t\"./components/task/TaskAMapPicker.vue\": [\n\t\t\"3da4\",\n\t\t9,\n\t\t\"chunk-29cfb088\"\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-2d0c5129\"\n\t],\n\t\"./components/task/TaskForm.vue\": [\n\t\t\"3e12\",\n\t\t9,\n\t\t\"chunk-2d0c5129\"\n\t],\n\t\"./components/task/TaskHello\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-11d51f82\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-11d51f82\"\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/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-2d0a311d\"\n\t],\n\t\"./components/task/TaskPickBox.vue\": [\n\t\t\"0139\",\n\t\t9,\n\t\t\"chunk-2d0a311d\"\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\"./main\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-28871420\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-28871420\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4a3a5e3e\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4a3a5e3e\"\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],\n\t\"./preload/PreloadDialog.vue\": [\n\t\t\"8181\",\n\t\t9\n\t],\n\t\"./preload/PreloadNone\": [\n\t\t\"571b\",\n\t\t9\n\t],\n\t\"./preload/PreloadNone.vue\": [\n\t\t\"571b\",\n\t\t9\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/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\"./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/Picker\": [\n\t\t\"bb5b\",\n\t\t9\n\t],\n\t\"./widgets/Picker.vue\": [\n\t\t\"bb5b\",\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/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/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/TableAbs\": [\n\t\t\"c7ce\",\n\t\t9\n\t],\n\t\"./widgets/TableAbs.vue\": [\n\t\t\"c7ce\",\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/TableFixedLeft\": [\n\t\t\"77fe\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedLeft.vue\": [\n\t\t\"77fe\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedRight\": [\n\t\t\"1295\",\n\t\t9\n\t],\n\t\"./widgets/TableFixedRight.vue\": [\n\t\t\"1295\",\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\r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n inst && $.close(inst)\r\n inst = this.uid\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity) {\r\n inst = null\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","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=f949d762&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!./PickBox.vue?vue&type=style&index=0&id=2a554cfa&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=2e59be00&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=8f7a80fa&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: ['noButton', 'multiple', 'format', 'compare', 'minValue', 'maxValue'],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n inputWidth: 180\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n if (!this.x.noButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: 'f-dfish-dialog w-calendar-dialog',\r\n width: 260,\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => {\r\n this.showDrop = false, this.currentDate = null\r\n }\r\n }\r\n }, {\r\n default: () => h(Calendar, {\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n on: {\r\n 'click:item': (e, item) => this.currentDate = item.value,\r\n }\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n minValue: (v) => {\r\n return $.dateParse(v, this.x.format) < $.dateParse(this.vv('minValue'), this.x.format)\r\n },\r\n maxValue: (v) => {\r\n return $.dateParse(v, this.x.format) > $.dateParse(this.vv('maxValue'), this.x.format)\r\n },\r\n compare: (v, c, d) => {\r\n if (this.x.format && c.x.format) {\r\n let f = (this.x.format.length > c.x.format.length ? this : c).x.format\r\n v = $.dateFormat($.dateParse(v, this.x.format), f)\r\n d = $.dateFormat($.dateParse(d, c.x.format), f)\r\n }\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})\r\n },\r\n valid: (v) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr('time_exceed', [n, m]);\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr('time_format', [$.dateFormat(d, this.x.format)]);\r\n }\r\n }\r\n if (this.vv('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('beforeNow', [this.x.beforeNow]);\r\n if (this.vv('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('afterNow', [this.x.afterNow]);\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile && {\r\n readonly: true\r\n }\r\n },\r\n // input_value() {\r\n // let v = this.x.modelValue\r\n // if (v && v.length !== this.x.format.length) {\r\n // v = $.dateFormat($.dateParse(v, this.x.format), this.x.format)\r\n // }\r\n // return v\r\n // },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","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\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 WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = this.$refs.wScrollOverflow.scrollLeft\r\n scrTop = this.$refs.wScrollOverflow.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n this.$refs.wScrollOverflow.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * this.wScrollPercentX)\r\n } else {\r\n this.$refs.wScrollOverflow.scrollTop = scrTop + ((mvEv.clientY - dnY) * this.wScrollPercentY)\r\n }\r\n }, (upEv) => {\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n this.onScrollbarMousedown(dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView'],\r\n data() {\r\n return {\r\n wScrollPercentX: null,\r\n wScrollPercentY: null,\r\n wScrollSizeX: null,\r\n wScrollSizeY: null,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n }\r\n },\r\n emits: ['bindscroll'],\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollbarMousedown(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n var a = this.ovf();\r\n if (!a) return;\r\n var b = this.$refs.wScrollCont || a,\r\n c = $.bcr(a),\r\n d = $.bcr(b),\r\n f = e ? $.bcr(e) : d,\r\n t, l;\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else {\r\n if (f.right < c.left || f.left > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n else if (f.left < c.left)\r\n l = a.scrollLeft - f.left + c.left\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r.call(this)\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r.call(this)\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n // style: {\r\n // minWidth: $.unitSize(this.x.minWidth),\r\n // minHeight: $.unitSize(this.x.minHeight),\r\n // maxWidth: $.unitSize(this.x.maxWidth),\r\n // maxHeight: $.unitSize(this.x.maxHeight),\r\n // },\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.scroll_observe\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]] : (s || (this.$slots.default && this.$slots.default()))\r\n \r\n },\r\n scroll_observe() {\r\n if ($.br.mobile || !this.$refs.wScrollOverflow || !this.el()) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let xSize = cont.width > flow.width && cont.width - flow.width\r\n let ySize = cont.height > flow.height && cont.height - flow.height\r\n let xPercent = flow.width / cont.width\r\n let yPercent = flow.height / cont.height\r\n if (xSize && xSize <= 1) xSize = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (this.x.scrollX) {\r\n this.$refs.wScrollBarThumbX.style.width = (xPercent * 100) + '%'\r\n this.wScrollSizeX = xSize\r\n this.wScrollPercentX = xSize && xSize / ((1 - xPercent) * wrap.width)\r\n } \r\n if (this.x.scrollY) {\r\n this.$refs.wScrollBarThumbY.style.height = (yPercent * 100) + '%'\r\n this.wScrollSizeY = ySize\r\n this.wScrollPercentY = ySize && ySize / ((1 - yPercent) * wrap.height)\r\n }\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n //'w-scroll-overflow': $.br.mobile,\r\n 'z-scroll-x-show': this.wScrollPercentX,\r\n 'z-scroll-y-show': this.wScrollPercentY,\r\n 'z-scroll-x-left': sx && this.scrollXPosition == 'left',\r\n 'z-scroll-x-center': sx && this.scrollXPosition == 'center',\r\n 'z-scroll-x-right': sx && this.scrollXPosition == 'right',\r\n 'z-scroll-y-top': sy && this.scrollYPosition == 'top',\r\n 'z-scroll-y-middle': sy && this.scrollYPosition == 'middle',\r\n 'z-scroll-y-bottom': sy && this.scrollYPosition == 'bottom',\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (!this.isEntity) return\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n \r\n .w-scroll.z-scroll-x-show > .w-scrollbar-x,\r\n .w-scroll.z-scroll-y-show > .w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n }\r\n \r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top,left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x > .w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n }\r\n\r\n\r\n .w-scrollbar-y > .w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n }\r\n \r\n .w-scrollbar-x:hover > .w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover > .w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\r\n","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=daf261dc&lang=css\"\n\nexport default script","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!./Calendar.vue?vue&type=style&index=0&id=6ef6d911&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.isVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e) => {\r\n if (help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n isVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.isVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","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=08cbcde0&lang=css\"\n\nexport default script","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","import { render } from \"./Pop.vue?vue&type=template&id=51faee10\"\nimport script from \"./Pop.vue?vue&type=script&lang=js\"\nexport * from \"./Pop.vue?vue&type=script&lang=js\"\nscript.render = render\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}","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=44e500c8&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 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!./Html.vue?vue&type=style&index=0&id=7168e3f6&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: -1,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rowspan: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rowspan = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","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 forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: () => {\r\n let f = this.forms()\r\n if (f.length > 1) {\r\n let v1 = f[0] && f[0].formVal()\r\n let v2 = f[1] && f[1].formVal()\r\n let c = this.x.compare || '<='\r\n if (v1 && v2) {\r\n if (!$.eval(`v1 ${c} v2`, {v1, v2})) {\r\n return this.formErr('compare', [f[0].getLabelText(), c, f[1].getLabelText()])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range > .w-input > .w-formbase {\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","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=3c8c4ca7&lang=css\"\n\nexport default script","let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: u.indexOf('firefox') > 0,\r\n safari: !chrome && u.indexOf('safari') > 0\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nexport default r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no'],\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\nexport default script","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.pvdr = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n hasEvent(type) {\r\n let a = _event_handlers(this, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, pvdr, one) {\r\n var k = {\r\n id: uid(this),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n pvdr: pvdr,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn, pvdr) {\r\n return this.addEvent(type, fn, pvdr, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(k.pvdr || this, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn, c -> pvdr\r\n removeEvent(a, b, c) {\r\n if (a) {\r\n var d = _event_handlers(this, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (b ? (d[i].fn === b && (!c || c === d[i].pvdr)) : c ? c === d[i].pvdr : T) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n cvs.style.userSelect = 'none'\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n cvs.style.userSelect = ''\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {\r\n passive: false\r\n });\r\n dir && upCB && upCB(e)\r\n }, true)\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {\r\n passive: false\r\n })\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","<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: 0\r\n }\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'f-oh f-flex' + (this.x.position === 'top' || this.x.position === 'bottom' ? '-column' : '')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.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 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!./Tree.vue?vue&type=style&index=0&id=3c69a720&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","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","import { render } from \"./Picker.vue?vue&type=template&id=4e2008ba\"\nimport script from \"./Picker.vue?vue&type=script&lang=js\"\nexport * from \"./Picker.vue?vue&type=script&lang=js\"\n\nimport \"./Picker.vue?vue&type=style&index=0&id=4e2008ba&lang=css\"\nscript.render = render\n\nexport default script","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport Picker from './Picker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\n\r\n\r\nconst components = [\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, Picker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n //注册指令\r\n Vue.directive('dfish', {\r\n created(el, binding) {\r\n let a = binding.arg\r\n $.directiveHooks[a] && $.directiveHooks[a](el, binding.value)\r\n }\r\n })\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding) {\r\n $.directiveHooks[v] && $.directiveHooks[v](el, binding.value)\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expandedIcon', 'collapsedIcon', 'expanded', 'box', 'br', 'format', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['providePubParent', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.inTree() ? this.getInitLoaded() : this.provideParentLeaf.getInitLoaded(),\r\n boxProxy: null,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return this.inTree() ? $.hasChild(this.$slots) : this.provideParentLeaf.hasChild()\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true : false\r\n },\r\n inTree() {\r\n return !this.provideParentLeaf || this.provideParentLeaf.$options.name === 'w-leaf'\r\n },\r\n isExpanded() {\r\n return this.inTree() ? this.x.expanded : this.provideParentLeaf.isExpanded()\r\n },\r\n isFolder() {\r\n return this.inTree() ? (this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)) : this.provideParentLeaf.isFolder()\r\n },\r\n toggle(exp, fn) {\r\n if (this.inTree()) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {fn && fn(this.isExpanded())})\r\n } else {\r\n fn && this.$nextTick(() => {fn(this.isExpanded())})\r\n }\r\n } else {\r\n this.provideParentLeaf.toggle(exp, fn)\r\n }\r\n },\r\n clickBoxProxy(e) {\r\n this._triple()\r\n },\r\n children() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n // triplebox 级联勾选\r\n _triple() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.children()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this._tripleAll(c)\r\n },\r\n _tripleAll(a) {\r\n this.children().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v._tripleAll(a)\r\n }\r\n })\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return h('div', mergeProps(this.html_attrs, this.$attrs, this.html_props), [h('div', {\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: ['w-leaf-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text' + ($.isNumber(this.x.br) ? ' f-line-' + this.x.br : this.x.br ? '' : ' f-line-1'),\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n\r\n ])\r\n\r\n },\r\n html_cont() {\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, this.$slots)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let prop = {\r\n class: {\r\n 'z-folder': this.isFolder(),\r\n 'z-on': this.isCurrent,\r\n },\r\n style: 'padding-left:' + $.unitSize((this.provideLeafLevel) * 16),\r\n }\r\n if (this.inTree()) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n }\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this._triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n }\r\n \r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox {\r\n margin-right: 6px;\r\n }\r\n</style>\r\n","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=a4ab3438&lang=css\"\n\nexport default script","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","import { render } from \"./Calendar.vue?vue&type=template&id=6ef6d911\"\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=6ef6d911&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\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tt',\r\n '-r': 'rr',\r\n '-b': 'bb',\r\n '-l': 'll',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local ? this.getLocalElem() : this.defaultSnapTargetElem\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let f = this.x.position\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r;\r\n if (f == 'c') f = N;\r\n if (f) { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n if (e == 1 || e == 2 || e === 't') {\r\n r.top = -h;\r\n } else if (e == 3 || e == 4 || e === 'r') {\r\n r.right = -w;\r\n } else if (e == 5 || e == 6 || e === 'b') {\r\n r.bottom = -h;\r\n } else if (e == 7 || e == 8 || e === 'l') {\r\n r.left = -w;\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -10), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n \r\n //$.snapTo(el, r)\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right + 'px';\r\n } else {\r\n s.left = r.left + 'px';\r\n }\r\n if (r.pix_b) {\r\n s.bottom = r.bottom + 'px';\r\n } else {\r\n s.top = r.top + 'px';\r\n }\r\n } else {\r\n Object.keys(r).forEach(k => s[k] = $.unitSize(r[k]))\r\n }\r\n this.snapStyle = s\r\n\r\n // 八方位浮动效果\r\n if (f) {\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n }\r\n this.snapCls()\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.x.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n let x = Math.floor((r.target.left + r.target.right) / 2)\r\n let y = Math.floor((r.target.top + r.target.bottom) / 2)\r\n let l = $.numRange(x - r.left, 7, r.left + r.width - 7)\r\n let t = $.numRange(y - r.top, 7, r.top + r.height - 7)\r\n let s = ''\r\n if (r.mag_b || r.mag_t) s += 'left:' + l + 'px;'\r\n if (r.mag_l || r.mag_r) s += 'top:' + t + 'px;'\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n style: s\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {\r\n to\r\n }, cover) : cover) : [],\r\n to ? h(Teleport, {\r\n to\r\n }, this.html_self(true)) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n defaultSnapTargetElem() {\r\n //implement\r\n },\r\n defaultSnapPosition() {\r\n return 'cc'\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n return this.x.fullScreen ? {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n } : this.snapStyle\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position) {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity && !this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n</style>\n","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=2e59be00&lang=css\"\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\r\n export default {\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n table: this\r\n }\r\n },\r\n methods: {\r\n scrollTop(y) {\r\n let bd = this.slotHooks.tbody\r\n if (bd) {\r\n $(bd.el).scrollToY(y)\r\n }\r\n }\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n }\r\n }\r\n }\r\n</script>\r\n","import script from \"./TableAbs.vue?vue&type=script&lang=js\"\nexport * from \"./TableAbs.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 import Horizontal from './Horizontal.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'target', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: ['w-toggle-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }), h(Horizontal, {class: 'w-toggle-main f-flex-1', align: this.x.align, valign: this.x.valign}, this.$slots.default)]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: 'f-flex-align f-pointer',\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","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=d15fa408&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=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplateConfirm.vue?vue&type=template&id=25ab5284\"\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-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","import { render } from \"./TemplateDateSheet.vue?vue&type=template&id=232b4c7d\"\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=232b4c7d&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!./Img.vue?vue&type=style&index=0&id=5e1c754a&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n toRaw,\r\n } from 'vue/dist/vue.esm-bundler.js'\r\n\r\n const bindCache = {}\r\n\r\n\r\n export default {\r\n props: ['id', 'data', 'template', 'preload', 'width', 'height', 'minWidth', 'minHeight', 'maxWidth',\r\n 'maxHeight', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n //if (this.$options.name=='w-dialog') console.log(this.templateWrapper, this.preloadWrapper, this.$attrs.class, this.isEntity)\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n minWidth: this.x.minWidth && $.unitSize(this.x.minWidth),\r\n minHeight: this.x.minHeight && $.unitSize(this.x.minHeight),\r\n maxWidth: this.x.maxWidth && $.unitSize(this.x.maxWidth),\r\n maxHeight: this.x.maxHeight && $.unitSize(this.x.maxHeight),\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","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', 'cells', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return (this.template || this.preload) ? {} : {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideParentExpanded: false,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n getInitLoaded() {\r\n return this.loaded = this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true :\r\n false\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)\r\n },\r\n isDisplay() {\r\n if (!this.provideParentLeaf) return true\r\n let p = this\r\n while (p = p.provideParentLeaf) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {\r\n fn && fn(this.isExpanded())\r\n })\r\n } else {\r\n fn && this.$nextTick(() => {\r\n fn(this.isExpanded())\r\n })\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rowspan\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","import script from \"./TableTR.vue?vue&type=script&lang=js\"\nexport * from \"./TableTR.vue?vue&type=script&lang=js\"\n\nexport default script","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o) return\r\n if (('isWidget' in o) && o.isWidget) return o\r\n if (o.$attrs && o.$attrs.templateWrapper) {\r\n return $.vueCache[o.$attrs.templateWrapper.uid]\r\n }\r\n if (o.uid) return $.vueCache[o.uid]\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueCache[o.id]) return $.vueCache[o.id]\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueCache[d]) return $.vueCache[d]\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueCache: {},\r\n viewCache: {},\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a)) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n _mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> split by comma?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? a : a == null || a === '' ? [] : b && typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size) => size == null || size === '' ? '' : size === '*' ? '' : size == -1 || size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s || n;\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s;\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n //link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.viewCache[a]) return $.viewCache[a]\r\n if ($.vueCache[a]) {\r\n a = $.vueCache[a]\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n if (a.isEntity) {\r\n return a.isView ? a : a.ownerView\r\n }\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n $.dialog(a)?.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.scrollIntoView = (a) => {\r\n let s = jquery(a.isWidget ? a.el() : a).closest('.w-scroll-y.z-scroll-y-show,.w-scroll-x.z-scroll-x-show')[0]\r\n let o = s && $(s)\r\n if (o && o.scrollTo) {\r\n let b = bcr(s)\r\n let c = bcr(a)\r\n let x = (c.left + c.right) / 2\r\n let y = (c.top + c.bottom) / 2\r\n if (x < b.left || x > b.right || y < b.top || y > b.bottom)\r\n o.scrollTo(a, 'middle', 'center')\r\n }\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\n\t\tw = window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context ||= this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n if (vm.isEntity) {\r\n return submit()\r\n } else {\r\n return new Promise(rsv => {\r\n vm.addEvent('load', () => submit().then(data => rsv(data)))\r\n })\r\n }\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context ||= this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd({\r\n type: 'Alert', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd({\r\n type: 'Confirm', text, yes, no, cover\r\n })\r\n}\r\n\r\n$.directiveHooks = {\r\n colspan(el, v) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","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=08cbcde0&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) => {\r\n a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n on: {\r\n close: () => this.dropper = null\r\n }\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr('jigsaw_required')\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","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=57930728&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 data() {\r\n return {\r\n isVertical: true\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","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', 'checked'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n // this.x.modelValue = v\r\n // this.$emit('update:modelValue', v)\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n },\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .12s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n margin-left: -21px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import 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=4cd2421c&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 Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src ||= this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n style: {\r\n width: $.unitSize(this.x.imgWidth),\r\n height: $.unitSize(this.x.imgHeight),\r\n },\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n },\r\n onmouseenter: e => this.hover = true,\r\n onmouseleave: e => this.hover = false\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n gap: 10px;\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","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=5e1c754a&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 'gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-default-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-default-colspan, 1 / -1);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","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=d8783f58&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, {\r\n item\r\n })\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: 'w-mediaupload-list f-flex'\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before,\r\n /* .w-mediaupload-value .w-img:hover:not(.z-canplay) .w-img-gut:after */\r\n {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","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=3362c017&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 gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","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=28d38c26&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: ['pub', 'required', 'vertical', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n data() {\r\n return {\r\n isGrid: false\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.isGrid ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-grid': this.isGrid}\r\n }\r\n }\r\n }\r\n</script>\r\n","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', 'noButton', 'step', 'compare', 'minValue', 'maxValue'],\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n inputWidth: 140\r\n }\r\n },\r\n doFormat() {\r\n if (!this.x.format)\r\n return;\r\n let v = this.$refs.v.value\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n $.rngCursor(this.$refs.v, n + (b.length - a.length))\r\n }\r\n }\r\n },\r\n isBegin() {\r\n\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.vv('maxValue')\r\n let n = this.vv('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n } else if (u) {\r\n // this.showTip({\r\n // text: $.loc.form[r < v ? 'step_max_value' : 'step_min_value'],\r\n // independent: true,\r\n // })\r\n }\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n html_button() {\r\n return h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n compare: (v, c, d) => {\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {\r\n v,\r\n d\r\n })\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","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=7b5ef9be&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 watch: {\r\n checked(e) {\r\n if (this.provideBoxParent) {\r\n !this.provideBoxParent.isFolder() && this.provideBoxParent.clickBoxProxy()\r\n }\r\n }\r\n },\r\n methods: {\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.x.checked = a == 1\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.checkstate(a)\r\n this.relate()\r\n },\r\n },\r\n mounted() {\r\n !this.x.all && this.relate()\r\n }\r\n\r\n }\r\n</script>\n","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.x.name + '@' + this.ownerView.uid\r\n }\r\n \r\n }\r\n }\r\n</script>\r\n\r\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!./Option.vue?vue&type=style&index=0&id=a3c23114&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 }\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","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","import { render } from \"./TemplatePreviewMedia.vue?vue&type=template&id=ea49b634\"\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 PreloadNone from '../preload/PreloadNone.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = this.x.modelValue ? $.array(this.x.modelValue, true) : [this.x.modelValue]\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","import script from \"./DropBox.vue?vue&type=script&lang=js\"\nexport * from \"./DropBox.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!./TemplateDateSheet.vue?vue&type=style&index=0&id=232b4c7d&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import TableFixedRight from './TableFixedRight.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [TableAbs],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n data() {\r\n return {\r\n leftTable: null,\r\n rightTable: null,\r\n scrollTable: null,\r\n scrollHover: false,\r\n fixedWidth: '',\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [], this.fixedLeft || [], this.fixedRight || []]\r\n },\r\n },\r\n computed: {\r\n fixedLeft() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'left') > -1) {\r\n return h(TableFixedLeft, null, this.$slots)\r\n }\r\n },\r\n fixedRight() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'right') > -1) {\r\n return h(TableFixedRight, null, this.$slots)\r\n }\r\n },\r\n html_style() {\r\n return this.fixedWidth && {\r\n '--w-table-fixed-width': this.fixedWidth\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: collapse;\r\n }\r\n\r\n .w-thead {\r\n background: var(--w-thead-background-color);\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n overflow: hidden;\r\n }\r\n\r\n .w-tbody .w-tr.z-on {\r\n background-color: #DFE3FF;\r\n\r\n }\r\n\r\n .w-tbody.z-br .w-td {\r\n white-space: normal;\r\n word-break: break-all;\r\n word-wrap: normal;\r\n overflow: visible;\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th-title {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n white-space: nowrap;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table-fixed-left {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-table-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n align-items: flex-end;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-right {\r\n box-shadow: 0 0 10px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .w-tbody.z-scroll-x-show.z-scroll-x-left~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show.z-scroll-x-right~.w-table-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n .w-table-fixed-left>.w-tbody>.w-scrollbar-y,\r\n .w-table-fixed-right>.w-tbody>.w-scrollbar-y {\r\n display: none;\r\n }\r\n\r\n .w-table-fixed-left .w-table-tbl,\r\n .w-table-fixed-right .w-table-tbl {\r\n width: var(--w-table-fixed-width);\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td:first-child {\r\n border-left: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-td:last-child {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tr:first-child .w-td {\r\n border-top: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n</style>\r\n","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=83271cca&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=daf261dc&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!./FileUpload.vue?vue&type=style&index=0&id=2a8401e0&lang=css\""],"sourceRoot":""}
|