dfish-widget 0.1.362 → 0.1.366

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.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/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/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/SlidePicker.vue?a4e8","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/util/json.js","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/util/snap.js","webpack://dfish/./src/widgets/Tip.vue?1c32","webpack://dfish/./src/widgets/FormBase.vue?946e","webpack://dfish/./src/util/uid.js","webpack://dfish/./src/widgets/Button.vue","webpack://dfish/./src/widgets/Button.vue?fbcc","webpack://dfish/./src/widgets/LinkBox.vue?a618","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/Spinner.vue?2684","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/widgets/ComboBox.vue?ba9f","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/template/TemplateDateSheet.vue?4207","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/Range.vue?2956","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 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/widgets/Switch.vue?a9e8","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/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/Table.vue?d67a","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/FileUpload.vue?7389","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/widgets/Grid.vue?afcf","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309","webpack://dfish/./src/widgets/Scroll.vue?885f"],"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","closeDrop","suggest","input","innerText","replace","Event","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","preventDefault","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","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isGrid","isChecked","elements","check","relate","partialSubmit","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","rows","isExpanded","observeTableWidth","cg","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","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","SlidePicker","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","directiveHooks","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","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","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","locked","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","maxWidth","fixedLeft","fixedRight","TableFixedRight"],"mappings":"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uBAAwB,CACvB,OACA,GAED,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,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,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,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,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,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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-28871420\":\"2201e1a3\",\"chunk-29cfb088\":\"a58b9e6c\",\"chunk-2d0a311d\":\"9de5a785\",\"chunk-2d0a3376\":\"acfbac20\",\"chunk-2d0a448b\":\"02bb5ca6\",\"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\":\"f28d99e4\",\"chunk-2d22d7b5\":\"2fb9e9f7\",\"chunk-2f7f0670\":\"009d6baf\",\"chunk-3ffcda5c\":\"2f61743c\",\"chunk-4bb7a73e\":\"8e9a552e\",\"chunk-4bdfa3e0\":\"5b89b5ce\",\"chunk-5f709e3a\":\"f67f5a78\",\"chunk-5f7e164e\":\"d5496380\",\"chunk-9fa5810e\":\"82dc844e\",\"chunk-9fc06192\":\"bb86af4e\",\"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-28871420\":1,\"chunk-29cfb088\":1,\"chunk-2f7f0670\":1,\"chunk-3ffcda5c\":1,\"chunk-4bb7a73e\":1,\"chunk-4bdfa3e0\":1,\"chunk-5f7e164e\":1,\"chunk-9fa5810e\":1,\"chunk-9fc06192\":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","<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 return this\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n 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=c03d48c2&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\"","<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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closeDrop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closeDrop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closeDrop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closeDrop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onkeydown: this.onkeydown,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n 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</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=04432ad3&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\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=4cc67120&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, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<!-- <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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n 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 //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {\r\n 'z-forbid': v.forbid\r\n }],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if (this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-combobox-list>.w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n white-space: pre-wrap; \r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n\r\n .w-combobox-option.z-forbid .w-combobox-option-text {\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n\r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","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=2de62c3e&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","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=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({\r\n file\r\n })\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr('upload_loading')\r\n }\r\n if (item.error) {\r\n return this.formErr('upload_invalid_file')\r\n }\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","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=dbf16384&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'b',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.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","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\"","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=c03d48c2&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', 'loading', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.x.loading = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.isDisabled) return\r\n e.stopPropagation()\r\n this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.isDisabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.isDisabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked z-loading': this.x.loading,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","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!./LinkBox.vue?vue&type=style&index=0&id=04432ad3&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\"","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=7082d42b&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","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=2de62c3e&lang=css\"","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","<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!./TemplateDateSheet.vue?vue&type=style&index=0&id=eb1da60e&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","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=286149c8&lang=css\"","<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","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-5f7e164e\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-5f7e164e\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-4bdfa3e0\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-4bdfa3e0\"\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-9fc06192\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-9fc06192\"\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-4bb7a73e\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4bb7a73e\"\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/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/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/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","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=59414457&lang=css\"","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 rows: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rows = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","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 (!isNaN(v1)) v1 = parseFloat(v1)\r\n if (!isNaN(v2)) v2 = parseFloat(v2)\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=286149c8&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","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 SlidePicker from './SlidePicker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\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, SlidePicker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n // //注册指令\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding, vnode) {\r\n if ($.directiveHooks[v]) {\r\n if (!vnode.key) { // v-for循环内,如果vnode没有key,节点不会重新渲染,导致指令也不更新\r\n vnode.key = (vnode.props && vnode.props['w-key']) || $.uid()\r\n } \r\n $.directiveHooks[v](el, binding.value, vnode)\r\n }\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-slidepicker-bg-top\"></div>\r\n <div class=\"w-slidepicker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-slidepicker',\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-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=4cc67120\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=4cc67120&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!./Table.vue?vue&type=style&index=0&id=7ae0103e&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 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-slidepicker 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-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n\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=eb1da60e\"\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=eb1da60e&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', 'colspan', 'rowspan', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: ['w-w', this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","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.rows\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","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, n) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v, n) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","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 .15s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n transform: translateX(calc(-100% - 1px));\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=59414457&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-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","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=7e6e558d&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!./FileUpload.vue?vue&type=style&index=0&id=dbf16384&lang=css\"","<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', {v, d})\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","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=7082d42b&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","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=7e6e558d&lang=css\"","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: 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","<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-td-border-color, 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=7ae0103e&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\""],"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/SlidePicker.vue?f369","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/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/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/util/json.js","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/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/LinkBox.vue?a618","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/Spinner.vue?2684","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/widgets/ComboBox.vue?ba9f","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/template/TemplateDateSheet.vue?4207","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/Range.vue?2956","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/widgets/Leaf.vue?8ded","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 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/widgets/Switch.vue?a9e8","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/index.js","webpack://dfish/./src/widgets/SlidePicker.vue","webpack://dfish/./src/widgets/SlidePicker.vue?f95b","webpack://dfish/./src/widgets/Table.vue?d67a","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/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/FormBase.vue?32f2","webpack://dfish/./src/widgets/Img.vue?2e76","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/FileUpload.vue?7389","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/widgets/Grid.vue?afcf","webpack://dfish/./src/template/TemplatePreviewMedia.vue","webpack://dfish/./src/template/TemplatePreviewMedia.vue?3261","webpack://dfish/./src/template/TemplateJigsaw.vue?165a","webpack://dfish/./src/widgets/DropBox.vue","webpack://dfish/./src/widgets/DropBox.vue?9370","webpack://dfish/./src/widgets/Table.vue","webpack://dfish/./src/widgets/Table.vue?8309","webpack://dfish/./src/widgets/Scroll.vue?885f"],"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","closeDrop","suggest","input","innerText","replace","Event","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","preventDefault","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","mouses","dropHover","onmousedown","onmouseup","watch","removeClass","ajaxLock","html_icon","focusIcon","isCombo","minWidth","dropPosition","modifiedChecked","defaultChecked","boxProxy","isGrid","isChecked","elements","check","relate","partialSubmit","input_icon","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","rows","isExpanded","observeTableWidth","cg","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","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","SlidePicker","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","directiveHooks","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","hover","inTree","getInitLoaded","hasChild","folder","isFolder","clickBoxProxy","_triple","clickText","boxSync","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","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","locked","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","maxWidth","fixedLeft","fixedRight","TableFixedRight"],"mappings":"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,qBAAsB,CACrB,OACA,GAED,0BAA2B,CAC1B,OACA,EACA,kBAED,2BAA4B,CAC3B,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,mBAAoB,CACnB,OACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,kBAED,8BAA+B,CAC9B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,wBAAyB,CACxB,OACA,EACA,kBAED,4BAA6B,CAC5B,OACA,EACA,kBAED,0BAA2B,CAC1B,QACA,EACA,kBAED,8BAA+B,CAC9B,QACA,EACA,kBAED,0BAA2B,CAC1B,OACA,EACA,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,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,wBAAyB,CACxB,OACA,GAED,4BAA6B,CAC5B,OACA,GAED,oBAAqB,CACpB,OACA,GAED,wBAAyB,CACxB,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,yBAA0B,CACzB,OACA,GAED,6BAA8B,CAC7B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,2BAA4B,CAC3B,OACA,GAED,mBAAoB,CACnB,OACA,GAED,uBAAwB,CACvB,OACA,GAED,gBAAiB,CAChB,OACA,GAED,oBAAqB,CACpB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,0BAA2B,CAC1B,OACA,GAED,kBAAmB,CAClB,OACA,GAED,sBAAuB,CACtB,OACA,GAED,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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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-12a85400\":\"f1c3379e\",\"chunk-1da003f6\":\"131a0546\",\"chunk-29cfb088\":\"a58b9e6c\",\"chunk-2d0a311d\":\"9de5a785\",\"chunk-2d0a3376\":\"acfbac20\",\"chunk-2d0a448b\":\"02bb5ca6\",\"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\":\"31927e29\",\"chunk-2d0df0d6\":\"e81e942a\",\"chunk-2d0e53b4\":\"298c7f72\",\"chunk-2d210667\":\"eb2e8bcc\",\"chunk-2d21d0ff\":\"f28d99e4\",\"chunk-2d22d7b5\":\"2fb9e9f7\",\"chunk-2f491fdc\":\"b84d04cf\",\"chunk-2f7f0670\":\"009d6baf\",\"chunk-47053332\":\"3a012ac7\",\"chunk-4bb7a73e\":\"8e9a552e\",\"chunk-557aafd9\":\"2bff41b3\",\"chunk-5f709e3a\":\"f67f5a78\",\"chunk-5f7e164e\":\"d5496380\",\"chunk-9fc06192\":\"bb86af4e\",\"chunk-c7c01ff4\":\"d624be6b\",\"chunk-cd9b38ac\":\"92658fdc\"}[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-12a85400\":1,\"chunk-1da003f6\":1,\"chunk-29cfb088\":1,\"chunk-2f491fdc\":1,\"chunk-2f7f0670\":1,\"chunk-47053332\":1,\"chunk-4bb7a73e\":1,\"chunk-557aafd9\":1,\"chunk-5f7e164e\":1,\"chunk-9fc06192\":1,\"chunk-cd9b38ac\":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","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SlidePicker.vue?vue&type=style&index=0&id=123935d6&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from \"vue\"\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n \r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n 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","<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 return this\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n 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 .w-triplebox-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear {\r\n 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=7a805524&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\"","<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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closeDrop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closeDrop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closeDrop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 13) {\r\n e.preventDefault()\r\n }\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closeDrop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onkeydown: this.onkeydown,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n 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</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=04432ad3&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, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","<!-- <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 return this\r\n },\r\n closeDrop() {\r\n this.suggest(false)\r\n return this\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n if (a === false) {\r\n clearTimeout(this.sug_timer)\r\n }\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n return this\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n 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 //38: up, 40:down\r\n //if (this.showSuggest && (k == 38 || k == 40)) e.preventDefault()\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {\r\n 'z-forbid': v.forbid\r\n }],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if (this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-combobox-list>.w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n white-space: pre-wrap; \r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n\r\n .w-combobox-option.z-forbid .w-combobox-option-text {\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n\r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","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=2de62c3e&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","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Toggle.vue?vue&type=style&index=0&id=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({\r\n file\r\n })\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr('upload_loading')\r\n }\r\n if (item.error) {\r\n return this.formErr('upload_invalid_file')\r\n }\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","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=dbf16384&lang=css\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","import script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'b',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.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","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', 'loading', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.x.loading = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.isDisabled) return\r\n e.stopPropagation()\r\n this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.isDisabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.isDisabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked z-loading': this.x.loading,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","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!./LinkBox.vue?vue&type=style&index=0&id=04432ad3&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 onclick(e) {\r\n //implement\r\n e.stopPropagation()\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 this.x.text ? \r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text) : null\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: this.onclick,\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {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\"","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=7082d42b&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","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=2de62c3e&lang=css\"","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","import { render } from \"./SVGIcon.vue?vue&type=template&id=a53c637e\"\nimport script from \"./SVGIcon.vue?vue&type=script&lang=js\"\nexport * from \"./SVGIcon.vue?vue&type=script&lang=js\"\n\nimport \"./SVGIcon.vue?vue&type=style&index=0&id=a53c637e&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","import script from \"./SubmitButton.vue?vue&type=script&lang=js\"\nexport * from \"./SubmitButton.vue?vue&type=script&lang=js\"\n\nexport default script","<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!./TemplateDateSheet.vue?vue&type=style&index=0&id=eb1da60e&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","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=286149c8&lang=css\"","<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","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=0dbb8a3c&lang=css\"","<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","var map = {\n\t\"./App\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-557aafd9\"\n\t],\n\t\"./App.vue\": [\n\t\t\"3dfd\",\n\t\t9,\n\t\t\"chunk-557aafd9\"\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-5f7e164e\"\n\t],\n\t\"./components/FormView.vue\": [\n\t\t\"ab06\",\n\t\t9,\n\t\t\"chunk-5f7e164e\"\n\t],\n\t\"./components/FuncView\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-12a85400\"\n\t],\n\t\"./components/FuncView.vue\": [\n\t\t\"e43e\",\n\t\t9,\n\t\t\"chunk-12a85400\"\n\t],\n\t\"./components/HelloWorld\": [\n\t\t\"fdab2\",\n\t\t9,\n\t\t\"chunk-cd9b38ac\"\n\t],\n\t\"./components/HelloWorld.vue\": [\n\t\t\"fdab2\",\n\t\t9,\n\t\t\"chunk-cd9b38ac\"\n\t],\n\t\"./components/LayoutView\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-9fc06192\"\n\t],\n\t\"./components/LayoutView.vue\": [\n\t\t\"41aa\",\n\t\t9,\n\t\t\"chunk-9fc06192\"\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-47053332\"\n\t],\n\t\"./components/task/TaskHello.vue\": [\n\t\t\"ec22\",\n\t\t9,\n\t\t\"chunk-47053332\"\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-2f491fdc\"\n\t],\n\t\"./main.js\": [\n\t\t\"56d7\",\n\t\t9,\n\t\t\"chunk-2f491fdc\"\n\t],\n\t\"./preload/DialogStd\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4bb7a73e\"\n\t],\n\t\"./preload/DialogStd.vue\": [\n\t\t\"7007\",\n\t\t9,\n\t\t\"chunk-4bb7a73e\"\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/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/SlidePicker\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/SlidePicker.vue\": [\n\t\t\"bbd8\",\n\t\t9\n\t],\n\t\"./widgets/Spinner\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Spinner.vue\": [\n\t\t\"ec35\",\n\t\t9\n\t],\n\t\"./widgets/Split\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/Split.vue\": [\n\t\t\"9f07\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SrcParent.vue\": [\n\t\t\"55b2\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/SubmitButton.vue\": [\n\t\t\"5cf9\",\n\t\t9\n\t],\n\t\"./widgets/Swiper\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/Swiper.vue\": [\n\t\t\"a6fe\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/SwiperItem.vue\": [\n\t\t\"da72\",\n\t\t9\n\t],\n\t\"./widgets/Switch\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Switch.vue\": [\n\t\t\"e0a7\",\n\t\t9\n\t],\n\t\"./widgets/Tab\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/Tab.vue\": [\n\t\t\"c577\",\n\t\t9\n\t],\n\t\"./widgets/TabButton\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/TabButton.vue\": [\n\t\t\"16aa\",\n\t\t9\n\t],\n\t\"./widgets/Table\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/Table.vue\": [\n\t\t\"fbdd\",\n\t\t9\n\t],\n\t\"./widgets/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","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=59414457&lang=css\"","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 rows: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rows = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","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 (!isNaN(v1)) v1 = parseFloat(v1)\r\n if (!isNaN(v2)) v2 = parseFloat(v2)\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=286149c8&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","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 SlidePicker from './SlidePicker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\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, SlidePicker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n // //注册指令\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding, vnode) {\r\n if ($.directiveHooks[v]) {\r\n if (!vnode.key) { // v-for循环内,如果vnode没有key,节点不会重新渲染,导致指令也不更新\r\n vnode.key = (vnode.props && vnode.props['w-key']) || $.uid()\r\n } \r\n $.directiveHooks[v](el, binding.value, vnode)\r\n }\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-slidepicker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-slidepicker-bg-top\"></div>\r\n <div class=\"w-slidepicker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-slidepicker',\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_props() {\r\n return {\r\n style: {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n },\r\n [$.br.mobile ? 'ontouchstart' : 'onmousedown']: this.mousedown\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-slidepicker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-slidepicker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-slidepicker .w-option {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n\r\n .w-slidepicker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-slidepicker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","import { render } from \"./SlidePicker.vue?vue&type=template&id=123935d6\"\nimport script from \"./SlidePicker.vue?vue&type=script&lang=js\"\nexport * from \"./SlidePicker.vue?vue&type=script&lang=js\"\n\nimport \"./SlidePicker.vue?vue&type=style&index=0&id=123935d6&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!./Table.vue?vue&type=style&index=0&id=7ae0103e&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 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', 'boxSync', '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 + (this.isEntity ? 1 : 0),\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 children() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || ((this.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 clickText(e) {\r\n if (this.boxProxy && this.x.boxSync) {\r\n this.boxProxy.check(!this.boxProxy.isChecked)\r\n this._triple()\r\n }\r\n },\r\n // triplebox 级联勾选\r\n _triple() {\r\n 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), [\r\n this.loading ?\r\n h(Img, {src: '#f-svg-loading', class: 'w-leaf-loading'}) :\r\n 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 onclick: this.clickText,\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 + 1) * 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-loading {\r\n width: 20px;\r\n margin-left: 1px;\r\n }\r\n \r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox {\r\n 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=0dbb8a3c&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-slidepicker 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-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-slidepicker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-slidepicker>\r\n </w-vertical>\r\n\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=eb1da60e\"\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=eb1da60e&lang=css\"\nscript.render = render\n\nexport default script","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n toRaw,\r\n } from 'vue/dist/vue.esm-bundler.js'\r\n\r\n const bindCache = {}\r\n\r\n\r\n export default {\r\n props: ['id', 'data', 'template', 'preload', 'width', 'height', 'colspan', 'rowspan', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: ['w-w', this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","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.rows\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","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, n) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v, n) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","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 .15s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n transform: translateX(calc(-100% - 1px));\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=59414457&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!./FormBase.vue?vue&type=style&index=0&id=7a805524&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!./Img.vue?vue&type=style&index=0&id=43c27dca&lang=css\"","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical'],\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 onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let w = $.unitSize(this.x.imgWidth ? this.x.imgWidth : this.x.width)\r\n let h = $.unitSize(this.x.imgHeight ? this.x.imgHeight : this.x.height)\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n },\r\n style: {\r\n '--w-img-icon-width': w,\r\n '--w-img-icon-height': h,\r\n },\r\n onmouseenter: e => this.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: var(--w-img-icon-width, 100%);\r\n height: var(--w-img-icon-height);\r\n }\r\n \r\n .w-img .f-svg {\r\n width: var(--w-img-icon-width, 18px);\r\n height: var(--w-img-icon-height, 18px) ;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","import script from \"./Img.vue?vue&type=script&lang=js\"\nexport * from \"./Img.vue?vue&type=script&lang=js\"\n\nimport \"./Img.vue?vue&type=style&index=0&id=43c27dca&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-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","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=7e6e558d&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!./FileUpload.vue?vue&type=style&index=0&id=dbf16384&lang=css\"","<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', {v, d})\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","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=7082d42b&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(a) {\r\n this.check(a)\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.clickBoxProxy()\r\n }\r\n }\r\n },\r\n methods: {\r\n onclick(e) {\r\n e.stopPropagation()\r\n this.provideBoxParent && this.provideBoxParent.clickBoxProxy(e)\r\n this.relate()\r\n },\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.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 let s = this.checkstate()\r\n if (s != a) {\r\n this.checkstate(a)\r\n this.relate()\r\n }\r\n },\r\n },\r\n 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","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=7e6e558d&lang=css\"","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: 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","<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-td-border-color, 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=7ae0103e&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\""],"sourceRoot":""}