h_ui
Version:
A Vue.js 2.0 UI Components Framework
1 lines • 10.8 kB
JavaScript
module.exports=function(t){var e={};function r(i){if(e[i])return e[i].exports;var l=e[i]={i:i,l:!1,exports:{}};return t[i].call(l.exports,l,l.exports,r),l.l=!0,l.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var l in t)r.d(i,l,function(e){return t[e]}.bind(null,l));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/dist/lib/cjs/",r(r.s=1122)}({1122:function(t,e,r){"use strict";var i=r(8);Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var l=i(r(1123)),s=r(32);l.default.install=function(t,e){(0,s.setGlobal)(t,e),t.component("HTextdiff",l.default),t.component("Textdiff",l.default)};var n=l.default;e.default=n},1123:function(t,e,r){"use strict";r.r(e);var i=r(776),l=r(627);for(var s in l)["default"].indexOf(s)<0&&function(t){r.d(e,t,(function(){return l[t]}))}(s);var n=r(4),o=Object(n.a)(l.default,i.a,i.b,!1,null,null,null);e.default=o.exports},32:function(t,e){t.exports=require("h_ui/dist/lib/util/global.js")},4:function(t,e,r){"use strict";function i(t,e,r,i,l,s,n,o){var a,f="function"==typeof t?t.options:t;if(e&&(f.render=e,f.staticRenderFns=r,f._compiled=!0),i&&(f.functional=!0),s&&(f._scopeId="data-v-"+s),n?(a=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),l&&l.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(n)},f._ssrRegister=a):l&&(a=o?function(){l.call(this,(f.functional?this.parent:this).$root.$options.shadowRoot)}:l),a)if(f.functional){f._injectStyles=a;var h=f.render;f.render=function(t,e){return a.call(e),h(t,e)}}else{var c=f.beforeCreate;f.beforeCreate=c?[].concat(c,a):[a]}return{exports:t,options:f}}r.d(e,"a",(function(){return i}))},627:function(t,e,r){"use strict";r.r(e);var i=r(628),l=r.n(i);for(var s in i)["default"].indexOf(s)<0&&function(t){r.d(e,t,(function(){return i[t]}))}(s);e.default=l.a},628:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i={name:"Textdiff",data:function(){return{leftTextValue:this.leftValue||"",rightTextValue:this.rightValue||"",leftautofocus:!1,rightautofocus:!1,leftListRebuild:[],rightListRebuild:[],leftSelectRowContent:"",rightSelectRowContent:"",leftMinWidth:"",rightMinWidth:""}},props:{leftValue:String,rightValue:String,leftTitle:String,rightTitle:String,diffColor:{type:String,default:"red"},moreColor:{type:String,default:"blue"},isShowTitle:{type:Boolean,default:!0},isShowSelect:{type:Boolean,default:!0},diffBgColor:String,height:[String,Number]},watch:{leftValue:function(t){this.leftTextValue=this.leftValue},rightValue:function(t){this.rightTextValue=this.rightValue},leftTextValue:function(t){var e=this.$refs.leftArea.getElementsByClassName("h-textdiff-rowSelect");if(e.length>0)for(var r=0;r<e.length;r++)e[r].className="";this.leftSelectRowContent="",this.leftList=[],this.righList=[],this.diff({left:t,right:this.rightTextValue}),this.leftautofocus=!0,this.rightautofocus=!1},rightTextValue:function(t){var e=this.$refs.rightArea.getElementsByClassName("h-textdiff-rowSelect");if(e.length>0)for(var r=0;r<e.length;r++)e[r].className="";this.rightSelectRowContent="",this.leftList=[],this.righList=[],this.diff({left:this.leftTextValue,right:t}),this.leftautofocus=!1,this.rightautofocus=!0}},mounted:function(){var t=this,e=function(){t.scrollRight()},r=function(){t.scrollLeft()};this.$refs.leftArea.addEventListener("scroll",r),this.$refs.rightArea.addEventListener("scroll",e),this.$once("hook:beforeDestory",(function(){t.$refs.rightArea.removeEventListener("scroll",e),t.$refs.leftArea.removeEventListener("scroll",r)}))},created:function(){this.diff({left:this.leftTextValue,right:this.rightTextValue})},methods:{scrollLeft:function(){this.$refs.rightArea.scrollHeight-this.$refs.rightArea.scrollTop>0&&(this.$refs.rightArea.scrollTop=this.$refs.leftArea.scrollTop),this.$refs.rightArea.scrollWidth-this.$refs.rightArea.scrollLeft>0&&(this.$refs.rightArea.scrollLeft=this.$refs.leftArea.scrollLeft)},scrollRight:function(){this.$refs.leftArea.scrollHeight-this.$refs.leftArea.scrollTop>0&&(this.$refs.leftArea.scrollTop=this.$refs.rightArea.scrollTop),this.$refs.leftArea.scrollWidth-this.$refs.leftArea.scrollLeft>0&&(this.$refs.leftArea.scrollLeft=this.$refs.rightArea.scrollLeft)},rowClick:function(t,e){for(var r=document.getElementsByClassName("h-textdiff-rowSelect");r.length>0;)r[0].className="";t.currentTarget.className="h-textdiff-rowSelect","h-textdiff-leftContent"==t.currentTarget.parentElement.className?(this.leftSelectRowContent=t.currentTarget.innerText.trim(),this.$refs.rightArea.children[e]?(this.$refs.rightArea.children[e].className="h-textdiff-rowSelect",this.rightSelectRowContent=this.$refs.rightArea.children[e].innerText.trim()):this.rightSelectRowContent="",this.$emit("on-left-select",this.leftSelectRowContent)):(this.rightSelectRowContent=t.currentTarget.innerText.trim(),this.$refs.leftArea.children[e]?(this.$refs.leftArea.children[e].className="h-textdiff-rowSelect",this.leftSelectRowContent=this.$refs.leftArea.children[e].innerText.trim()):this.leftSelectRowContent="",this.$emit("on-right-select",this.rightSelectRowContent))},diff:function(t){var e=this;if(t){if(this.leftTextValue=t.left,this.rightTextValue=t.right,!t.left||!t.right)return this.leftListRebuild=""!=t.left?t.left.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""").split("\n"):[],this.rightListRebuild=""!=t.right?t.right.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""").split("\n"):[],void this.$nextTick((function(){e.leftMinWidth=e.$refs.leftArea.scrollWidth?e.$refs.leftArea.scrollWidth:e.$refs.leftArea.clientWidth,e.rightMinWidth=e.$refs.rightArea.scrollWidth?e.$refs.rightArea.scrollWidth:e.$refs.rightArea.clientWidth}));var r=t.left.split("\n"),i=t.right.split("\n"),l=r,s=i,n="",o="",a=[],f=[],h="color:"+this.diffColor,c="color:"+this.moreColor;if(r.length>0&&i.length>0){l=r.length>=i.length?r:i,s=r.length<i.length?r:i;for(var u=0;u<l.length;u++){var g=!1;if(u<=s.length-1){for(var d=l[u].length>s[u].length?l[u].length:s[u].length,p=0,v=0,x="",m="",T=0;T<d;T++)l[u][T]&&s[u][T]&&l[u][T]===s[u][T]?p==v&&""===x&&""===m?(n+=String(l[u][T]).replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,"""),o+=String(l[u][T]).replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,"""),p=T,v=T):""!=x&&""!=m&&(n+="<span style='"+h+"'>"+x.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")+"</span>",o+="<span style='"+h+"'>"+m.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")+"</span>",p=T,v=T,x="",m="",n+=l[u][T].replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,"""),o+=l[u][T].replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")):(g=!0,x+=l[u][T]||""===l[u][T]?l[u][T]:"",m+=s[u][T]||""===s[u][T]?s[u][T]:"",v+=1);p==v&&""==x&&""==m||(n+="<span style='"+h+"'>"+x.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")+"</span>",o+="<span style='"+h+"'>"+m.replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")+"</span>"),a.push({value:""===n?"\r":n,isDiff:g}),n="",f.push({value:""===o?"\r":o,isDiff:g}),o=""}else g=!0,n+="<span style='"+c+"'>"+l[u].replace(/</g,"<").replace(/>/g,">").replace(/\'/g,"'").replace(/\"/g,""")+"</span>",a.push({value:n,isDiff:g}),n="";g&&(t.hasDiff=!0)}}this.leftListRebuild=r.length==l.length?a:f,this.rightListRebuild=i.length==s.length?f:a,this.$nextTick((function(){e.leftMinWidth=e.$refs.leftArea.scrollWidth,e.rightMinWidth=e.$refs.rightArea.scrollWidth}))}},hasDiff:function(){if(!!this.leftTextValue^!!this.rightTextValue)return!0;var t={left:this.leftTextValue,right:this.rightTextValue,hasDiff:!1};return this.diff(t),t.hasDiff}}};e.default=i},776:function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return l}));var i=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"h-textdiff h-row"},[r("div",{staticClass:"h-textdiff-wrapper h-col-span-12"},[t.isShowTitle?r("div",{staticClass:"h-textdiff-title no-border-right"},[t._v(t._s(t.leftTitle))]):t._e(),t._v(" "),r("div",{staticClass:"h-textdiff-content no-border-right",style:{height:t.height+"px"}},[r("pre",{ref:"leftArea",staticClass:"h-textdiff-leftContent",on:{scroll:t.scrollLeft}},t._l(t.leftListRebuild,(function(e,i){return r("code",{key:i,style:{minWidth:t.leftMinWidth+"px",background:e.isDiff&&t.diffBgColor?t.diffBgColor:""},domProps:{innerHTML:t._s(e.value||e)},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.rowClick(e,i)}}})})),0),t._v(" "),r("textarea",{directives:[{name:"model",rawName:"v-model",value:t.leftTextValue,expression:"leftTextValue"}],ref:"left",attrs:{autofocus:t.leftautofocus},domProps:{value:t.leftTextValue},on:{input:function(e){e.target.composing||(t.leftTextValue=e.target.value)}}})])]),t._v(" "),r("div",{staticClass:"h-textdiff-wrapper h-col-span-12"},[t.isShowTitle?r("div",{staticClass:"h-textdiff-title"},[t._v(t._s(t.rightTitle))]):t._e(),t._v(" "),r("div",{staticClass:"h-textdiff-content",style:{height:t.height+"px"}},[r("pre",{ref:"rightArea",staticClass:"h-textdiff-rightContent",on:{scroll:t.scrollRight}},t._l(t.rightListRebuild,(function(e,i){return r("code",{key:i,style:{minWidth:t.rightMinWidth+"px",background:e.isDiff&&t.diffBgColor?t.diffBgColor:""},domProps:{innerHTML:t._s(e.value||e)},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.rowClick(e,i)}}})})),0),t._v(" "),r("textarea",{directives:[{name:"model",rawName:"v-model",value:t.rightTextValue,expression:"rightTextValue"}],ref:"right",attrs:{right:"rightautofocus"},domProps:{value:t.rightTextValue},on:{input:function(e){e.target.composing||(t.rightTextValue=e.target.value)}}})])])])},l=[];i._withStripped=!0},8:function(t,e){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.__esModule=!0,t.exports.default=t.exports}});