2 lines
5.7 KiB
JavaScript
2 lines
5.7 KiB
JavaScript
"use strict";const t=require("../../../common/vendor.js"),e=require("./utils/html2json.js"),a=require("./marked/index.js"),s=require("./utils/util.js"),r={name:"fui-parse",inject:{parsegroup:{value:"parsegroup",default:null}},components:{firstuiCode:()=>"./firstui-code.js",firstuiAudio:()=>"./firstui-audio.js"},props:{language:{type:String,default:"html"},nodes:{type:[String,Object,Array],default:""}},watch:{nodes:{handler(t){if(t)if("markdown"===this.language||"md"===this.language){const e=a.marked(t);setTimeout((()=>{this._parseNodes(e)}),0)}else setTimeout((()=>{this._parseNodes(t)}),0)},immediate:!0}},beforeUnmount(){s.util.cacheInstance.remove(this.pageNodeKey)},data:()=>({pageNodeKey:"",nodesData:[],bindData:{},width:0,height:0,thBgcolor:!0,mode:""}),created(){this.$nextTick((()=>{setTimeout((()=>{this.parsegroup&&(this.thBgcolor=this.parsegroup.thBgcolor),this.mode="widthFix"}),50)}))},methods:{_parseNodes(t){this.pageNodeKey=this.parsegroup?this.parsegroup.pageNodeKey:"fuiParse","string"==typeof t?this._parseHtml(t):Array.isArray(t)?this.nodesData=t:this.nodesData=[t]},_parseHtml(t){const a=e.HtmlToJson.html2json(t,this.pageNodeKey);a.view={},a.view.imagePadding=0,this.nodesData=a.nodes,this.bindData={[this.pageNodeKey]:a},s.util.cacheInstance.set(this.pageNodeKey,a)},fuiParseImgLoad(t){const{from:e,index:a}=t.target.dataset||t.currentTarget.dataset||{};if(void 0!==e&&e.length>0){const{width:e,height:s}=t.detail,r=this._fuiAutoImageCal(e,s);this.width=r.imageWidth,this.height=r.imageHeight;const i=this.nodesData;i[a].loaded=!0,this.nodesData=i}},fuiParseImgTap(e){const{src:a}=e.target.dataset||e.currentTarget.dataset;let{imageUrls:r=[]}=s.util.cacheInstance.get(this.pageNodeKey);0==r.length&&(r=[a]),this.parsegroup?(this.parsegroup.imgPreview&&t.index.previewImage({current:a,urls:r}),this.parsegroup.previewImage(a,r)):t.index.previewImage({current:a,urls:r})},_fuiAutoImageCal(t,e){let a=0,r=0;const i={},[o,n]=s.util.getSystemInfo();return t>o?(a=o,r=a*e/t,i.imageWidth=a,i.imageHeight=r):(i.imageWidth=t,i.imageHeight=e),i},fuiParseTagATap(e){const{src:a=""}=e.currentTarget.dataset;if(this.parsegroup)return void this.parsegroup.onATap(a);-1===a.indexOf("http")&&t.index.navigateTo({url:a})}}};if(!Array){(t.resolveComponent("fui-parse")+t.resolveComponent("firstui-code")+t.resolveComponent("firstui-audio"))()}Math||Promise.resolve().then((()=>o));const i=t._export_sfc(r,[["render",function(e,a,s,r,i,o){return{a:t.f(i.nodesData,((e,a,s)=>t.e({a:"element"==e.node},"element"==e.node?t.e({b:"button"==e.tag},"button"==e.tag?{c:t.f(e.nodes,((e,a,r)=>({a:"add8c133-0-"+s+"-"+r,b:t.p({nodes:e}),c:a})))}:e&&"code"==e.tag?{e:"add8c133-1-"+s,f:t.p({codeText:e.content,language:e.attr&&e.attr.lang}),g:t.n(e.classStr),h:t.s(e.styleStr)}:"ol"==e.tag?{j:t.f(e.nodes,((e,a,r)=>({a:t.t(a+1),b:"add8c133-2-"+s+"-"+r,c:t.p({nodes:e}),d:a}))),k:t.n(e.classStr),l:t.s(e.styleStr)}:"ul"==e.tag?{n:t.f(e.nodes,((e,a,r)=>({a:"add8c133-3-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),o:t.n(e.classStr),p:t.s(e.style&&e.style.Str)}:"li"==e.tag?{r:t.f(e.nodes,((e,a,r)=>({a:"add8c133-4-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),s:t.n(e.classStr),t:t.s(e.styleStr)}:"video"==e.tag?{w:t.n(e.classStr),x:t.n(`fuiParse-${e.tag}-video`),y:e.attr&&e.attr.src,z:t.n(e.classStr),A:t.n(`fuiParse-${e.tag}`),B:t.s(e.styleStr)}:"img"==e.tag?t.e({D:e.attr&&e.attr.src},e.attr&&e.attr.src?{E:t.n(e.classStr),F:t.n(`fuiParse-${e.tag}`),G:t.n(e.loaded?"fuiParse-img-fadein":""),H:e.from,I:e.attr.src,J:e.imgIndex,K:e.loaded?e.attr.src:"",L:t.o(((...t)=>o.fuiParseImgTap&&o.fuiParseImgTap(...t)),a),M:i.mode,N:t.s("width:"+(e.attr.width||i.width)+"px;height:"+(e.attr.height||i.height)+"px;"+e.styleStr),O:e.loaded?1:"",P:i.mode,Q:e.from,R:a,S:e.attr.src,T:t.o(((...t)=>o.fuiParseImgLoad&&o.fuiParseImgLoad(...t)),a)}:{}):"a"==e.tag?{V:t.f(e.nodes,((e,a,r)=>({a:"add8c133-5-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),W:t.o(((...t)=>o.fuiParseTagATap&&o.fuiParseTagATap(...t)),a),X:t.n(e.classStr),Y:t.n(`fuiParse-${e.tag}`),Z:e.attr&&e.attr.title,aa:e.attr&&e.attr.href,ab:t.s(e.styleStr)}:"table"==e.tag?{ad:t.f(e.nodes,((e,a,r)=>({a:"add8c133-6-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),ae:t.n(e.classStr),af:t.n(`fuiParse-${e.tag}`)}:"tr"==e.tag?{ah:t.f(e.nodes,((e,a,r)=>({a:t.n(e.classStr),b:t.n(`fuiParse-${e.tag}`),c:t.n(`fuiParse-${e.tag}-container`),d:t.n("th"==e.tag&&i.thBgcolor?"fuiParse-th__bg":""),e:t.s(e.styleStr),f:"add8c133-7-"+s+"-"+r,g:t.p({nodes:e}),h:a}))),ai:t.n(e.classStr),aj:t.n(`fuiParse-${e.tag}`)}:"td"==e.tag?{al:t.f(e.nodes,((e,a,r)=>({a:t.n(e.classStr),b:t.n(`fuiParse-${e.tag}`),c:t.n(`fuiParse-${e.tag}-container`),d:t.s(e.styleStr),e:"add8c133-8-"+s+"-"+r,f:t.p({nodes:e}),g:a}))),am:t.n(e.classStr),an:t.n(`fuiParse-${e.tag}`)}:"audio"==e.tag?{ap:t.n(e.classStr),aq:t.s(e.styleStr),ar:"add8c133-9-"+s,as:t.p({src:e.attr&&e.attr.src,title:e.attr&&e.attr.title,desc:e.attr&&e.attr.desc})}:"br"==e.tag?{}:"block"==e.tagType?{aw:t.f(e.nodes,((e,a,r)=>({a:"add8c133-10-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),ax:t.n(e.classStr),ay:t.n(`fuiParse-${e.tag}`),az:t.s(e.styleStr)}:{aA:t.f(e.nodes,((e,a,r)=>({a:"add8c133-11-"+s+"-"+r,b:t.p({nodes:e}),c:a}))),aB:t.n(e.classStr),aC:t.n(`fuiParse-${e.tag}`),aD:t.n(`fuiParse-${e.tagType}`),aE:t.s(e.styleStr)},{d:e&&"code"==e.tag,i:"ol"==e.tag,m:"ul"==e.tag,q:"li"==e.tag,v:"video"==e.tag,C:"img"==e.tag,U:"a"==e.tag,ac:"table"==e.tag,ag:"tr"==e.tag,ak:"td"==e.tag,ao:"audio"==e.tag,at:"br"==e.tag,av:"block"==e.tagType}):"text"==e.node?{aG:t.f(e.textArray,((e,a,s)=>t.e({a:"text"==e.node},"text"==e.node?{b:t.t(e.text),c:t.n("\\n"==e.text?"fuiParse-hide":"")}:"element"==e.node?{e:e.baseSrc+e.text}:{},{d:"element"==e.node,f:a}))),aH:t.s(e.styleStr)}:{},{aF:"text"==e.node,aI:a})))}}],["__scopeId","data-v-add8c133"]]);wx.createComponent(i);const o=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));
|