-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtruss.min.js
2 lines (2 loc) · 9.84 KB
/
truss.min.js
1
2
!function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/Users/sumitpal/work/dev/truss-layout/example",e(0)}([function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var o=n(1),r=i(o);e["default"]=r["default"]},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=n(2),u=i(a),l=function(){function t(e){o(this,t),this.gridList={},this.elementCounter=0,this.parent=e}return r(t,[{key:"config",value:function(){return{margin:5,padding:0}}},{key:"_removeAllGrids",value:function(){for(var t in this.gridList)this.parent.removeChild(this.gridList[t].getNode());this.elementList={},this.elementCounter=0}},{key:"createSplit",value:function(t,e){Object.keys(this.gridList).length>1&&this._removeAllGrids();for(var n=Number(t[0])||1,i=Number(t[1])||1,o=this.parent,r=this.config(),a=o.offsetHeight,l=o.offsetWidth,s=r.margin,f=r.padding,d=Math.floor(a/n-2*s),c=Math.floor(l/i-2*s),h=n*i,p={height:d+"px",width:c+"px",margin:s+"px",padding:f+"px"},v=0;h>v;v++){var y=new u["default"](o),g=(o.id||"gridLayout")+this.elementCounter++;y.setDimensions(p)._createDiv(g)._calculateMaxButton(),this.gridList[this.elementCounter-1]=y}return"function"==typeof e&&e.call(this,this.gridList),this}},{key:"createGoldSplit",value:function(t,e){for(var n=this.parent,i=this.config(),o=n.offsetHeight,r=n.offsetWidth,a=i.margin,l=i.padding,s=t&&"v"===t[0].toLowerCase()||!1,f=s?this._getGoldenRatio(o):Math.floor(o-2*a),d=s?Math.floor(r-2*a):this._getGoldenRatio(r),c={margin:a+"px",padding:l+"px"},h=0;2>h;h++){c.height=(Array.isArray(f)?f[h]-2.1*a:f)+"px",c.width=(Array.isArray(d)?d[h]-2.1*a:d)+"px";var p=new u["default"](n),v=(n.id||"gridLayout")+this.elementCounter++;p.setDimensions(c)._createDiv(v)._calculateMaxButton(),this.gridList[this.elementCounter-1]=p}return"function"==typeof e&&e.call(this,this.gridList),this}},{key:"_getGoldenRatio",value:function(t){var e=Math.floor(t/1.618),n=Math.floor(t-e);return[e,n]}},{key:"render",value:function(){}}]),t}();e["default"]=l},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),u=n(1),l=i(u),s=n(3),f=i(s),d=n(4),c=function(){function t(e){o(this,t),this.parentElement=e,this.childGrids={},this.buttons={},this.dimensions={},this.buttonCounter=0}return a(t,[{key:"_config",value:function(){return Object.assign({},t.defaultConfig(),this.dimensions)}},{key:"setDimensions",value:function(t){return this.dimensions=t,this}},{key:"_createDiv",value:function(t){var e=document.createElement("div");return this.id=e.id=t,d._addStyle(e,this._config()),this.parentElement&&this.parentElement.appendChild(e),this.node=e,this}},{key:"removeDiv",value:function(){}},{key:"getNode",value:function(){return this.node}},{key:"getId",value:function(){return this.node.id}},{key:"addContainer",value:function(t){if(this.chartContainer)return t&&t.call(null,o),this.chartContainer;var e=this.maxButton,n=this.chartContainer=document.createElement("div"),i={position:"absolute",background:"#ffffff"},o=this.getId()+"ChartContainer",r=this.getNode(),a=r.offsetHeight-10,u=r.offsetWidth-10,l=5,s=5;return e.horizontalCount.top>1&&(l+=40)&&(a-=40),e.horizontalCount.bottom>1&&(a-=40),e.verticalCount.left>1&&(s+=40)&&(u-=40),e.verticalCount.right>1&&(u-=40),i.top=l+"px",i.left=s+"px",i.height=a+"px",i.width=u+"px",n.id=o,d._addStyle(n,i),r.appendChild(n),t&&t.call(null,o),n}},{key:"getContainerId",value:function(){var t=this.chartContainer?this.chartContainer.id:this.addContainer().id;return t}},{key:"createSplit",value:function(t,e){var n=this.splitLayout=new l["default"](this.node);return n.createSplit(t,e),this}},{key:"createGoldenSplit",value:function(t,e){var n=this.splitLayout=new l["default"](this.node);return n.createGoldSplit(t,e),this}},{key:"addButton",value:function(t,e,n){var i=this;if(!this._canAddButton(e))return this;var o={position:this._getButtonConfig(e),content:this._parseContentConfig(t)},a=this.getId()+"Button"+this.buttonCounter,u=this.buttons[a]=new f["default"](this.getNode(),o),l=void 0;return l=u.render().getNode(),n&&Array.isArray(n)?n.forEach(function(t){t.name&&t.callback&&i._addEvent(l,t.name,t.callback)}):n&&"object"===("undefined"==typeof n?"undefined":r(n))&&n.name&&n.callback&&this._addEvent(l,n.name,n.callback),l}},{key:"_addEvent",value:function(t,e,n){return"string"==typeof e&&"function"==typeof n&&t.addEventListener(e,n),this}},{key:"_parseContentConfig",value:function(t){var e={};switch("undefined"==typeof t?"undefined":r(t)){case"string":e.type="a",e.innerHTML=t;break;case"object":t.text?(e.type="a",e.innerHTML=t.text):t.src?(e.type="img",e.src=t.src):e=t;break;default:e.type="a",e.innerHTML=""}return e}},{key:"_generateOrientationObj",value:function(){var t=["top","bottom"],e=["left","right"],n=["horizontal","vertical"],i={};return t.forEach(function(t){i[t]={},e.forEach(function(e){i[t][e]={},n.forEach(function(n){i[t][e][n]={isModified:!1},i[t][e][n][t]=0,i[t][e][n][e]=0})})}),i}},{key:"_parsePosition",value:function(t){var e={T:"top",L:"left",R:"right",B:"bottom"},n=void 0;return n=t&&"2"==t.length?e[t[0].toUpperCase()]+"-"+e[t[1].toUpperCase()]:t.replace(/\s/g,"")||"top-left"}},{key:"_getButtonConfig",value:function(t){var e=this,n=t.position,i="horizontal",o=t.orientation||i,r=this._parsePosition(n),a=r.split("-"),u=this.orientation||(this.orientation=this._generateOrientationObj()),l={};return a.forEach(function(t){u[t]&&a.forEach(function(n){var r=u[t][n];if(r)for(var a in r)a===o?(l[t]=r[a][t]+"px",l[n]=r[a][n]+"px",o===i?(r[a][n]+=40,e.maxButton[o+"Count"][t]++):(r[a][t]+=40,e.maxButton[o+"Count"][n]++),!r[a].isModified&&(r[a].isModified=!0)):r[a].isModified||(o===i?(r[a][t]+=40,e.maxButton[o+"Count"][n]++):(r[a][n]+=40,e.maxButton[o+"Count"][t]++),r[a].isModified=!0)})}),l}},{key:"_canAddButton",value:function(t){var e=t.orientation+"Count",n=this._parsePosition(t.position),i=n.split("-"),o=this.maxButton||(this.maxButton=this._calculateMaxButton()),r=function(t,e){var n=null;return"horizontal"===t?e.forEach(function(t){("top"===t||"bottom"===t)&&(n=t)}):e.forEach(function(t){("left"===t||"right"===t)&&(n=t)}),n}(t.orientation,i);return o[e][r]<this.maxButton[t.orientation]}},{key:"_calculateMaxButton",value:function(){var t=this.node.offsetHeight,e=this.node.offsetWidth,n=40;return this.maxButton||(this.maxButton={horizontal:Math.floor(e/n),vertical:Math.floor(t/n),horizontalCount:{top:1,bottom:1},verticalCount:{left:1,right:1}}),this}}],[{key:"defaultConfig",value:function(){return{background:d.getRandomColor(),"float":"left",position:"relative"}}}]),t}();e["default"]=c},function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=n(4),a=function(){function t(e,n){i(this,t),this.parentElement=e,this.config=n,this.node=null}return o(t,[{key:"_config",value:function(){return{"round-button":{width:"30px",height:"30px",position:"absolute",margin:"10px"},"round-button-circle":{width:"100%",height:0,paddingBottom:"100%",borderRadius:"50%",overflow:"hidden",background:"#4679BD",boxShadow:"0 0 3px gray",cursor:"pointer"},a:{display:"block","float":"left",width:"100%",paddingTop:"50%",paddingBottom:"50%",lineHeight:"1em",marginTop:"-0.5em",textAlign:"center",color:"#e2eaf3",fontFamily:"Verdana",fontSize:"1em",fontWeight:"bold",textDecoration:"none"},img:{display:"block",width:"76%",padding:"12%",height:"auto"}}}},{key:"_createButton",value:function(t){!t.type&&(t.type="a");var e=r._createElement("div"),n=r._createElement("div"),i=r._createElement(t.type),o=this._config();switch(r._addStyle(e,o["round-button"]),r._addStyle(n,o["round-button-circle"]),r._addStyle(i,o[t.type]),t.type){case"a":i.href=t.href||"#",i.innerHTML=t.innerHTML.toUpperCase()||"TL";break;case"img":i.src=t.src||""}return e.appendChild(n),n.appendChild(i),e}},{key:"render",value:function(){var t=this.config,e=t.position||{top:0,left:0},n=t.content,i=this.node=this._createButton(n);return r._addStyle(i,e),this.parentElement.appendChild(i),this}},{key:"getNode",value:function(){return this.node}}]),t}();e["default"]=a},function(t,e){"use strict";function n(){for(var t="0123456789ABCDEF",e="#",n=0;6>n;n++)e+=t[Math.floor(16*Math.random())];return e}function i(t,e){for(var n in e)t.style[n]=e[n];return this}function o(t){return t&&"string"==typeof t?document.createElement(t):!1}function r(t){return Math.round(10*t)/10}Object.defineProperty(e,"__esModule",{value:!0}),e.getRandomColor=n,e._addStyle=i,e._createElement=o,e.roundUp=r}]);
//# sourceMappingURL=truss.min.js.map