react-fusioncharts-fix
Version:
Fork of react-fusioncharts-component (https://github.com/fusioncharts/react-fusioncharts-component) with react 17 support
1 lines • 18.7 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define("DrillDown",["react"],t):"object"==typeof exports?exports.DrillDown=t(require("react")):e.DrillDown=t(e.React)}(window,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){e.exports=n(5)()},function(t,n){t.exports=e},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(1)),o=c(n(7)),a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==l(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=r?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(n(10)),i=c(n(11));function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function c(e){return e&&e.__esModule?e:{default:e}}function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var g=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=u(this,f(t).call(this,e))).containerId=(0,o.default)(),n.oldOptions=null,n.FusionCharts=e.fcLibrary||t.fusionChartsCore||window.FusionCharts,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(t,e),p(t,null,[{key:"fcRoot",value:function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];r.forEach((function(t){t.getName&&t.getType||t.name&&t.type?e.addDep(t):t(e)})),t.fusionChartsCore=e}}]),p(t,[{key:"componentDidMount",value:function(){this.renderChart()}},{key:"componentDidUpdate",value:function(e){e!==this.props&&this.detectChanges(this.props)}},{key:"componentWillUnmount",value:function(){this.chartObj.dispose()}},{key:"detectChanges",value:function(e){var t=this.resolveChartOptions(e),n=this.oldOptions,r=["width","height","type","dataFormat","dataSource","events"];this.checkAndUpdateChartDimensions(t,n),this.checkAndUpdateChartType(t,n),this.checkAndUpdateChartData(t,n),this.checkAndUpdateEvents(t,n),this.checkAndUpdateRestOptions(i.default.filter((function(e){return-1===r.indexOf(e)})),t,n),this.oldOptions=t}},{key:"checkAndUpdateChartDimensions",value:function(e,t){var n=e.width,r=e.height,o=t.width,i=t.height;String(n)===String(o)&&String(r)===String(i)||(a.isUndefined(n)||a.isUndefined(r)?(a.isUndefined(n)||this.chartObj.resizeTo({w:n}),a.isUndefined(r)||this.chartObj.resizeTo({h:r})):this.chartObj.resizeTo(n,r))}},{key:"checkAndUpdateChartType",value:function(e,t){var n=e.type,r=t.type;String(n).toLowerCase()!==String(r).toLowerCase()&&(a.isUndefined(n)||this.chartObj.chartType(String(n).toLowerCase()))}},{key:"checkAndUpdateChartData",value:function(e,t){var n=e.dataFormat,r=e.dataSource,o=t.dataFormat,i=t.dataSource;if(String(n).toLowerCase()!==String(o).toLowerCase()&&!a.isUndefined(n)&&!a.isUndefined(r))return this.chartObj.setChartData(r,String(n).toLowerCase()),void this.chartObj.render();this.isSameChartData(r,i)||a.isUndefined(r)||this.chartObj.setChartData(r,n?String(n).toLowerCase():"json")}},{key:"isSameChartData",value:function(e,t){return!(a.checkIfDataTableExists(e)&&!a.checkIfDataTableExists(t))&&(!(!a.checkIfDataTableExists(e)&&a.checkIfDataTableExists(t))&&((!a.checkIfDataTableExists(e)||!a.checkIfDataTableExists(t)||e.data===t.data)&&JSON.stringify(a.cloneDataSource(t,"diff"))===JSON.stringify(a.cloneDataSource(e,"diff"))))}},{key:"checkAndUpdateEvents",value:function(e,t){var n,r,o=this,i=e.events,s=t.events;this.detectChartEventsChange(i,s)&&(a.isUndefined(i)||(n=Object.assign({},i),r=a.isUndefined(s)?{}:Object.assign({},s),Object.keys(r).forEach((function(e){r[e]===n[e]?n[e]=void 0:o.chartObj.removeEventListener(e,r[e])})),Object.keys(n).forEach((function(e){n[e]&&o.chartObj.addEventListener(e,n[e])}))))}},{key:"detectChartEventsChange",value:function(e,t){return a.isObject(e)&&a.isObject(t)?!this.isSameChartEvents(e,t):!(e===t)}},{key:"isSameChartEvents",value:function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=Object.keys(e),r=0;r<n.length;++r){var o=n[r];if(e[o]!==t[o])return!1}return!0}},{key:"checkAndUpdateRestOptions",value:function(e,t,n){var r=this,o=!1;e.forEach((function(e){var i=t[e],s=n[e];r.isSameOptionValue(i,s)||a.isUndefined(i)||r.chartObj.options&&r.chartObj.options.hasOwnProperty(e)&&(r.chartObj.options[e]=i,o=!0)})),o&&this.chartObj.render()}},{key:"isSameOptionValue",value:function(e,t){return a.isObject(e)&&a.isObject(t)?a.isSameObjectContent(e,t):String(e)===String(t)}},{key:"renderChart",value:function(){var e=this,t=this.resolveChartOptions(this.props),n={};t.renderAt=this.containerId,Object.keys(this.props).forEach((function(t){if(t.match(/^fcEvent-.*/i)&&"function"==typeof e.props[t]){var r=t.replace(/^fcEvent-/i,"");n[r]=e.props[t]}})),Object.keys(n).length>0&&(void 0===t.events?t.events=n:t.events=Object.assign(t.events,n)),this.chartObj=new this.FusionCharts(t),this.chartObj.render(),this.oldOptions=t,this.props.onRender&&"function"==typeof this.props.onRender&&this.props.onRender(this.chartObj)}},{key:"resolveChartOptions",value:function(e){var t=e.chartConfig?e.chartConfig:{},n=i.default.reduce((function(t,n){return t[n]=e[n],t}),{});return Object.assign(n,t),a.isObject(n.dataSource)&&!a.checkIfDataTableExists(n.dataSource)?n.dataSource=a.deepCopyOf(n.dataSource):a.isObject(n.dataSource)&&a.checkIfDataTableExists(n.dataSource)&&(n.dataSource=a.cloneDataSource(n.dataSource,"clone")),a.isObject(n.link)&&(n.link=a.deepCopyOf(n.link)),a.isObject(n.events)&&(n.events=Object.assign({},n.events)),n}},{key:"render",value:function(){return r.default.createElement("div",{className:this.props.className,id:this.containerId})}}]),t}(r.default.Component);t.default=g},function(e,t,n){e.exports=n(4).default},function(e,t,n){"use strict";n.r(t);var r=n(1),o=n.n(r),a=n(0),i=n.n(a),s=n(2),c=n.n(s);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&g(e.prototype,t),n&&g(e,n),e}function b(e,t){return(b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var v=function(e){function t(e){var n,r,o,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),o=this,r=!(a=p(t).call(this,e))||"object"!==u(a)&&"function"!=typeof a?h(o):a;var i=e.btnConfig,s=e.btnStyle;r.finalBtnConfig=Object.assign({},t.defaultProps.btnConfig,i);var c=d(r.finalBtnConfig.placement.split("-"),2);return r.positionV=c[0],r.positionH=c[1],r.state={isBtnVisible:!0,selectedChild:-1,isDrilledDown:!1},r.plotClicked=r.plotClicked.bind(h(r)),r.onChildRendered=r.onChildRendered.bind(h(r)),r.toggleParentBtnVisibility=r.toggleParentBtnVisibility.bind(h(r)),r.onBtnClick=r.onBtnClick.bind(h(r)),r.wrapperStyle={position:"relative",display:"inline-block"},r.defButtonStyle=(f(n={border:"1px solid ".concat(r.finalBtnConfig.borderColor),backgroundColor:"".concat(r.finalBtnConfig.backgroundColor),color:"".concat(r.finalBtnConfig.color),fontFamily:"".concat(r.finalBtnConfig.fontFamily),fontSize:"".concat(r.finalBtnConfig.fontSize),padding:"".concat(r.finalBtnConfig.padding),fontWeight:"".concat(r.finalBtnConfig.fontWeight),position:"absolute"},r.positionH,"".concat(r.finalBtnConfig.margin)),f(n,r.positionV,"".concat(r.finalBtnConfig.margin)),f(n,"cursor","pointer"),n),r.finBtnStyle=void 0===s?r.defButtonStyle:s,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&b(e,t)}(t,e),y(t,null,[{key:"fcRoot",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];c.a.fcRoot.apply(c.a,[e].concat(n))}}]),y(t,[{key:"determinePlotMapType",value:function(e){var t=!1,n=!1;return e.forEach((function(e){null!=e&&("number"==typeof e&&e>-1&&(t=!0),"object"===u(e)&&(n=!0))})),t&&n?"invalid":t?"number":n?"object":"noop"}},{key:"plotClicked",value:function(e){var t=e.data.index,n=(Array.isArray(this.props.children)?this.props.children:[this.props.children]).length,r=this.props.plotChildMap;if(0!==n){var o=this.determinePlotMapType(r);if("number"===o){var a=r[t];if(null==a||a>=n||a<0)return;this.setState({selectedChild:a,isDrilledDown:!0})}if("object"===o)for(var i=0;i<n;i++)if(void 0!==r[i]&&null!==r[i]){var s=r[i],c=s.plotPosition,l=s.childPosition;if(c===t&&null!=l&&l<n&&l>-1)return void this.setState({selectedChild:l,isDrilledDown:!0})}"invalid"===o&&console.log("Invalid heterogeneous data: Please check proptypes for - plotChildMap")}}},{key:"cloneReactFCChild",value:function(e,t){return o.a.cloneElement(e,t)}},{key:"onChildRendered",value:function(){this.props.toggleParentBtnVisibility&&this.props.toggleParentBtnVisibility(!1)}},{key:"toggleParentBtnVisibility",value:function(e){this.setState({isBtnVisible:e})}},{key:"onBtnClick",value:function(){this.setState({isDrilledDown:!1}),this.props.toggleParentBtnVisibility&&this.props.toggleParentBtnVisibility(!0)}},{key:"render",value:function(){var e,t=this.state,n=t.selectedChild,r=t.isBtnVisible,a=this.props,i=a.children,s={width:a.width,height:a.height,onRender:this.onChildRendered,toggleParentBtnVisibility:this.toggleParentBtnVisibility};if(this.state.isDrilledDown){var u=Array.isArray(i)?i:[i];e=o.a.createElement("div",{style:this.wrapperStyle},this.cloneReactFCChild(u[n],s),r?o.a.createElement("button",{style:this.finBtnStyle,onClick:this.onBtnClick},this.finalBtnConfig.text):null)}else e=o.a.createElement(c.a,l({},this.props,{"fcEvent-dataplotClick":this.plotClicked}));return e}}]),t}(o.a.Component);v.defaultProps={plotChildMap:[],btnConfig:{text:"Back",color:"#000000",backgroundColor:"#F6F6F6",borderColor:"#000000",fontSize:"14px",fontWeight:"bold",padding:"3px",fontFamily:"Verdana, sans",placement:"top-right",margin:"10px"},btnStyle:void 0,dataSource:{},dataFormat:"json",type:"",height:"",width:""},v.propTypes={plotChildMap:i.a.oneOfType([i.a.arrayOf(i.a.shape({plotPosition:i.a.number,childPosition:i.a.number})),i.a.arrayOf(i.a.number)]),btnConfig:i.a.shape({text:i.a.string,color:i.a.string,backgroundColor:i.a.string,borderColor:i.a.string,fontSize:i.a.string,fontWeight:i.a.string,padding:i.a.string,fontFamily:i.a.string,placement:i.a.oneOf(["top-left","top-right","bottom-left","bottom-right"]),margin:i.a.string}),btnStyle:i.a.object,dataSource:i.a.object,dataFormat:i.a.string,type:i.a.string,height:i.a.string,width:i.a.string},t.default=v},function(e,t,n){"use strict";var r=n(6);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(8),o=n(9);e.exports=function(e,t,n){var a=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||r)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var s=0;s<16;++s)t[a+s]=i[s];return t||o(i)}},function(e,t){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);e.exports=function(){return n(r),r}}else{var o=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),o[t]=e>>>((3&t)<<3)&255;return o}}},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,o=n;return[o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]]].join("")}},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return null!==e&&"object"===r(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=o,t.isCallable=function(e){return"function"==typeof e},t.isSameObjectContent=function e(t,n){if(Object.keys(t).length!==Object.keys(n).length)return!1;for(var r=Object.keys(t),a=0;a<r.length;a+=1){var i=r[a];if(o(t[i])&&o(n[i])){if(!e(t[i],n[i]))return!1}else if(t[i]!==n[i])return!1}return!0},t.isUndefined=function(e){return void 0===e},t.deepCopyOf=function(e){return JSON.parse(JSON.stringify(e))},t.checkIfDataTableExists=function(e){if(e&&e.data&&e.data._dataStore)return!0;return!1},t.cloneDataSource=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"clone",n=r(e);if("string"===n||"number"===n||"function"===n||"boolean"===n)return e;if(null==e)return e;if(Array.isArray(e)){for(var o=[],a=0;a<e.length;a++)o.push(this.cloneDataSource(e[a]));return o}if("object"===r(e)){var i={};for(var s in e)"data"!==s?i[s]=this.cloneDataSource(e[s]):e[s]._dataStore&&"clone"===t?i[s]=e[s]:e[s]._dataStore&&"diff"===t?i[s]="-":i[s]=this.cloneDataSource(e[s]);return i}return}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=["type","id","width","height","dataFormat","dataSource","events","link","showDataLoadingMessage","showChartLoadingMessage","baseChartMessageFont","baseChartMessageFontSize","baseChartMessageColor","dataLoadStartMessage","dataLoadErrorMessage","dataInvalidMessage","dataEmptyMessage","typeNotSupportedMessage","loadMessage","renderErrorMessage","containerBackgroundColor","containerBackgroundOpacity","containerClassName","baseChartMessageImageHAlign","baseChartMessageImageVAlign","baseChartMessageImageAlpha","baseChartMessageImageScale","typeNotSupportedMessageImageHAalign","typeNotSupportedMessageImageVAlign","typeNotSupportedMessageImageAlpha","typeNotSupportedMessageImageScale","dataLoadErrorMessageImageHAlign","dataLoadErrorMessageImageVAlign","dataLoadErrorMessageImageAlpha","dataLoadErrorMessageImageScale","dataLoadStartMessageImageHAlign","dataLoadStartMessageImageVAlign","dataLoadStartMessageImageAlpha","dataLoadStartMessageImageScale","dataInvalidMessageImageHAlign","dataInvalidMessageImageVAlign","dataInvalidMessageImageAlpha","dataInvalidMessageImageScale","dataEmptyMessageImageHAlign","dataEmptyMessageImageVAlign","dataEmptyMessageImageAlpha","dataEmptyMessageImageScale","renderErrorMessageImageHAlign","renderErrorMessageImageVAlign","renderErrorMessageImageAlpha","renderErrorMessageImageScale","loadMessageImageHAlign","loadMessageImageVAlign","loadMessageImageAlpha","loadMessageImageScale"]}])}));