{"version":3,"sources":["Components/Pageview/Pageviews.module.css","Components/User/Users.module.css","Components/Chartplus/chartPlus.js","Components/Onboarding/SpotCards.js","Components/ErrorHandling/ErrorBoundary.js","Recoil/Atoms/UserDetailsAtom.js","Components/Overview/MostReaderTable.js","Components/Overview/MostPopularContent.js","Components/Overview/MostActiveContributor.js","Functional/Strings.js","Functional/Transfrom.js","API/axiosInstance.js","API/filterApis.js","Recoil/Atoms/FilterAtom.js","Recoil/Atoms/AccountAtom.js","Recoil/Atoms/ViewDataAtom.js","Mock/FakeData.js","Functional/authUtils.js","Components/FilterComponent/FilterView.jsx","Functional/TableSyntax.js","Components/Chartplus/Chartplusbox.js","Functional/Excelsheetconverter.js","API/dataViewApis.js","Components/ApCalls.js","Components/Overview/FullDataView.js","Components/Overview/Overview.jsx","Components/Pageview/PageviewTable.js","Components/Dialogscreen.js","Functional/Download.js","Components/Pageview/PageviewSearch.jsx","Functional/FilterFunctions.js","Components/Pageview/Pageview.jsx","Components/User/UserTable.jsx","Components/User/UserSearch.jsx","Components/User/User.jsx","Components/Onboarding/First.js","Components/Onboarding/Drawer.js","Components/Home.jsx","Components/App/AppContent.jsx","App.jsx","Analytics/datadog.js","index.js","Components/Overview/Overview.module.css","Styles/wrappers.js"],"names":["module","exports","chartPlusFunction","sampledata","divelement","console","log","defaultConfig","themeConfig","chartPlus","charts","DIV","NAMESPACE","DOCUMENT","document","idCounter","d3Max","d3","d3Min","mathAbs","Math","abs","mathMax","max","mathMin","min","mathRound","round","dateFormat","numFormat","accessDOM","ref","type","element","getElementById","getElementsByClassName","isElement","error","composeDOM","parent","tag","attr","createElement","isString","isObject","extend","appendChild","drop","array","item","i","length","splice","code","stop","msg","window","destination","source","n","getWidth","elem","parseFloat","getComputedStyle","getPropertyValue","getHeight","isArray","Object","prototype","toString","call","isDate","date","HTMLElement","nodeType","nodeName","isFunction","fn","isNumber","num","isNaN","obj","str","merge","args","arguments","result","makeCopy","copy","original","value","key","hasOwnProperty","Array","slice","parseDate","format","d","Date","getTime","getTimezoneOffset","numberFormat","number","getContrastYIQ","hexcode","hexcolor","substr","parseInt","getTransformation","transform","g","createElementNS","setAttributeNS","matrix","baseVal","consolidate","a","b","c","translateX","e","translateY","f","setDefaultVal","defaultValue","undefined","getRound","x","pow","Axis","this","init","apply","Series","Indicator","Area","Bar","Brush","Line","Pie","Sunburst","Tooltip","Legend","Title","Hierarchy","drawBars","context","data","hierarchy","bar","append","on","ddInProgress","target","tagName","attributes","class","__data__","eventMeta","dataSet","path","forEach","idx","depth","dataRef","active","drillUp","push","children","drill","events","getDrillDownData","container","dispatchEvent","details","tooltip","show","y","meta","keys","reverse","hide","selectAll","enter","classed","style","text","x0","select","node","getBBox","width","x1","d3ScaleY","range","minHeight","height","config","rectHeight","rectPadding","scaleY","Sparkline","MultiStack","Table","Chart","lang","months","shortMonths","days","shortDays","numericSymbols","sharedConfig","granularity","localTime","fontFamily","fontSize","fontWeight","invert","legend","display","xAxis","line","ticks","grid","yAxis","export","colors","backgroundColor","contrastLightColor","contrastDarkColor","axis","isIE","versionIE","ua","navigator","userAgent","msie","indexOf","trident","edge","substring","rv","info","detectIE","isSafari","test","vendor","isFirefox","toLowerCase","chart","globalConfig","arg","globalTheme","setColors","sparkline","multiStack","table","require","gridColor","lineWidth","tickWidth","title","padding","xAxisConfig","orient","yAxisConfig","topConfig","rotate","bottomConfig","rightConfig","leftConfig","align","yRange","xRange","d3Axis","tickSizeInner","gElem","alignTicks","maxWidth","maxStep","isXAxis","each","xScale","bandwidth","step","word","tspan","words","split","getComputedTextLength","lineNumber","dy","pop","join","destroy","remove","parentNode","removeChild","cssPrefix","render","formatS","nameSpace","tickSizeOuter","yScale","tickFormat","categoryMap","tickValues","filter","percent","replace","vRange","hRange","setCSS","firstRender","event","offset","resize","tickCount","scale","cssString","lineDash","tickDash","createTextNode","series","component","getConstructor","updateChart","isHidden","stack","dirtyData","dirty","index","prepareData","map","redraw","dirtySeries","color","defaultStyle","stroke","band","fill","general","indicator","indicators","setHours","textSize","styles","shapeRendering","area","drawSeries","datum","d3area","colorScale","name","y0","y1","interpolation","interpolate","fillOpacity","startDate","endDate","categories","group","rectWidth","actions","brush","brushScale","d3Area","domain","brushDomain","d3Brush","move","tempData","yMax","innerLegends","extent","updateOnBrush","marker","radius","symbol","strokeWidth","markerCSS","small","hover","cursor","strokeOpacity","highlight","d3Line","curve","j","parentName","colorByPoint","pie","arcs","layout","arc","outerArc","padAngle","sort","setCoordinates","coordinates","transition","duration","OuterRad","innerRad","outerRadius","innerRadius","sunburst","partition","size","PI","root","startAngle","endAngle","descendants","sum","offsetY","dayFormat","weekFormat","monthFormat","getAncestors","current","unshift","forceHide","stay","closeEvent","svg","targetEvent","setUp","reposition","getBoundingClientRect","targetElem","left","top","className","id","Event","legendX","categoryX","html","legendMap","category","flip","action","icon","pageX","pageY","alignbottom","navigation","nav","aligncentre","alignleft","alignright","aligntop","alignHorizontally","translate","row","items","wrap","itemList","legendSpacing","maxRows","maxListHeight","alignVertically","maxX","float","maxTextLength","maxWidthPercent","textSpacing","whiteSpace","verticalConfig","horizontalConfig","floatConfig","content","clippath","getData","innerLegend","legendName","hiddenLegends","iconSize","maxItemWidth","setNavigation","alignment","forExport","navConfig","currentPage","maxPage","showTopPage","showBottomPage","clipHeight","floor","ceil","textAnchor","idCount","addPath","pathArray","direction","d3Layout","nice","components","updateDrillPath","updateBar","drillDown","offsetHeight","pageConfig","pageHeight","totalPage","initContainer","SVGContainer","position","overflow","resizeBar","maxHeight","dataLength","tempHeight","updatePage","scrollBars","displayMatrix","altKey","delay","end","tempX","exit","exitTransition","enterTransition","up","p","down","pathElem","pageElem","tempWidth","drillPath","navHeight","thickness","d3ScaleX","updateLine","resizeLine","sparklineWidth","breakpoint","userConfig","timeline","setDomain","gElemRoot","sparklineSpacing","classStart","classClose","getExportString","body","ExportableChart","XMLSerializer","serializeToString","imageWidth","imageHeight","match","getDataUrl","callback","svgString","imgsrc","btoa","unescape","encodeURIComponent","canvas","getContext","image","Image","onload","clearRect","drawImage","toDataURL","src","rowElem","headData","total","categoryName","updateHead","values","widthArray","addClasses","hidden","opacity","pointerEvents","visibility","cursorPointer","disabled","clearTimeout","timer","WFLine","totalBars","err","setTimeout","download","href","click","setColorScale","setDateDomain","setOrdinalDomain","setGroupProps","setAxisRange","overlay","hasWFChart","wfLineData","resetData","legHeight","paddingInner","paddingOuter","setRectWidth","classOpen","groups","stackIDs","groupIDs","stackNames","setStackData","updateYDomain","count","weeks","ids","k","innerLegendTotals","updateSeries","dataMin","dataMax","yDomain","selection","version","object","renderActiveSpotlight","onclick","Onboarding","_jsx","Spotlight","onClick","dialogPlacement","ErrorBoundary","React","Component","constructor","props","super","state","errorInfo","componentDidCatch","setState","_jsxs","justifyContent","Button","margin","marginLeft","componentStack","UserDetailsAtom","atom","default","MostReaderTable","userDetails","setUserDetails","useRecoilState","rowarray","table_data","_userDetails$id","_userDetails$id2","_userDetails$id3","userHeaderId","cells","alignItems","Avatar","appearance","imageURL","displayName","isSortable","token","marginTop","DynamicTable","head","rows","isLoading","loading","emptyView","MostPopularContent","shouldTruncate","MostActiveContibutor","ID","NAME","CREATOR","DaterangeCode","ContentCode","GroupbyCode","DisplayCode","PAGEVIEWTABLEHEADING","PAGEVIEWJSMTABLEHEADING","USERT","USERTDIALOGPAGE","USERTDIALOGLAST","GroupbyList","DisplayList","ContentList","SourceList","FilterTransform","res","viewPointData","PopularContent","ActiveReaderId","header","val","ActiveReader","ActiveContriId","ActiveContri","pageviewTableId","UserTableId","UserTable","axiosInstance","Axios","create","async","applyViewFilter","viewId","reqBody","JWT","process","post","headers","authorization","initalFilterState","start_date","moment","subtract","startOf","tz","end_date","endOf","display_array","groupby_array","content_array","source_array","display_value","group_by_value","content_value","space_value","source_value","save_flag","FilterAtom","AccountAtom","is_authenticated","ViewDataAtom","tab_index","chart_flag","onboarding","drawer","page_view_table","user_view_table","user_dialog","page_dialog","active_contributores","active_reader","popular_content","timeline_chart","overview_loading","is_dialog_loading","space_setting","spaces_list","fromNow","getIframeBaseUrl","Promise","resolve","_window$AP","AP","getLocation","location","URL","Filterview","filterData","setFilterData","accountData","setAccountData","viewData","setViewData","validateDate","setValidateDate","useState","StartDate","toISOString","EndDate","Contentvalue","Displayvalue","Groupbyvalue","Sourcevalue","Tab_index","General_page_flag","ContentArray","SourceArray","DisplayArray","GroupbyArray","isAuthenticated","Spacevalues","SaveFlag","visiblestyle","sourceVisibleStyle","theme","background","dropdownBackground","loaderColor","setJWT","jwt","prev","decoded","jwtDecode","datadogRum","setGlobalContext","accID","baseUrl","origin","getInitialSettings","response","get","getViewFilter","_response$data$select","_response$data$select2","_response$data$select3","_response$data$select4","_response$data$select5","_response$data$select6","_response$data$select7","_response$data$select8","_response$data$select9","_response$data$select10","selected","_response$data$config","_response$data$config2","useEffect","getToken","confluence","space","_props$firstLoadFlag","firstLoadFlag","_response$data$5$view","_response$data$6$view","reqpayload","transformed","setToken","label","setJsmAgentInstalled","jsmAgentInstalled","applyFilters","optionsconverter","FilterWrapper","flexDirection","flexWrap","alignContent","Select","options","isMulti","onChange","selectedspaces","DatePicker","isInvalid","placeholder","spacing","new_Date","comparedate","changeStartDate","paddingTop","changeEndDate","Dropdown","trigger","alignSelf","boundariesElement","shouldFitContainer","triggerType","DropdownItemGroup","DropdownItem","changeContent","changeSource","changeGroupBy","changeDisplay","filters","saveViewFilter","Chartplusbox","_ref","openDrilldownView","chartInstance","setChart","TimelineChart","GeneralChartSyntax","tmpFormat","tmpReformat","timeFormat","monthReformat","timeParse","weekReformat","tmpXaxis","legends","formatteddata","filteritem","trunc","percentage","containerRef","useRef","childElementCount","innerHTML","containerNode","handleTooltipClose","isactive","addEventListener","removeEventListener","handleDataView","intXValue","parse","xValue","yValue","FullDataviewExcelsheet","widgetName","then","exceljs","workbook","Workbook","Creator","worksheet","addWorksheet","columns","pass","inneritem","addRow","xlsx","writeBuffer","buf","saveAs","Blob","fetchDataView","reqQuery","success","getUserDetails","userId","resp","request","JSON","FullDataView","searchkeyword","setSearchKeyword","tableData","setTableData","users","flag","chartDrillDownDataFetch","user","_resp$_links","_resp$profilePicture","baseURL","_links","base","pathURL","profilePicture","fetchUserDetails","FilteredTablerows","Filterfunction","filterValue","raw_array","regex","RegExp","_item$","TableRowFormatting","heads","rs","theaders","setColor","trows","_Fragment","marginBottom","Textfield","autoFocus","elemAfterInput","clearSearch","lineHeight","trim","CrossCircleIcon","primaryColor","elemBeforeInput","paddingLeft","SearchIcon","TableRowFormattingforDownload","_userDetails$id4","_userDetails$id5","_userDetails$id6","_userDetails$id7","iconBefore","ArrowDownIcon","rowsPerPage","Overview","drillDownData","setDrillDownData","ActiveContributores","isOpen","Modalclose","whole","FilterView","timelinecomponent","tcheader","textTransform","marginRight","morebutton","DropdownMenu","triggerButtonProps","MoreIcon","MediaServicesPdfIcon","Suspense","fallback","Spinner","AnalyzeWidgetWrapper","ModalTransition","Modal","onClose","ModalHeader","CrossIcon","N500","ModalBody","ModalFooter","tables","tablerow1","tablerow2","PageViewTable","page","isFixedSize","Dialogscreen","DialogTableSyntax","createPageDialogSyntax","tablearray","enableTooltip","rel","dialogData","createUserdialogSyntax","colId","paddingBottom","search","searchfunction","raw","headervalue","xlsxarray","properties","date1904","sheet","User","Pages","addRows","dialog_xlsx_array_create","PageviewSearch","ModalState","setModalState","DialogSearchKeyword","setDialogSearchKeyword","setheader","showDataFlag","setShowDataFlag","setDialogData","PageDialog","DialogLoading","jwtBaseUrl","dialogFilterTableValue","PageViewDialogFilterfunction","reduce","acc","_userDetails$obj$val$","as","closeClick","Dialog_actions","FilteredTableValue","PageViewFilterfunction","tabledata","TableSyntaxValue","createPagetableSyntax","buttonClick","reqquery","headerId","Excel","Created","Last_Modified","Last_Viewed","User_Viewed","Total_Viewed","pageview_xlsx_array_create","heading","SectionMessage","SectionMessageAction","Pageview","UsersTable","loadingSpinnerSize","sortKey","sortOrder","onSort","onSetPage","UserSearch","setColId","UserDialog","Dialogsearchstate","UserDialogFilterfunction","filteredTableValue","UserFilterfunction","_userDetails$obj$val$2","_userDetails$obj$val$3","None","TableSyntax","createUserTableSyntax","Name","Updated","Viewed","user_xlsx_array_create","UserViewTable","First","Fragment","alt","DrawerComponent","DrawerFlag","Drawer","onCloseComplete","LightbulbFilledIcon","DocumentFilledIcon","open","PeopleIcon","Home","useSetRecoilState","tabIndex","setTabIndex","tabs","SpotlightTarget","AppContentWrapper","openDrawer","EditorHelpIcon","Tabs","onSelect","_","Settings","lazy","PermissionPage","createHashSource","history","createHistory","AppContent","MainWrapper","LocationProvider","Router","spinnerStyle","App","_window$AP$theming","theming","initializeTheming","fecthTheme","getTheme","useThemeObserver","SpotlightManager","SpotlightTransition","applicationId","clientToken","site","service","sampleRate","trackInteractions","trackResources","trackLongTasks","useCrossSiteSessionCookie","startSessionReplayRecording","ReactDOM","RecoilRoot","styled","div","themed","light","N20","dark","DN10","borderRadius","subtleText","gridSize","math","multiply","SettingWrapper"],"mappings":"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","file":"static/js/main.588408cc.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"whole\":\"Pageviews_whole__3UdSQ\",\"search\":\"Pageviews_search__3BQhh\",\"components\":\"Pageviews_components__1WWii\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"whole\":\"Users_whole__wnGA_\",\"components\":\"Users_components__3_-Gj\",\"search\":\"Users_search__1lXDq\"};","/* ChartPlus version1.0.0 2019-10-03 */\nimport * as d3 from 'd3';\nimport './chartPlus.css';\nconst chartPlusFunction = (sampledata, divelement) => {\n console.log('sampledata', sampledata);\n /**\n * @fileOverview Core variables and global functions in chartPlus.\n */\n\n /**\n * The global chartPlus object\n * @namespace\n * @property {constructor} chartPlus.chart - Constructor to create a chart instance.\n * @property {array} chartPlus.charts - Array which contains chart object of all the current chartPlus instances.\n * @property {function} chartPlus.globalSettings - Function to update the default configurations with custom options and returns the new configuration.\n */\n var chartPlus = {};\n /**\n * Array which contains chart object of all the current chartPlus instances\n * @type {array}\n */\n var charts = [],\n /** @constant */\n DIV = 'div',\n /** @constant */\n PX = 'px',\n /** @constant */\n SVG = 'svg',\n /** @constant */\n NAMESPACE = 'chartPlus-',\n /** @constant */\n FULL = '100%',\n /** @constant */\n TICKSIZE = 30,\n /** @constant */\n LABELSIZE = 16,\n /** @constant */\n LABELPADDING = 7,\n /** @constant */\n FALSE = false,\n /** @type {object} */\n DOCUMENT = document,\n /** @type {object} */\n defaultConfig,\n /** @type {number} */\n idCounter = 0,\n /** @constant */\n maxRectWidth = 25,\n /** @constant */\n minChartWidth = 150,\n /** @constant */\n rectPadding = 2,\n /** @type {function} */\n d3Max = d3.max,\n /** @type {function} */\n d3Min = d3.min,\n /** @type {function} */\n mathAbs = Math.abs,\n /** @type {function} */\n mathMax = Math.max,\n /** @type {function} */\n mathMin = Math.min,\n /** @type {function} */\n mathRound = Math.round,\n /** @type {function} */\n dateFormat = d3.timeFormat('%Y-%m-%d'),\n /** @type {function} */\n numFormat = d3.format('s'),\n /** @constant */\n NaNString = 'n/a',\n /** @type {object} */\n themeConfig;\n\n /* ------------------------------------------------------------ *\n * GLOBAL CONFIGURATIONS\n * ------------------------------------------------------------ */\n /**\n * Default Configuration Object\n * @type {object}\n */\n defaultConfig = {\n // colors: [\"#1f77b4\", \"#766385\", \"#467d69\", \"#51605a\", \"#b79555\", \"#91c3c1\", \"#9d3b1b\", \"#58101a\"],\n lang: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n ],\n shortMonths: [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n ],\n days: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday'\n ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n numericSymbols: ['k', 'M', 'G', 'T', 'P', 'E']\n },\n sharedConfig: {},\n granularity: 'day',\n localTime: false,\n style: {\n fontFamily: 'arial',\n fontSize: '10px',\n fontWeight: '100'\n },\n invert: false,\n type: 'line',\n legend: {\n display: true\n },\n xAxis: {\n display: true,\n line: true,\n ticks: true,\n grid: false\n },\n yAxis: {\n display: true,\n line: true,\n ticks: true,\n grid: true\n },\n tooltip: {},\n export: {\n width: 700,\n height: 400\n }\n };\n /**\n * Theme Configuration Object\n * @type {object}\n */\n themeConfig = {\n colors: [\n '#1f77b4',\n '#766385',\n '#467d69',\n '#51605a',\n '#b79555',\n '#91c3c1',\n '#9d3b1b',\n '#58101a'\n ],\n backgroundColor: '#ffffff',\n text: {\n contrastLightColor: '#ffffff',\n contrastDarkColor: '#707070'\n },\n axis: {\n contrastLightColor: '#ffffff',\n contrastDarkColor: '#e9e9e9'\n },\n tooltip: {\n contrastLightColor: '#ffffff',\n contrastDarkColor: '#151515'\n }\n };\n\n /**\n * This function finds and returns the DOM element using the provided reference\n * @param {string} ref The selector to find the element\n * @param {string} type The selector. id or class\n * @returns {element} The HTML element with the given selector.\n * @throws {Error} It cannot find the element\n */\n function accessDOM(ref, type) {\n var element;\n if (type === 'id') {\n element = DOCUMENT.getElementById(ref);\n }\n if (type === 'class') {\n element = DOCUMENT.getElementsByClassName(ref);\n }\n if (isElement(element)) {\n return element;\n } else {\n error('cant find element', true);\n }\n }\n\n /**\n * Function to create element with attributes\n * @param {Object} parent element\n * @param {Object} tag HTML tag\n * @param {Object} attributes HTML attributes\n */\n function composeDOM(parent, tag, attr) {\n var args = arguments,\n element;\n element = DOCUMENT.createElement(isString(tag) ? tag : DIV);\n // Set attributes\n if (isObject(attr)) {\n extend(element, attr);\n }\n if (isElement(parent)) {\n parent.appendChild(element);\n }\n }\n /**\n * Remove last occurence of an item from an array\n * @param {Array} array Array fom which items should be removed\n * @param {Mixed} item Item which should be removed\n */\n function drop(array, item) {\n var i = array.length;\n while (i--) {\n if (array[i] === item) {\n array.splice(i, 1);\n break;\n }\n }\n }\n /**\n * Provide error messages\n * @param {number} code Error Code\n * @param {boolean} stop Stop flag.\n */\n function error(code, stop) {\n var msg = 'Error - ' + code;\n if (stop) {\n throw msg;\n } else if (window.console) {\n console.log(msg);\n }\n }\n /**\n * Extend method\n * @param {object} destination Destination object\n * @param {object} source Source object\n * @returns {object} Destination object\n */\n function extend(destination, source) {\n var n;\n if (!destination) {\n destination = {};\n }\n for (n in source) {\n destination[n] = source[n];\n }\n return destination;\n }\n\n /**\n * Get width of the given HTML element\n * @param {object} elem HTML element object\n * @returns {number} Returns width\n */\n function getWidth(elem) {\n var size = parseFloat(\n window.getComputedStyle(elem).getPropertyValue('width')\n );\n return size;\n }\n /**\n * Get height of the given HTML element\n * @param {object} elem HTML element object\n * @returns {number} Returns height\n */\n function getHeight(elem) {\n var size = parseFloat(\n window.getComputedStyle(elem).getPropertyValue('height')\n );\n return size;\n }\n /**\n * Function to get time in milliseconds for a given date\n * @param {Object} date Date\n * @returns {number} Time in milliseconds\n */\n function getTime(date) {\n if (isDate(date)) {\n return parseDate(date).getTime();\n } else {\n return 0;\n }\n }\n /**\n * Update the default configurations with custom options and returns the new configuration.\n * @param {object} arg Custom global configuration object\n * @returns {object} Configuration object\n */\n\n function globalConfig(arg) {\n if (!isObject(arg)) return defaultConfig;\n defaultConfig = merge(true, defaultConfig, arg);\n return defaultConfig;\n }\n /**\n * Update the default theme with custom options and returns the new configuration.\n * @param {object} arg Custom global theme object\n * @returns {object} Configuration object\n */\n\n function globalTheme(arg) {\n if (!isObject(arg)) return themeConfig;\n themeConfig = merge(true, themeConfig, arg);\n return themeConfig;\n }\n /**\n * Update the default color array of chartPlus.\n * @param {array} arg Custom colors\n */\n\n function setColors(arg) {\n if (!Array(arg)) return;\n defaultConfig.colors.splice(0, defaultConfig.colors.length);\n defaultConfig.colors.push.apply(defaultConfig.colors, arg);\n }\n /**\n * Check for array\n * @param {array} array array\n * @returns {boolean}\n */\n function isArray(array) {\n return Object.prototype.toString.call(array) === '[object Array]';\n }\n /**\n * Check for Date\n * @param {date} date Date\n * @returns {boolean}\n */\n function isDate(date) {\n return Object.prototype.toString.call(date) === '[object Date]';\n }\n /**\n * Check for DOM Element\n * @param {element} elem DOM Element\n * @returns {boolean}\n */\n function isElement(elem) {\n return typeof HTMLElement === 'object'\n ? elem instanceof HTMLElement //DOM2\n : elem &&\n typeof elem === 'object' &&\n elem !== null &&\n elem.nodeType === 1 &&\n typeof elem.nodeName === 'string';\n }\n /**\n * Check for function\n * @param {function} fn function\n * @returns {boolean}\n */\n function isFunction(fn) {\n return Object.prototype.toString.call(fn) === '[object Function]';\n }\n /**\n * Check for Integer\n * @param {number} n integer\n * @returns {boolean}\n */\n function isInt(n) {\n return isNumber(n) && n % 1 === 0;\n }\n /**\n * Check for DOM Node\n * @param {node} node DOM node\n * @returns {boolean}\n */\n function isNode(node) {\n return typeof Node === 'object'\n ? node instanceof Node\n : node &&\n typeof node === 'object' &&\n typeof node.nodeType === 'number' &&\n typeof node.nodeName === 'string';\n }\n /**\n * Check for number\n * @param {number} num number\n * @returns {boolean}\n */\n function isNumber(num) {\n return (\n !isNaN(num) && Object.prototype.toString.call(num) === '[object Number]'\n );\n }\n /**\n * Check for object\n * @param {object} obj object\n * @returns {boolean}\n */\n function isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n }\n /**\n * Check for string\n * @param {string} str string\n * @returns {boolean}\n */\n function isString(str) {\n return Object.prototype.toString.call(str) === '[object String]';\n }\n /**\n * Check for IE browser\n * @returns {boolean}\n */\n function detectIE() {\n // check if user is using IE browser\n var versionIE;\n var ua = window.navigator.userAgent,\n msie = ua.indexOf('MSIE '), // IE 10 or older\n trident = ua.indexOf('Trident/'), // IE 11\n edge = ua.indexOf('Edge/'); // IE 12\n\n if (msie > 0) {\n versionIE = parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n } else if (trident > 0) {\n var rv = ua.indexOf('rv:');\n versionIE = parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n } else if (edge > 0) {\n versionIE = parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n if (msie > 0 || trident > 0 || edge > 0) {\n console.info('You are using IE version ' + versionIE);\n return true;\n } else {\n // other browser\n return false;\n }\n }\n /**\n * Merge two object and return a third object\n * @function\n */\n function merge() {\n var i,\n args = arguments,\n result = {},\n makeCopy = function(copy, original) {\n var value, key;\n\n // An object is replacing a primitive\n if (typeof copy !== 'object') {\n copy = {};\n }\n\n for (key in original) {\n if (original.hasOwnProperty(key)) {\n value = original[key];\n\n // recursively call makeCopy if value is an object\n if (\n value &&\n typeof value === 'object' &&\n Object.prototype.toString.call(value) !== '[object Array]' &&\n typeof value.nodeType !== 'number'\n ) {\n copy[key] = makeCopy(copy[key] || {}, value);\n\n // Copy keys & values if value is not a object\n } else {\n copy[key] = original[key];\n }\n }\n }\n return copy;\n };\n\n // If first argument is true, copy into the existing object. Used in globalSettings.\n if (args[0] === true) {\n result = args[1];\n args = Array.prototype.slice.call(args, 2);\n }\n\n //copy each arguments to the result\n for (i = 0; i < args.length; i++) {\n result = makeCopy(result, args[i]);\n }\n\n return result;\n }\n\n /**\n * parse the string to a date.\n * @param {string} date Date string\n * @returns {date} Parsed date\n */\n function parseDate(date, format) {\n var d = new Date(date);\n return new Date(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n //return dateFormat.parse(date); // Issue in Atlassian Env.\n }\n /**\n * parse the number to a format.\n * @param {number} number Number\n * @returns {number} Formated number\n */\n\n function numberFormat(number) {\n if (!isNumber(number)) {\n return NaNString;\n } else {\n if (number < 1000) {\n return number;\n } else {\n return numFormat(number);\n }\n }\n }\n\n /**\n * Create array of numbers form start to end\n * @param {number} start starting number\n * @param {number} end ending number\n * @returns {array}\n */\n function range(start, end) {\n var list = [],\n i;\n if (start <= end) {\n for (i = start; i <= end; i++) {\n list.push(i);\n }\n } else {\n for (i = start; i >= end; i--) {\n list.push(i);\n }\n }\n return list;\n }\n\n /**\n * Clip string and add ellipsis to SVG text of it overflows maxWidth\n * @param {number} maxWidth maximum width for SVG text\n */\n function wrap(maxWidth, maxStep) {\n return function() {\n var text = d3.select(this),\n words = text\n .text()\n .split(/\\s+/)\n .reverse(),\n word,\n tspan,\n textLength = text.node().getComputedTextLength(),\n step = maxStep,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1, // ems\n y = text.attr('y'),\n dy = parseFloat(text.attr('dy'));\n\n if (mathAbs(maxStep - maxWidth) < 5) {\n text.text(''); // Do away with text if there is not enough space\n } else {\n // wrap the text to fit.\n\n tspan = text\n .text(null)\n .append('tspan')\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', dy + 'em');\n\n /* jshint -W084 */\n while ((word = words.pop())) {\n line.push(word);\n tspan.text(line.join(' '));\n if (tspan.node().getComputedTextLength() > maxWidth - 5) {\n line.pop();\n tspan.text(line.join(' '));\n line = [word];\n tspan = text\n .append('tspan')\n .attr('x', 0)\n .attr('y', y)\n .attr('dy', ++lineNumber * lineHeight + dy + 'em')\n .text(word);\n }\n }\n }\n };\n }\n /**\n * Hide SVG text of it overflows maxWidth\n * @param {number} maxWidth maximum width for SVG text\n */\n function hide(maxWidth) {\n return function() {\n var self = d3.select(this),\n textLength = self.node().getComputedTextLength(),\n text = self.text();\n if (textLength > maxWidth) {\n self.text('');\n } else {\n self.text(text);\n }\n };\n }\n\n /**\n * Function to fing whether the contrast color is black or white\n * @param {string} color in hexcode\n * @returns {string} contrast color value\n */\n function getContrastYIQ(hexcode) {\n var hexcolor = hexcode.substr(1, hexcode.length - 1);\n var r = parseInt(hexcolor.substr(0, 2), 16);\n var g = parseInt(hexcolor.substr(2, 2), 16);\n var b = parseInt(hexcolor.substr(4, 2), 16);\n var yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? 'dark' : 'light';\n }\n\n /**\n * Function to get Transformations object (d3.transform missing in v4)\n * @param {string} transform string\n * @returns {object} properties for all transformation definitions\n */\n function getTransformation(transform) {\n if (!!transform) {\n // Create a dummy g for calculation purposes only. This will never\n // be appended to the DOM and will be discarded once this function\n // returns.\n\n var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\n\n // Set the transform attribute to the provided string value.\n g.setAttributeNS(null, 'transform', transform);\n\n // consolidate the SVGTransformList containing all transformations\n // to a single SVGTransform of type SVG_TRANSFORM_MATRIX and get\n // its SVGMatrix.\n var matrix = g.transform.baseVal.consolidate().matrix;\n\n // Below calculations are taken and adapted from the private function\n // transform/decompose.js of D3's module d3-interpolate.\n //var {a, b, c, d, e, f} = matrix; // ES6, if this doesn't work, use below assignment\n var a = matrix.a,\n b = matrix.b,\n c = matrix.c,\n d = matrix.d,\n e = matrix.e,\n f = matrix.f; // ES5\n // var scaleX, scaleY, skewX;\n // if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n // if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n // if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n // if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f\n // rotate: Math.atan2(b, a) * 180 / Math.PI,\n // skewX: Math.atan(skewX) * 180 / Math.PI,\n // scaleX: scaleX,\n // scaleY: scaleY\n };\n } else {\n return {\n translateX: 0,\n translateY: 0\n };\n }\n }\n\n /**\n * Function to set default value if undefined\n * @param {object, default value} input with default specified\n * @returns {object} object\n */\n function setDefaultVal(value, defaultValue) {\n return value === undefined ? defaultValue : value;\n }\n\n function getRound(x, n) {\n return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n }\n\n chartPlus.isIE = detectIE();\n chartPlus.isSafari =\n /Safari/.test(navigator.userAgent) &&\n /Apple Computer/.test(navigator.vendor);\n chartPlus.isFirefox =\n navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n // Exposing global variables\n\n extend(chartPlus, {\n chart: Chart,\n charts: charts,\n globalConfig: globalConfig,\n globalTheme: globalTheme,\n setColors: setColors,\n hierarchy: Hierarchy,\n sparkline: Sparkline,\n multiStack: MultiStack,\n table: Table\n });\n\n // Node/CommonJS - require D3\n if (\n typeof module !== 'undefined' &&\n typeof exports !== 'undefined' &&\n typeof d3 == 'undefined'\n ) {\n d3 = require('d3');\n }\n\n // Node/CommonJS exports\n if (typeof module !== 'undefined' && typeof exports !== 'undefined') {\n module.exports = chartPlus;\n }\n // The chartPlus namespace\n if (typeof window !== 'undefined') {\n window.chartPlus = chartPlus;\n }\n\n // (function() {\n // function IEevent(event, params) {\n // params = params || { bubbles: false, cancelable: false, detail: undefined };\n // var evt = document.createEvent('CustomEvent');\n // evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n // return evt;\n // }\n\n // CustomEvent.prototype = window.Event.prototype;\n\n // window.IEevent = IEevent;\n // })();\n /**\n * A Constructor for creating, updating and removing X and Y axes.\n * @constructor\n */\n function Axis() {\n this.init.apply(this, arguments);\n }\n Axis.prototype = {\n /**\n * The default configuration for both X and Y axes.\n * @type {object}\n */\n defaultConfig: {\n // color: defaultConfig.style.color || '#707070',\n gridColor: '#e9e9e9',\n lineWidth: '1px',\n tickWidth: '1px',\n title: {\n padding: 3,\n style: {\n 'text-anchor': 'middle',\n fontSize: '11px'\n }\n }\n },\n /**\n * Special default configurations for X axis.\n * @type {object}\n */\n xAxisConfig: {\n orient: 'bottom'\n },\n /**\n * Special default configurations for Y axis.\n * @type {object}\n */\n yAxisConfig: {\n orient: 'left',\n style: {\n // 'dominant-baseline': 'hanging'\n }\n },\n /**\n * Special default configurations if axis is aligned to top.\n * @type {object}\n */\n topConfig: {\n orient: 'top',\n title: {\n rotate: 0\n }\n },\n /**\n * Special default configurations if axis is aligned to bottom.\n * @type {object}\n */\n bottomConfig: {\n orient: 'bottom',\n title: {\n rotate: 0\n }\n },\n /**\n * Special default configurations if axis is aligned to right.\n * @type {object}\n */\n rightConfig: {\n orient: 'right',\n title: {\n rotate: 90\n }\n },\n /**\n * Special default configurations if axis is aligned to left.\n * @type {object}\n */\n leftConfig: {\n orient: 'left',\n title: {\n rotate: 270\n }\n },\n /**\n * Function to align axis to top or bottom or left or right\n */\n align: function() {\n var axis = this,\n x,\n y;\n if (axis.config.orient === 'top') {\n x = 0;\n y = d3Min(axis.chart.yRange);\n axis.path.attr('transform', 'translate(' + x + ',' + y + ')');\n } else if (axis.config.orient === 'bottom') {\n x = d3Min(axis.chart.xRange) + axis.path.node().getBBox().width / 2;\n y =\n d3Max(axis.chart.yRange) +\n axis.path.node().getBBox().height +\n axis.title.node().getBBox().height;\n if (axis.config.grid === true) {\n y = y - d3Max(axis.chart.yRange);\n }\n axis.title.attr('transform', 'translate(' + x + ',' + y + ')');\n x = 0;\n y = d3Max(axis.chart.yRange);\n axis.path.attr('transform', 'translate(' + x + ',' + y + ')');\n } else if (axis.config.orient === 'left') {\n x = axis.title.node().getBBox().width;\n y = d3Min(axis.chart.yRange) + axis.path.node().getBBox().height / 2;\n axis.title.attr('transform', 'translate(' + x + ',' + y + ')');\n x =\n axis.title.node().getBBox().width +\n axis.path.node().getBBox().width +\n (axis.title.node().getBBox().width > 0\n ? axis.config.title.padding\n : 0);\n if (axis.config.grid === true) {\n x = x + axis.d3Axis.tickSizeInner();\n }\n y = 0;\n axis.path.attr('transform', 'translate(' + x + ',' + y + ')');\n } else if (axis.config.orient === 'right') {\n x =\n mathAbs(axis.chart.xRange[0] - axis.chart.xRange[1]) -\n axis.path.node().getBBox().width;\n y = 0;\n axis.path.attr('transform', 'translate(' + x + ',' + y + ')');\n }\n axis.gElem.attr(\n 'transform',\n 'translate(' + (axis.config.x || 0) + ',' + (axis.config.y || 0) + ')'\n );\n },\n /**\n * Function to align ticks for ordinal scale axis\n */\n alignTicks: function() {\n var axis = this;\n if (!!axis.config.isXAxis) {\n // axis.path.selectAll('.tick').attr(\"transform\", function(d, i) {\n // return \"translate(\" + (axis.chart.xScale.bandwidth() + axis.chart.xScale.range()[i]) + \",\" + (0) + \")\";\n // });\n axis.path\n .selectAll('text')\n // .attr('x', -axis.chart.xScale.bandwidth() / 2)\n // // .each(hide(axis.chart.xScale.bandwidth()));\n .each(wrap(axis.chart.xScale.bandwidth(), axis.chart.xScale.step()));\n // .style(\"text-anchor\", \"end\")\n // .attr(\"dx\", \"-.8em\")\n // .attr(\"dy\", \".15em\")\n // .attr(\"transform\", \"rotate(-65)\");\n } else {\n axis.path.selectAll('text').attr('dy', '0.8em');\n axis.path.select('text').text('');\n }\n },\n /**\n * Function to destroy axis\n */\n destroy: function() {\n var axis = this,\n chart = axis.chart,\n key;\n\n if (axis.config.isXAxis === true) {\n delete chart.xAxis;\n } else {\n delete chart.yAxis;\n }\n\n axis.title.selectAll('*').remove();\n axis.title.node().parentNode.removeChild(axis.title.node());\n axis.path.selectAll('*').remove();\n axis.path.node().parentNode.removeChild(axis.path.node());\n axis.gElem.selectAll('*').remove();\n axis.gElem.node().parentNode.removeChild(axis.gElem.node());\n\n for (key in axis) {\n delete axis[key];\n }\n },\n /**\n * Function to hide axis\n */\n hide: function(config) {\n var axis = this;\n axis.path.selectAll('*').classed(axis.chart.cssPrefix + 'hidden', true);\n axis.title.selectAll('*').classed(axis.chart.cssPrefix + 'hidden', true);\n },\n /**\n * Function to initialise d3 and associated functions required for axis\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {boolean} render Flag whether to do rendering after initialisation\n */\n init: function(chart, config, render) {\n var axis = this;\n axis.chart = chart;\n var formatS = d3.format('.3s');\n axis.nameSpace = config.isXAxis ? 'xAxis' : 'yAxis';\n axis.config = merge(\n axis.defaultConfig,\n axis[(config.isXAxis ? 'xAxis' : 'yAxis') + 'Config'],\n config\n );\n if (!!config.isXAxis) {\n axis.config.orient =\n config.orient || (!!chart.config.invert ? 'left' : 'bottom');\n\n axis.d3Axis = d3\n .axisBottom(axis.chart.xScale)\n .ticks(5)\n .tickSizeOuter(0);\n } else {\n axis.config.orient =\n config.orient || (!!chart.config.invert ? 'top' : 'left');\n\n axis.d3Axis = d3.axisLeft(axis.chart.yScale).ticks(5);\n }\n axis.config = merge(axis.config, axis[axis.config.orient + 'Config']);\n /* ----------------------------------- Title\n if (axis.config.type === 'date') {\n axis.config.title.text = 'Date';\n }\n ----------------------------------- */\n\n if (axis.config.ticks === true && axis.config.isXAxis === true) {\n if (axis.config.type === 'date') {\n if (axis.chart.config.granularity === 'month') {\n axis.d3Axis.tickFormat(d3.timeFormat('%b %Y'));\n } else if (axis.chart.config.granularity === 'week') {\n axis.d3Axis.tickFormat(d3.timeFormat('Week %V'));\n } else {\n // D3 automatically handles tick formatting for timeline\n }\n } else if (!!axis.chart.config.categoryMap) {\n axis.d3Axis.tickFormat(function(d) {\n return axis.chart.config.categoryMap[d];\n });\n }\n } else if (axis.config.ticks === true) {\n axis.d3Axis.tickValues(\n axis.chart.yScale.ticks().filter(function(d, i) {\n return i % 2 === 0 && d % 1 === 0;\n })\n );\n if (axis.chart.config.percent === true) {\n axis.d3Axis.tickFormat(function(d) {\n return d + '%';\n });\n } else {\n axis.d3Axis.tickFormat(function(d) {\n return formatS(d).replace(/\\.0+$/, '');\n });\n }\n } else {\n axis.d3Axis.tickFormat('').tickSizeInner(0);\n }\n\n if (axis.config.grid === true) {\n axis.d3Axis.tickSizeInner(\n axis.config.isXAxis\n ? -Math.abs(axis.chart.vRange[0] - axis.chart.vRange[1])\n : -Math.abs(axis.chart.hRange[0] - axis.chart.hRange[1])\n );\n }\n\n axis.setCSS();\n if (render !== false) {\n axis.render();\n }\n },\n /**\n * Function to remove axis\n */\n remove: function() {\n var axis = this;\n axis.destroy();\n },\n /**\n * Function to render axis to the HTML\n */\n render: function() {\n var axis = this;\n axis.firstRender = false;\n axis.gElem = axis.chart.gElem\n .append('g')\n .attr('class', 'axis ' + axis.chart.cssPrefix + axis.nameSpace);\n\n axis.path = axis.gElem.append('g').call(this.d3Axis);\n\n axis.path\n .selectAll('path')\n .classed(axis.chart.cssPrefix + axis.nameSpace + '-line', true);\n axis.path\n .selectAll('line')\n .classed(axis.chart.cssPrefix + axis.nameSpace + '-tickLine', true);\n\n axis.title = axis.gElem\n .append('g')\n .attr('class', axis.chart.cssPrefix + axis.nameSpace + '-title');\n\n axis.title\n .append('text')\n .attr('transform', 'rotate(' + axis.config.title.rotate + ')')\n .text(axis.config.title.text || '');\n\n if (axis.config.type !== 'date') {\n axis.alignTicks();\n }\n axis.align();\n\n axis.path\n .on('mouseover', function() {\n if (\n d3.event.target.tagName == 'text' &&\n d3\n .select(this)\n .text()\n .indexOf('...') > -1\n ) {\n axis.chart.tooltip.show(d3.event.target.__data__);\n }\n })\n .on('mouseout', function(event) {\n axis.chart.tooltip.hide();\n });\n\n if (axis.config.isXAxis === true) {\n axis.offset =\n axis.path.node().getBBox().width -\n axis.path\n .select('path')\n .node()\n .getBBox().width;\n } else {\n axis.offset =\n axis.path.node().getBBox().height -\n axis.path\n .select('path')\n .node()\n .getBBox().height;\n }\n },\n /**\n * Function to resize axis\n */\n resize: function() {\n var axis = this,\n tickCount;\n axis.d3Axis.scale(\n axis.config.isXAxis ? axis.chart.xScale : axis.chart.yScale\n );\n\n if (axis.config.grid === true) {\n axis.d3Axis.tickSizeInner(\n axis.config.isXAxis\n ? -Math.abs(axis.chart.vRange[0] - axis.chart.vRange[1])\n : -Math.abs(axis.chart.hRange[0] - axis.chart.hRange[1])\n );\n }\n\n if (!axis.config.isXAxis) {\n axis.d3Axis.tickValues(\n axis.chart.yScale.ticks().filter(function(d, i) {\n return i % 2 === 0 && d % 1 === 0;\n })\n );\n } else if (\n axis.config.type === 'date' &&\n axis.chart.config.granularity === 'day'\n ) {\n tickCount = mathRound(\n mathAbs(axis.chart.xRange[0] - axis.chart.xRange[1]) / 100\n );\n tickCount = tickCount < 5 ? tickCount : 4;\n axis.d3Axis.ticks(tickCount % 2 === 0 ? tickCount : tickCount - 1);\n }\n axis.path.call(axis.d3Axis);\n axis.path\n .selectAll('path')\n .classed(axis.chart.cssPrefix + axis.nameSpace + '-line', true);\n axis.path\n .selectAll('line')\n .classed(axis.chart.cssPrefix + axis.nameSpace + '-tickLine', true);\n\n if (axis.config.type !== 'date') {\n axis.alignTicks();\n }\n axis.align();\n\n if (axis.config.isXAxis === true) {\n axis.offset =\n axis.path.node().getBBox().width -\n axis.path\n .select('path')\n .node()\n .getBBox().width;\n } else {\n axis.offset =\n axis.path.node().getBBox().height -\n axis.path\n .select('path')\n .node()\n .getBBox().height;\n }\n },\n /**\n * Function to create and append css classes to style tag for the axis\n */\n setCSS: function() {\n var axis = this;\n var cssString = '',\n i;\n cssString =\n cssString + ' .' + axis.chart.cssPrefix + axis.nameSpace + ' {';\n for (i in axis.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n axis.config.style[i] +\n ';';\n }\n cssString = cssString + '}';\n\n // axis styles\n cssString =\n cssString + ' .' + axis.chart.cssPrefix + axis.nameSpace + '-line {';\n if (!axis.config.line) {\n cssString = cssString + 'stroke:none;';\n }\n cssString = cssString + 'fill:none;shape-rendering: crispEdges;';\n\n if (axis.config.lineDash) {\n cssString =\n cssString + 'stroke-dasharray:' + axis.config.lineDash + ';';\n }\n if (axis.config.lineWidth) {\n cssString = cssString + 'stroke-width:' + axis.config.lineWidth + ';';\n }\n cssString = cssString + '}';\n\n // tick line styles\n cssString =\n cssString +\n ' .' +\n axis.chart.cssPrefix +\n axis.nameSpace +\n '-tickLine {';\n\n cssString = cssString + 'fill:none;shape-rendering: crispEdges;';\n\n if (axis.config.tickDash) {\n cssString =\n cssString + 'stroke-dasharray:' + axis.config.tickDash + ';';\n }\n if (axis.config.tickWidth) {\n cssString = cssString + 'stroke-width:' + axis.config.tickWidth + ';';\n }\n cssString = cssString + '}';\n\n // axis title styles\n cssString =\n cssString + ' .' + axis.chart.cssPrefix + axis.nameSpace + '-title {';\n\n for (i in axis.config.title.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n axis.config.title.style[i] +\n ';';\n }\n\n cssString = cssString + '}';\n\n axis.chart.style.node().appendChild(document.createTextNode(cssString));\n },\n /**\n * Function to show axis\n */\n show: function() {\n var axis = this;\n axis.path.selectAll('*').classed(axis.chart.cssPrefix + 'hidden', false);\n axis.title.selectAll('*').classed(axis.chart.cssPrefix + 'hidden', false);\n }\n };\n /**\n * A Constructor for instantiating constructors required for each series based on type.\n * @constructor\n */\n function Series() {\n this.init.apply(this, arguments);\n }\n Series.prototype = {\n /**\n * Function to destroy series\n */\n destroy: function() {\n var series = this,\n chart = series.chart,\n key;\n\n if (isObject(series.component)) {\n series.component.remove();\n }\n\n drop(chart.series, series);\n drop(chart.config.series, series.config);\n\n for (key in series) {\n delete series[key];\n }\n },\n /**\n * Function to get the required constructors based in chart type pie\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n */\n getConstructor: function(type, config) {\n //chart.series[idx] = chart.getConstructor(series.type || chart.chartConfig.type, extend(series, { index: idx }), chart);\n var series = this;\n switch (type) {\n case 'area':\n return new Area(series.chart, config, series);\n case 'line':\n return new Line(series.chart, config, series);\n // break;\n case 'bar':\n return new Bar(series.chart, config, series);\n case 'waterfall':\n return new Bar(series.chart, config, series);\n // break;\n case 'pie':\n return new Pie(series.chart, config, series);\n // break;\n case 'sunburst':\n return new Sunburst(series.chart, config, series);\n // break;\n default:\n return new Line(series.chart, config, series);\n }\n },\n /**\n * Function to hide the series\n */\n hide: function(updateChart) {\n var series = this;\n if (isObject(series.chart.tooltip)) {\n series.chart.tooltip.hide(true);\n }\n series.config.isHidden = true;\n if (isObject(series.component)) {\n series.component.hide();\n }\n if (isObject(series.component) && updateChart !== false) {\n if (\n !!series.config.stack ||\n !!series.chart.config.stack ||\n series.config.type === 'bar'\n ) {\n series.chart.dirtyData = true;\n }\n series.chart.yAxis.dirty = true;\n series.chart.updateChart();\n }\n },\n /**\n * Function to initialise constructors and prepare data required for series\n */\n init: function(chart, config) {\n var series = this;\n series.chart = chart;\n series.config = config;\n series.index = config.index;\n if (\n (isArray(config.data) && config.data.length > 0) ||\n isObject(config.data)\n ) {\n series.prepareData(config.data);\n series.setCSS();\n series.render();\n if (!!series.config.isHidden) {\n series.component.hide();\n }\n }\n },\n /**\n * Function to parse date for timeseries and set the data\n */\n prepareData: function(data) {\n var series = this;\n\n if (isArray(series.data)) {\n series.data.splice(0, series.data.length);\n } else {\n series.data = [];\n }\n if (isObject(data)) {\n series.data = merge({}, data);\n } else if (isArray(data) && data.length > 0) {\n if (\n series.chart.config.xAxis &&\n series.chart.config.xAxis.type === 'date'\n ) {\n if (isObject(data[0])) {\n series.data = data.map(function(d) {\n return { x: parseDate(d.x), y: d.y, dy: d.dy || 0 };\n });\n } else {\n error(\n 'Timeline data with y values alone is not supported right now',\n true\n );\n }\n } else {\n // ordinal data should be provided in {x:,y:} format\n if (!isObject(data[0])) {\n error('ordinal data should be provided in {x:,y:} format', true);\n }\n series.data.push.apply(series.data, data);\n }\n }\n },\n /**\n * Function to redraw series\n */\n redraw: function() {\n var series = this;\n if (isObject(series.component)) {\n series.component.redraw();\n }\n },\n /**\n * Function to remove series\n */\n remove: function(updateChart) {\n var series = this,\n chart = series.chart;\n\n chart.dirtySeries = true;\n series.destroy();\n\n if (updateChart === true) {\n chart.updateChart();\n }\n },\n /**\n * Function to render series to HTML\n */\n render: function() {\n var series = this;\n if (\n isObject(series.config.data) ||\n (isArray(series.config.data) && series.config.data.length > 0)\n ) {\n series.component = series.getConstructor(\n series.config.type,\n series.config\n );\n }\n },\n /**\n * Function to resize series\n */\n resize: function() {\n var series = this;\n if (isObject(series.component)) {\n series.component.resize();\n }\n },\n /**\n * Function to create and append css classes to style tag for the series\n */\n setCSS: function() {\n var series = this;\n var cssString = '';\n\n if (series.config.color) {\n cssString =\n cssString +\n ' .' +\n series.chart.cssPrefix +\n 's' +\n series.index +\n '{stroke:' +\n series.config.color +\n '}' +\n ' .' +\n series.chart.cssPrefix +\n 'f' +\n series.index +\n '{fill:' +\n series.config.color +\n '}';\n }\n series.chart.style.node().appendChild(document.createTextNode(cssString));\n },\n /**\n * Function to show series\n */\n show: function(updateChart) {\n var series = this;\n if (isObject(series.chart.tooltip)) {\n series.chart.tooltip.hide(true);\n }\n series.config.isHidden = false;\n if (isObject(series.component)) {\n series.component.show();\n }\n if (isObject(series.component) && updateChart !== false) {\n if (\n !!series.config.stack ||\n !!series.chart.config.stack ||\n series.config.type === 'bar'\n ) {\n series.chart.dirtyData = true;\n }\n series.chart.yAxis.dirty = true;\n series.chart.updateChart();\n }\n }\n };\n\n /**\n * A Constructor for instantiating constructors required for each indicator based on type.\n * @constructor\n */\n function Indicator() {\n this.init.apply(this, arguments);\n }\n Indicator.prototype = {\n defaultStyle: {\n line: {\n stroke: '#cccccc',\n 'stroke-width': 2\n },\n band: {\n stroke: 'none',\n fill: '#cccccc'\n },\n general: {\n padding: 3\n }\n },\n /**\n * Function to destroy indicator\n */\n destroy: function() {\n var indicator = this,\n chart = indicator.chart,\n key;\n drop(chart.indicators, indicator);\n if (indicator.config.type === 'line') {\n indicator.component.remove();\n } else {\n indicator.gElem.selectAll('*').remove();\n indicator.gElem.node().parentNode.removeChild(indicator.gElem.node());\n }\n for (key in indicator) {\n delete indicator[key];\n }\n },\n /**\n * Function to initialise constructors and prepare data required for indicators\n */\n init: function(chart, config) {\n var indicator = this;\n\n indicator.chart = chart;\n indicator.config = config;\n\n if (\n indicator.config.type === 'xBand' ||\n indicator.config.type === 'yBand'\n ) {\n indicator.config.style = merge(\n indicator.defaultStyle.band,\n config.style\n );\n } else if (\n indicator.config.type === 'xLine' ||\n indicator.config.type === 'yLine' ||\n indicator.config.type === 'line'\n ) {\n indicator.config.style = merge(\n indicator.defaultStyle.line,\n config.style\n );\n if (indicator.config.type === 'line' && !indicator.config.color) {\n indicator.config.color = '#cccccc';\n }\n }\n\n indicator.index = config.index;\n\n indicator.setCSS();\n indicator.prepareData();\n indicator.render();\n },\n prepareData: function() {\n var indicator = this,\n value = 0;\n\n if (isArray(indicator.data) && indicator.config.type !== 'line') {\n indicator.data.splice(0, indicator.data.length);\n } else if (!isArray(indicator.data)) {\n indicator.data = [];\n }\n\n // .attr(\"d\", function(d) { return \"M\" + d.join(\"L\") + \"Z\"; });\n if (indicator.config.type === 'yLine') {\n // set the start and end coordinates' absolute value\n value = indicator.chart.yScale(indicator.config.data[0]);\n if (indicator.chart.config.invert !== true) {\n indicator.data.push([d3Min(indicator.chart.xRange), value]);\n indicator.data.push([d3Max(indicator.chart.xRange), value]);\n } else {\n indicator.data.push([value, d3Min(indicator.chart.xRange)]);\n indicator.data.push([value, d3Min(indicator.chart.xRange)]);\n }\n } else if (indicator.config.type === 'xLine') {\n // set the start and end coordinates' absolute value\n value = indicator.chart.xScale(parseDate(indicator.config.data[0]));\n if (indicator.chart.config.invert !== true) {\n indicator.data.push([value, d3Min(indicator.chart.yRange)]);\n indicator.data.push([value, d3Max(indicator.chart.yRange)]);\n } else {\n indicator.data.push([d3Min(indicator.chart.yRange), value]);\n indicator.data.push([d3Max(indicator.chart.yRange), value]);\n }\n } else if (indicator.config.type === 'yBand') {\n // set the absolute value of the 4 coordinates\n if (indicator.chart.config.invert !== true) {\n value = indicator.chart.yScale(indicator.config.data[0]);\n indicator.data.push([d3Min(indicator.chart.xRange), value]);\n indicator.data.push([d3Max(indicator.chart.xRange), value]);\n\n value = indicator.chart.yScale(indicator.config.data[1]);\n indicator.data.push([d3Max(indicator.chart.xRange), value]);\n indicator.data.push([d3Min(indicator.chart.xRange), value]);\n } else {\n value = indicator.chart.yScale(indicator.config.data[0]);\n indicator.data.push([value, d3Min(indicator.chart.xRange)]);\n indicator.data.push([value, d3Max(indicator.chart.xRange)]);\n\n value = indicator.chart.yScale(indicator.config.data[1]);\n indicator.data.push([value, d3Max(indicator.chart.xRange)]);\n indicator.data.push([value, d3Min(indicator.chart.xRange)]);\n }\n } else if (indicator.config.type === 'xBand') {\n // set the absolute value of the 4 coordinates\n if (indicator.chart.config.invert !== true) {\n value = indicator.chart.xScale(\n parseDate(indicator.config.data[0]).setHours(0, 0, 0, 0)\n );\n indicator.data.push([value, d3Min(indicator.chart.yRange)]);\n indicator.data.push([value, d3Max(indicator.chart.yRange)]);\n\n value = indicator.chart.xScale(\n parseDate(indicator.config.data[1]).setHours(23, 59, 59, 999)\n );\n indicator.data.push([value, d3Max(indicator.chart.yRange)]);\n indicator.data.push([value, d3Min(indicator.chart.yRange)]);\n } else {\n value = indicator.chart.xScale(\n parseDate(indicator.config.data[0]).setHours(0, 0, 0, 0)\n );\n indicator.data.push([d3Min(indicator.chart.yRange), value]);\n indicator.data.push([d3Max(indicator.chart.yRange), value]);\n\n value = indicator.chart.xScale(\n parseDate(indicator.config.data[1]).setHours(23, 59, 59, 999)\n );\n indicator.data.push([d3Max(indicator.chart.yRange), value]);\n indicator.data.push([d3Min(indicator.chart.yRange), value]);\n }\n } else if (\n indicator.config.type === 'line' &&\n indicator.data.length === 0\n ) {\n if (\n indicator.chart.config.xAxis &&\n indicator.chart.config.xAxis.type === 'date'\n ) {\n indicator.data = indicator.config.data.map(function(d) {\n return { x: parseDate(d.x), y: d.y, dy: d.dy || 0 };\n });\n } else {\n error(\n 'Timeline data with y values alone is not supported right now',\n true\n );\n }\n }\n },\n /**\n * Function to remove indicator\n */\n remove: function() {\n var indicator = this;\n indicator.destroy();\n },\n /**\n * Function to render indicator\n */\n render: function() {\n var indicator = this,\n textSize;\n if (indicator.config.type === 'line') {\n indicator.component = new Line(\n indicator.chart,\n merge(indicator.config, { indicator: true }),\n indicator\n );\n } else {\n indicator.gElem = indicator.chart.gElem\n .append('g')\n .attr(\n 'class',\n indicator.chart.cssPrefix + 'indicator-' + indicator.index\n );\n\n indicator.gElem.classed(indicator.chart.cssPrefix + 'clipChart', true);\n\n indicator.gElem.append('path').attr('d', function(d) {\n return 'M' + indicator.data.join('L') + 'Z';\n });\n }\n\n if (\n indicator.config.type === 'xLine' ||\n indicator.config.type === 'yLine'\n ) {\n indicator.gElem\n .append('text')\n .text(\n dateFormat(new Date()) === indicator.config.data[0]\n ? 'Today'\n : indicator.config.data[0]\n );\n\n textSize = indicator.gElem\n .select('text')\n .node()\n .getBBox();\n\n if (indicator.config.type === 'xLine') {\n indicator.gElem\n .select('text')\n .styles({ 'text-anchor': 'end', stroke: 'none' })\n .attr('transform', 'rotate(-90)')\n .attr('x', d3Min(indicator.chart.yRange));\n\n if (\n indicator.chart.xScale(parseDate(indicator.config.data[0])) -\n textSize.height -\n indicator.defaultStyle.general.padding <\n d3Min(indicator.chart.xRange)\n ) {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.xScale(parseDate(indicator.config.data[0])) +\n textSize.height +\n indicator.defaultStyle.general.padding\n );\n } else {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.xScale(parseDate(indicator.config.data[0])) -\n indicator.defaultStyle.general.padding\n );\n }\n }\n\n if (indicator.config.type === 'yLine') {\n indicator.gElem\n .select('text')\n .styles({ 'text-anchor': 'end', stroke: 'none' })\n .attr('x', d3Max(indicator.chart.xRange));\n if (\n indicator.chart.yScale(indicator.config.data[0]) -\n textSize.height -\n indicator.defaultStyle.general.padding >\n d3Min(indicator.chart.yRange)\n ) {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.yScale(indicator.config.data[0]) -\n indicator.defaultStyle.general.padding\n );\n } else {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.yScale(indicator.config.data[0]) +\n textSize.height +\n indicator.defaultStyle.general.padding\n );\n }\n }\n }\n },\n /**\n * Function to resize the indicator\n */\n resize: function() {\n var indicator = this,\n textSize;\n indicator.prepareData();\n\n if (indicator.config.type === 'line') {\n indicator.component.resize();\n } else {\n indicator.gElem.select('path').attr('d', function(d) {\n return 'M' + indicator.data.join('L') + 'Z';\n });\n }\n\n if (\n indicator.config.type === 'xLine' ||\n indicator.config.type === 'yLine'\n ) {\n textSize = indicator.gElem\n .select('text')\n .node()\n .getBBox();\n\n if (indicator.config.type === 'xLine') {\n indicator.gElem\n .select('text')\n .styles({ 'text-anchor': 'end', stroke: 'none' })\n .attr('transform', 'rotate(-90)')\n .attr('x', d3Min(indicator.chart.yRange));\n\n // if ((indicator.chart.xScale(parseDate(indicator.config.data[0])) + textSize.height + indicator.defaultStyle.general.padding) < d3Max(indicator.chart.xRange)) {\n if (\n indicator.chart.xScale(parseDate(indicator.config.data[0])) -\n textSize.height -\n indicator.defaultStyle.general.padding <\n d3Min(indicator.chart.xRange)\n ) {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.xScale(parseDate(indicator.config.data[0])) +\n textSize.height +\n indicator.defaultStyle.general.padding\n );\n } else {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.xScale(parseDate(indicator.config.data[0])) -\n indicator.defaultStyle.general.padding\n );\n }\n }\n\n if (indicator.config.type === 'yLine') {\n indicator.gElem\n .select('text')\n .styles({ 'text-anchor': 'end', stroke: 'none' })\n .attr('x', d3Max(indicator.chart.xRange));\n if (\n indicator.chart.yScale(indicator.config.data[0]) -\n textSize.height -\n indicator.defaultStyle.general.padding >\n d3Min(indicator.chart.yRange)\n ) {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.yScale(indicator.config.data[0]) -\n indicator.defaultStyle.general.padding\n );\n } else {\n indicator.gElem\n .select('text')\n .attr(\n 'y',\n indicator.chart.yScale(indicator.config.data[0]) +\n textSize.height +\n indicator.defaultStyle.general.padding\n );\n }\n }\n }\n },\n /**\n * Function to create and append css classes to style tag for the indicator\n */\n setCSS: function() {\n var indicator = this;\n var cssString = '';\n if (isObject(indicator.config.style)) {\n cssString =\n cssString +\n ' .' +\n indicator.chart.cssPrefix +\n 'indicator-' +\n indicator.index +\n ' {';\n for (var key in indicator.config.style) {\n cssString = cssString + key + ':' + indicator.config.style[key] + ';';\n }\n cssString = cssString + '}';\n }\n indicator.chart.style\n .node()\n .appendChild(document.createTextNode(cssString));\n }\n };\n\n /**\n * A Constructor for creating, updating and removing area series.\n * @constructor\n */\n function Area() {\n this.init.apply(this, arguments);\n }\n Area.prototype = {\n /**\n * Default configurations for area.\n * @type {object}\n */\n defaultConfig: {\n style: {\n stroke: 'none',\n shapeRendering: 'auto'\n }\n },\n /**\n * Function to destroy area component\n */\n destroy: function() {\n var area = this,\n chart = area.chart,\n series = area.series,\n key;\n delete series.component;\n\n area.gElem.selectAll('*').remove();\n area.gElem.node().parentNode.removeChild(area.gElem.node());\n\n for (key in area) {\n delete area[key];\n }\n },\n /**\n * Function to draw path and path\n */\n drawSeries: function() {\n var area = this;\n\n area.gElem.selectAll('path').remove();\n\n area.gElem.datum(area.series.data);\n area.gElem.append('path').attr('d', function(d) {\n return area.d3area(d);\n });\n\n if (area.series.config.color) {\n area.gElem.select('path').style('fill', area.series.config.color);\n } else {\n area.gElem\n .select('path')\n .style('fill', area.chart.colorScale(area.series.config.name));\n }\n },\n /**\n * Function to hide area series\n */\n hide: function() {\n var area = this;\n area.gElem.classed(area.chart.cssPrefix + 'hidden', true);\n },\n /**\n * Function to initialise d3 and associated functions required for area series\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n */\n init: function(chart, config, series) {\n var area = this;\n area.chart = chart;\n area.series = series;\n area.config = merge(area.config, this.defaultConfig);\n\n if (isObject(this.chart.config.sharedConfig.area)) {\n merge(true, area.config, this.chart.config.sharedConfig.area);\n }\n\n merge(true, area.config, config);\n\n area.d3area = d3\n .area()\n .x(function(d, i) {\n return area.chart.xScale(d.x);\n })\n .y0(function(d) {\n return area.chart.yScale(d.y + (d.dy || 0));\n // console.log(d);\n // return area.chart.yScale((d.dy > 0) ? (d.dy) : 0);\n })\n .y1(function(d) {\n return area.chart.yScale(d.dy > 0 ? d.dy : 0);\n });\n\n if (!!area.config.interpolation) {\n area.d3area.interpolate(area.config.interpolation);\n }\n\n area.setCSS();\n area.render();\n },\n /**\n * Function to redraw area\n */\n redraw: function() {\n var area = this;\n area.drawSeries();\n },\n /**\n * Function to remove area\n */\n remove: function() {\n var area = this;\n area.destroy();\n },\n /**\n * Function to render path to HTML\n */\n render: function() {\n var area = this;\n area.gElem = area.chart.gElem\n .append('g')\n .attr('class', area.chart.cssPrefix + 'series-' + area.series.index);\n\n area.gElem.classed(area.chart.cssPrefix + 'clipChart', true);\n\n area.drawSeries();\n },\n /**\n * Function to resize area\n */\n resize: function() {\n var area = this;\n area.gElem.selectAll('path').attr('d', function(d) {\n return area.d3area(d);\n });\n },\n /**\n * Function to create and append css classes to style tag for the area series\n */\n setCSS: function() {\n var area = this;\n var cssString = '',\n i,\n j;\n cssString =\n cssString +\n ' .' +\n area.chart.cssPrefix +\n 'series-' +\n area.series.index +\n ' {';\n for (i in area.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n area.config.style[i] +\n ';';\n }\n cssString = cssString + '}';\n\n area.chart.style.node().appendChild(document.createTextNode(cssString));\n },\n /**\n * Function to show area path\n */\n show: function() {\n var area = this;\n area.gElem.classed(area.chart.cssPrefix + 'hidden', false);\n }\n };\n\n /**\n * A Constructor for creating, updating and removing bar component in chart.\n * @constructor\n */\n function Bar() {\n this.init.apply(this, arguments);\n }\n Bar.prototype = {\n /**\n * The default configuration for bar.\n * @type {object}\n */\n defaultConfig: {\n style: {\n fillOpacity: 1\n }\n },\n /**\n * Function to destroy bar\n */\n destroy: function() {\n var bar = this,\n chart = bar.chart,\n series = bar.series,\n key;\n delete series.component;\n\n bar.gElem.selectAll('*').remove();\n bar.gElem.node().parentNode.removeChild(bar.gElem.node());\n\n for (key in bar) {\n delete bar[key];\n }\n },\n /**\n * Function to draw the bar series\n */\n drawSeries: function() {\n var bar = this,\n className;\n\n bar.gElem.selectAll('.chartPlus-bar').remove();\n if (!!bar.config.startDate && !!bar.config.endDate) {\n bar.gElem.datum(\n bar.series.data.filter(function(d) {\n return (\n d.x.getTime() >= bar.config.startDate.getTime() &&\n d.x.getTime() <= bar.config.endDate.getTime()\n );\n })\n );\n } else if (isArray(bar.config.categories)) {\n bar.gElem.datum(\n bar.series.data.filter(function(d) {\n return bar.config.categories.indexOf(d.x) > -1;\n })\n );\n } else {\n bar.gElem.datum(bar.series.data);\n }\n bar.gElem\n .selectAll('.bar')\n .data(bar.gElem.datum())\n .enter()\n .append('rect')\n .attr('class', 'chartPlus-bar')\n .attr('x', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.yScale(d.dy || 0)\n : bar.chart.xScale(d.x) +\n (bar.series.config.group || 0) * bar.chart.rectWidth;\n })\n .attr('y', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.xScale(d.x) +\n (bar.series.config.group || 0) * bar.chart.rectWidth\n : bar.chart.yScale(d.y + (d.dy || 0));\n })\n .attr('width', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.yScale(d.y)\n : bar.chart.rectWidth;\n })\n .attr('height', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.rectWidth\n : mathMax(bar.chart.yRange[0], bar.chart.yRange[1]) -\n bar.chart.yScale(d.y);\n });\n\n if (bar.series.config.color) {\n bar.gElem.selectAll('rect').style('fill', bar.series.config.color);\n } else {\n bar.gElem\n .selectAll('rect')\n .style('fill', bar.chart.colorScale(bar.series.config.name));\n }\n },\n /**\n * Function to hide bar\n */\n hide: function() {\n var bar = this;\n bar.gElem.classed(bar.chart.cssPrefix + 'hidden', true);\n },\n /**\n * Function to initialise d3 and associated functions required for bar series\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {Object} series Parent series object\n */\n init: function(chart, config, series) {\n var bar = this;\n bar.chart = chart;\n bar.series = series;\n bar.config = merge(bar.config, this.defaultConfig);\n\n if (isObject(this.chart.config.sharedConfig.bar)) {\n merge(true, bar.config, this.chart.config.sharedConfig.bar);\n }\n\n merge(true, bar.config, config);\n if (!!bar.config.startDate) {\n bar.config.startDate = parseDate(bar.config.startDate);\n }\n if (!!bar.config.endDate) {\n bar.config.endDate = parseDate(\n !!bar.config.endDate\n ? bar.config.endDate\n : bar.config.data[bar.config.data.length - 1].x\n );\n }\n bar.setCSS();\n bar.render();\n },\n /**\n * Function to remove existing rect elements and redraw bars\n */\n redraw: function() {\n var bar = this;\n bar.drawSeries();\n },\n /**\n * Function to remove bar\n */\n remove: function() {\n var bar = this;\n bar.destroy();\n },\n /**\n * Function to render bar\n */\n render: function(container) {\n var bar = this;\n bar.gElem = bar.chart.gElem\n .append('g')\n .attr('class', NAMESPACE + 'series-' + bar.series.index);\n\n if (bar.config.tooltip !== false) {\n if (\n !!bar.chart.config.tooltip.actions &&\n bar.chart.config.tooltip.actions.length > 0\n ) {\n bar.gElem.style('cursor', 'pointer');\n }\n bar.gElem\n .on('mouseover', function() {\n if (d3.event.target.tagName == 'rect') {\n bar.chart.tooltip.show(\n d3.event.target.__data__,\n bar.series.config.name || 'Series ' + bar.series.config.index\n );\n }\n })\n .on('click', function() {\n if (d3.event.target.tagName == 'rect') {\n bar.chart.tooltip.show(\n d3.event.target.__data__,\n bar.series.config.name || 'Series ' + bar.series.config.index,\n true\n );\n }\n })\n .on('mouseout', function(event) {\n bar.chart.tooltip.hide();\n });\n }\n bar.gElem.classed(bar.chart.cssPrefix + 'clipChart', true);\n\n if (isFunction(bar.chart.xScale.bandwidth)) {\n bar.gElem.attr(\n 'transform',\n 'translate(' +\n ((bar.chart.xScale.bandwidth() - bar.chart.rectWidth) / 2 || 0) +\n ',' +\n 0 +\n ')'\n );\n }\n bar.drawSeries();\n },\n /**\n * Function to resize bar\n */\n resize: function() {\n var bar = this;\n if (isFunction(bar.chart.xScale.bandwidth)) {\n bar.gElem.attr(\n 'transform',\n 'translate(' +\n ((bar.chart.xScale.bandwidth() - bar.chart.rectWidth) / 2 || 0) +\n ',' +\n 0 +\n ')'\n );\n }\n bar.gElem\n .selectAll('rect')\n .attr('x', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.yScale(d.dy || 0)\n : bar.chart.xScale(d.x) +\n (bar.series.config.group || 0) * bar.chart.rectWidth;\n })\n .attr('y', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.xScale(d.x) +\n (bar.series.config.group || 0) * bar.chart.rectWidth\n : bar.chart.yScale(d.y + (d.dy || 0));\n })\n .attr('width', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.yScale(d.y)\n : bar.chart.rectWidth;\n })\n .attr('height', function(d, i) {\n return bar.config.invert === true\n ? bar.chart.rectWidth\n : mathMax(bar.chart.yRange[0], bar.chart.yRange[1]) -\n bar.chart.yScale(d.y);\n });\n },\n /**\n * Function to create and append css classes to style tag for the bars\n */\n setCSS: function() {\n var bar = this;\n var cssString = '',\n i;\n\n cssString =\n cssString +\n ' .' +\n bar.chart.cssPrefix +\n 'series-' +\n bar.series.index +\n ' {';\n for (i in bar.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n bar.config.style[i] +\n ';';\n }\n cssString = cssString + '}';\n bar.chart.style.node().appendChild(document.createTextNode(cssString));\n },\n /**\n * Function to show bar\n */\n show: function(updateChart) {\n var bar = this;\n bar.gElem.classed(bar.chart.cssPrefix + 'hidden', false);\n }\n };\n\n /**\n * A Constructor for creating, updating and removing time range selection slider.\n * @constructor\n */\n function Brush() {\n this.init.apply(this, arguments);\n }\n Brush.prototype = {\n /**\n * The default configuration for brush.\n * @type {object}\n */\n defaultConfig: {\n height: 20,\n padding: 3,\n color: '#1f77b4'\n // color: '#cccccc',\n // style: {\n // 'fillOpacity': 0.5\n // }\n },\n /**\n * Function to destroy brush\n */\n destroy: function() {\n var brush = this,\n chart = brush.chart,\n key;\n brush.gElem.selectAll('*').remove();\n brush.gElem.node().parentNode.removeChild(brush.gElem.node());\n\n for (key in brush) {\n delete brush[key];\n }\n },\n resize: function(x, y) {\n var brush = this;\n brush.gElem.attr('transform', 'translate(0,' + (!!y ? y : 0) + ')');\n brush.gElem\n .select('rect')\n .attr('x', brush.chart.brushScale.range()[0])\n .attr(\n 'width',\n brush.chart.brushScale.range()[1] - brush.chart.brushScale.range()[0]\n );\n\n brush.container\n .select('.totalData')\n .select('path')\n .attr('d', function(d) {\n return brush.d3Area(d);\n });\n brush.container\n .select('.axis')\n .attr('y1', brush.config.height)\n .attr('x1', brush.chart.brushScale.range()[0])\n .attr('y2', brush.config.height)\n .attr('x2', brush.chart.brushScale.range()[1]);\n\n brush.container\n .select('.leftRect')\n .attr('x', brush.chart.brushScale(brush.chart.brushScale.domain()[0]))\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushDomain[0]) -\n brush.chart.brushScale(brush.chart.brushScale.domain()[0])\n );\n\n brush.container\n .select('.rightRect')\n .attr('x', brush.chart.brushScale(brush.chart.brushDomain[1]))\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushScale.domain()[1]) -\n brush.chart.brushScale(brush.chart.brushDomain[1])\n );\n\n brush.container\n .select('.d3Brush')\n .call(brush.d3Brush)\n .selectAll('rect')\n .attr('y', 0)\n .style('fill-opacity', 0)\n .attr('height', brush.config.height);\n\n // Set the selection\n brush.container\n .select('.d3Brush')\n .call(\n brush.d3Brush.move,\n [brush.chart.brushDomain[0], brush.chart.brushDomain[1]].map(\n brush.chart.brushScale\n )\n );\n\n brush.container\n .select('.handle.handle--e')\n // .select('rect')\n .attr('y', 3)\n .attr('height', brush.config.height - 6)\n .style('fill', '#34a7df')\n .style('fill-opacity', 1)\n .style('visibility', 'visible');\n\n brush.container\n .select('.handle.handle--w')\n // .select('rect')\n .attr('y', 3)\n .attr('height', brush.config.height - 6)\n .style('fill', '#34a7df')\n .style('fill-opacity', 1)\n .style('visibility', 'visible');\n },\n /**\n * Function to initialise Brush\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {boolean} render Flag whether to do rendering after initialisation\n */\n init: function(chart, config, render) {\n var brush = this;\n brush.firstRender = true;\n brush.chart = chart;\n brush.config = merge(this.defaultConfig, config);\n brush.data = [];\n var tempData = {},\n yMax = 0;\n\n chart.config.series.forEach(function(series) {\n series.data.forEach(function(d, i) {\n if (!!tempData[d.x]) {\n tempData[d.x] = tempData[d.x] + d.y;\n } else {\n tempData[d.x] = d.y;\n }\n });\n });\n chart.innerLegends.forEach(function(key) {\n if (isNumber(tempData[key])) {\n if (yMax < tempData[key]) {\n yMax = tempData[key];\n }\n brush.data.push({ x: parseDate(key), y: tempData[key] });\n } else {\n brush.data.push({ x: parseDate(key), y: 0 });\n }\n });\n\n brush.d3Brush = d3\n .brushX()\n .extent([\n [brush.chart.brushScale.range()[0], 0],\n [brush.chart.brushScale.range()[1], brush.config.height]\n ])\n .on('brush', function() {\n brush.chart.updateOnBrush();\n brush.container\n .select('.leftRect')\n .attr(\n 'x',\n brush.chart.brushScale(brush.chart.brushScale.domain()[0])\n )\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushDomain[0]) -\n brush.chart.brushScale(brush.chart.brushScale.domain()[0])\n );\n\n brush.container\n .select('.rightRect')\n .attr('x', brush.chart.brushScale(brush.chart.brushDomain[1]))\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushScale.domain()[1]) -\n brush.chart.brushScale(brush.chart.brushDomain[1])\n );\n\n return;\n });\n\n brush.yScale = d3\n .scaleLinear()\n .domain([0, yMax])\n .range([brush.config.height, 0]);\n brush.d3Area = d3\n .area()\n .x(function(d, i) {\n return brush.chart.brushScale(d.x);\n })\n .y(brush.config.height)\n .y1(function(d) {\n return brush.yScale(d.y);\n });\n brush.setCSS();\n if (render !== false) {\n brush.render();\n }\n },\n /**\n * Function to append brush to the HTML\n */\n render: function() {\n var brush = this;\n brush.firstRender = false;\n brush.gElem = brush.chart.gElem\n .append('g')\n .attr('class', brush.chart.cssPrefix + 'brush');\n\n brush.gElem\n .append('rect')\n .attr('fill', 'none')\n .attr(\n 'width',\n brush.chart.brushScale.range()[1] - brush.chart.brushScale.range()[0]\n )\n .attr('height', brush.config.height + brush.config.padding * 2)\n .attr('x', brush.chart.brushScale.range()[0])\n .attr('y', 0);\n\n brush.firstRender = false;\n\n brush.container = brush.gElem\n .append('g')\n .attr('transform', 'translate(0,' + brush.config.padding + ')');\n\n brush.container\n .append('line')\n .attr('class', 'axis')\n .style('stroke', '#c7c7c7')\n .style('fill', 'none')\n .style('shape-rendering', 'crispEdges')\n\n .attr('y1', brush.config.height)\n .attr('x1', brush.chart.brushScale.range()[0])\n .attr('y2', brush.config.height)\n .attr('x2', brush.chart.brushScale.range()[1]);\n\n brush.container\n .append('g')\n .attr('class', 'totalData')\n .style('fill', brush.config.color)\n .style('fill-opacity', 0.5)\n .style('stroke', 'none')\n .datum(brush.data)\n .append('path')\n .attr('d', function(d) {\n return brush.d3Area(d);\n });\n\n brush.container\n .append('rect')\n .attr('class', 'leftRect')\n .style('fill', '#cccccc')\n .style('fill-opacity', 0.5)\n .attr('x', brush.chart.brushScale(brush.chart.brushScale.domain()[0]))\n .attr('y', 0)\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushDomain[0]) -\n brush.chart.brushScale(brush.chart.brushScale.domain()[0])\n )\n .attr('height', brush.config.height);\n brush.container\n .append('rect')\n .attr('class', 'rightRect')\n .style('fill', '#cccccc')\n .style('fill-opacity', 0.5)\n .attr('x', brush.chart.brushScale(brush.chart.brushDomain[1]))\n .attr('y', 0)\n .attr(\n 'width',\n brush.chart.brushScale(brush.chart.brushScale.domain()[1]) -\n brush.chart.brushScale(brush.chart.brushDomain[1])\n )\n .attr('height', brush.config.height);\n\n brush.container\n .append('g')\n .attr('class', 'd3Brush')\n .call(brush.d3Brush)\n .selectAll('rect')\n .attr('y', 0)\n .style('fill-opacity', 0)\n .attr('height', brush.config.height);\n\n // Set the selection\n brush.container\n .select('.d3Brush')\n .call(\n brush.d3Brush.move,\n [brush.chart.brushDomain[0], brush.chart.brushDomain[1]].map(\n brush.chart.brushScale\n )\n );\n\n brush.container\n .select('.handle.handle--e')\n // .select('rect')\n .attr('y', 3)\n .attr('height', brush.config.height - 6)\n .style('fill', '#34a7df')\n .style('fill-opacity', 1)\n .style('visibility', 'visible');\n\n brush.container\n .select('.handle.handle--w')\n // .select('rect')\n .attr('y', 3)\n .attr('height', brush.config.height - 6)\n .style('fill', '#34a7df')\n .style('fill-opacity', 1)\n .style('visibility', 'visible');\n },\n /**\n * Function to remove brush\n */\n remove: function() {\n var brush = this;\n brush.destroy();\n },\n /**\n * Function to create and append css classes to style tag for the brush\n */\n setCSS: function() {\n var brush = this;\n var cssString = '',\n i;\n\n // cssString = cssString + ' .' + brush.chart.cssPrefix + 'brush {';\n // for (i in brush.config.style) {\n // cssString = cssString + i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() + ':' + brush.config.style[i] + ';';\n // }\n // if (brush.config.color) {\n // cssString = cssString + 'fill:' + brush.config.color + ';';\n // }\n // cssString = cssString + '}';\n // brush.chart.style.node().appendChild(document.createTextNode(cssString));\n }\n };\n\n /**\n * A Constructor for creating, updating and removing line series.\n * @constructor\n */\n function Line() {\n this.init.apply(this, arguments);\n }\n Line.prototype = {\n /**\n * Default configurations for line.\n * @type {object}\n */\n defaultConfig: {\n marker: {\n radius: 3,\n display: true,\n symbol: 'circle',\n type: 'small' // small/large/highlight\n },\n style: {\n fill: 'none',\n strokeWidth: '2px',\n shapeRendering: 'auto'\n }\n },\n\n /**\n * Special default configurations for points on line.\n * @type {object}\n */\n markerCSS: {\n small: {\n strokeWidth: '2px',\n fill: '#ffffff',\n hover: {\n cursor: 'pointer',\n strokeWidth: '7px',\n strokeOpacity: 0.3\n }\n },\n highlight: {\n strokeWidth: '2px',\n fill: '#ffffff',\n hover: {\n strokeWidth: '4px'\n }\n }\n },\n /**\n * Function to destroy line component\n */\n destroy: function() {\n var line = this,\n chart = line.chart,\n parent = line.parent,\n key;\n delete parent.component;\n\n line.gElem.selectAll('*').remove();\n line.gElem.node().parentNode.removeChild(line.gElem.node());\n\n for (key in line) {\n delete line[key];\n }\n },\n /**\n * Function to draw path and path\n */\n drawSeries: function() {\n var line = this;\n\n line.gElem.selectAll('path').remove();\n line.gElem.selectAll('circle').remove();\n\n line.gElem.datum(line.parent.data);\n\n line.gElem.append('path').attr('d', function(d) {\n return line.d3Line(d);\n });\n\n if (line.parent.config.color) {\n line.gElem.select('path').style('stroke', line.parent.config.color);\n } else {\n line.gElem\n .select('path')\n .style('stroke', line.chart.colorScale(line.parent.config.name));\n }\n\n if (line.config.marker.display !== false) {\n line.gElem\n .selectAll('.marker')\n .data(\n line.gElem.datum().filter(function(d) {\n return d.y !== 0;\n })\n )\n .enter()\n .append('circle')\n .attr(\n 'class',\n line.chart.cssPrefix + 'marker ' + line.config.marker.type\n )\n .attr('cx', function(d, i) {\n return line.config.invert === true\n ? line.chart.yScale(d.y)\n : line.chart.xScale(d.x);\n })\n .attr('cy', function(d) {\n return line.config.invert === true\n ? line.chart.xScale(d.x)\n : line.chart.yScale(d.y);\n })\n .attr('r', line.config.marker.radius);\n\n if (line.parent.config.color) {\n line.gElem\n .selectAll('circle')\n .style('stroke', line.parent.config.color);\n } else {\n line.gElem\n .selectAll('circle')\n .style('stroke', line.chart.colorScale(line.parent.config.name));\n }\n }\n },\n /**\n * Function to hide line series\n */\n hide: function() {\n var line = this;\n line.gElem.classed(line.chart.cssPrefix + 'hidden', true);\n },\n /**\n * Function to initialise d3 and associated functions required for line series\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {Object} parent Parent object. it can be a series or indicator\n */\n init: function(chart, config, parent) {\n var line = this;\n line.chart = chart;\n line.parent = parent;\n line.config = merge(line.config, this.defaultConfig);\n\n if (isObject(this.chart.config.sharedConfig.line)) {\n merge(true, line.config, this.chart.config.sharedConfig.line);\n }\n merge(true, line.config, config);\n\n line.d3Line = d3\n .line()\n .x(function(d, i) {\n return line.chart.config.invert === true\n ? line.chart.yScale(d.y)\n : line.chart.xScale(d.x);\n })\n .y(function(d) {\n return line.chart.config.invert === true\n ? line.chart.xScale(d.x)\n : line.chart.yScale(d.y);\n });\n if (!!line.config.interpolation) {\n line.d3Line.curve(d3.curveStepAfter);\n }\n\n line.setCSS();\n line.render();\n },\n /**\n * Function to redraw line\n */\n redraw: function() {\n var line = this;\n line.drawSeries();\n },\n /**\n * Function to remove line\n */\n remove: function() {\n var line = this;\n line.destroy();\n },\n /**\n * Function to render path to HTML\n */\n render: function() {\n var line = this;\n line.gElem = line.chart.gElem\n .append('g')\n .attr(\n 'class',\n line.chart.cssPrefix +\n (line.config.indicator === true ? 'indicator-' : 'series-') +\n line.parent.index\n );\n\n if (line.config.tooltip !== false) {\n if (\n !!line.chart.config.tooltip.actions &&\n line.chart.config.tooltip.actions.length > 0\n ) {\n line.gElem.classed('cursorPointer', true);\n }\n line.gElem\n .on('mouseover', function() {\n if (d3.event.target.tagName == 'circle') {\n line.chart.tooltip.show(\n d3.event.target.__data__,\n line.parent.config.name ||\n (line.config.indicator === true ? 'Indicator ' : 'Series ') +\n line.parent.config.index\n );\n }\n })\n .on('mouseout', function(event) {\n line.chart.tooltip.hide();\n })\n .on('click', function(event) {\n if (d3.event.target.tagName == 'circle') {\n line.chart.tooltip.show(\n d3.event.target.__data__,\n line.parent.config.name ||\n (line.config.indicator === true ? 'Indicator ' : 'Series ') +\n line.parent.config.index,\n true\n );\n }\n });\n }\n line.gElem.classed(line.chart.cssPrefix + 'clipChart', true);\n\n line.drawSeries();\n },\n /**\n * Function to resize line\n */\n resize: function() {\n var line = this;\n line.gElem.selectAll('path').attr('d', function(d) {\n return line.d3Line(d);\n });\n\n if (line.config.marker.display !== false) {\n line.gElem\n .selectAll('.' + line.chart.cssPrefix + 'marker')\n .attr('cx', function(d, i) {\n return line.config.invert === true\n ? line.chart.yScale(d.y)\n : line.chart.xScale(d.x);\n })\n .attr('cy', function(d) {\n return line.config.invert === true\n ? line.chart.xScale(d.x)\n : line.chart.yScale(d.y);\n });\n }\n },\n /**\n * Function to create and append css classes to style tag for the line series\n */\n setCSS: function() {\n var line = this;\n var cssString = '',\n i,\n j,\n parentName;\n\n parentName = line.config.indicator === true ? 'indicator-' : 'series-';\n\n cssString =\n cssString +\n ' .' +\n line.chart.cssPrefix +\n parentName +\n line.parent.index +\n ' {';\n for (i in line.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n line.config.style[i] +\n ';';\n }\n cssString = cssString + '}';\n\n // marker CSS\n cssString =\n cssString +\n ' .' +\n line.chart.cssPrefix +\n parentName +\n line.parent.index +\n ' .' +\n line.chart.cssPrefix +\n 'marker' +\n '.' +\n line.config.marker.type +\n ' {';\n for (i in line.markerCSS[line.config.marker.type]) {\n if (!isObject(line.markerCSS[line.config.marker.type][i])) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n line.markerCSS[line.config.marker.type][i] +\n ';';\n }\n }\n for (i in line.config.marker.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n line.config.marker.style[i] +\n ';';\n }\n cssString = cssString + '}';\n\n // hover styles for marker\n for (i in line.markerCSS[line.config.marker.type]) {\n if (isObject(line.markerCSS[line.config.marker.type][i])) {\n cssString =\n cssString +\n ' .' +\n line.chart.cssPrefix +\n parentName +\n line.parent.index +\n ' .' +\n line.chart.cssPrefix +\n 'marker' +\n '.' +\n line.config.marker.type +\n ':' +\n i +\n ' {';\n for (j in line.markerCSS[line.config.marker.type][i]) {\n cssString =\n cssString +\n j.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n line.markerCSS[line.config.marker.type][i][j] +\n ';';\n }\n cssString = cssString + '}';\n }\n }\n\n line.chart.style.node().appendChild(document.createTextNode(cssString));\n\n //markerCSS\n },\n /**\n * Function to show line path\n */\n show: function() {\n var line = this;\n line.gElem.classed(line.chart.cssPrefix + 'hidden', false);\n }\n };\n\n /**\n * A Constructor for creating, updating and removing pie component in chart.\n * @constructor\n */\n function Pie() {\n this.init.apply(this, arguments);\n }\n Pie.prototype = {\n /**\n * The default configuration for pie.\n * @type {object}\n */\n defaultConfig: {\n colorByPoint: true,\n style: {\n stroke: '#ffffff',\n strokeWidth: '0.5px',\n fillOpacity: 1,\n hover: {\n fillOpacity: 0.8\n }\n }\n },\n /**\n * Function to destroy pie\n */\n destroy: function() {\n var pie = this,\n chart = pie.chart,\n series = pie.series,\n key;\n delete series.component;\n\n pie.gElem.selectAll('*').remove();\n pie.gElem.node().parentNode.removeChild(pie.gElem.node());\n\n for (key in pie) {\n delete pie[key];\n }\n },\n /**\n * Function to draw the pie series\n */\n drawSeries: function() {\n var pie = this,\n className = '';\n pie.gElem.selectAll('path').remove();\n pie.gElem.datum(pie.series.data);\n\n pie.arcs = pie.gElem\n .selectAll('.arc')\n .data(pie.layout(pie.gElem.datum()))\n .enter()\n .append('path')\n .attr('class', 'arc')\n .style('fill', function(d, i) {\n return pie.chart.colorScale(d.data.x);\n })\n .attr('d', pie.arc);\n },\n /**\n * Function to initialise d3 and associated functions required for pie series\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {Object} series Parent series object\n */\n init: function(chart, config, series) {\n var pie = this;\n pie.chart = chart;\n pie.series = series;\n pie.config = merge(this.defaultConfig, config);\n pie.arc = d3.arc();\n pie.outerArc = d3.arc();\n pie.layout = d3\n .pie()\n .padAngle(0.01)\n .value(function(d) {\n return d.y;\n });\n if (pie.config.sort !== true) {\n pie.layout.sort(null);\n }\n pie.setCSS();\n pie.render();\n },\n /**\n * Function to remove existing elements and redraw pie\n */\n redraw: function() {\n var pie = this;\n pie.drawSeries();\n },\n /**\n * Function to remove pie\n */\n remove: function() {\n var pie = this;\n pie.destroy();\n },\n /**\n * Function to render pie\n */\n render: function() {\n var pie = this;\n pie.setCoordinates();\n pie.gElem = pie.chart.gElem\n .append('g')\n .attr(\n 'transform',\n 'translate(' + pie.coordinates[0] + ',' + pie.coordinates[1] + ')'\n )\n .attr('class', pie.chart.cssPrefix + 'series-' + pie.series.index);\n if (pie.config.tooltip !== false) {\n if (\n !!pie.chart.config.tooltip.actions &&\n pie.chart.config.tooltip.actions.length > 0\n ) {\n pie.gElem.style('cursor', 'pointer');\n }\n pie.gElem\n .on('mouseover', function() {\n if (d3.event.target.tagName == 'path') {\n d3.select(d3.event.target)\n .transition()\n .duration(100)\n .attr('d', pie.outerArc);\n pie.chart.tooltip.show(\n d3.event.target.__data__.data,\n pie.series.config.name || 'Series ' + pie.series.config.index\n );\n }\n })\n .on('click', function() {\n if (d3.event.target.tagName == 'path') {\n d3.select(d3.event.target)\n .transition()\n .duration(100)\n .attr('d', pie.outerArc);\n pie.chart.tooltip.show(\n d3.event.target.__data__.data,\n pie.series.config.name || 'Series ' + pie.series.config.index,\n true\n );\n }\n })\n .on('mouseout', function(event) {\n if (d3.event.target.tagName == 'path') {\n d3.select(d3.event.target)\n .transition()\n .duration(100)\n .attr('d', pie.arc);\n }\n pie.chart.tooltip.hide();\n });\n }\n pie.drawSeries();\n },\n /**\n * Function to resize pie\n */\n resize: function() {\n var pie = this;\n pie.setCoordinates();\n pie.gElem.attr(\n 'transform',\n 'translate(' + pie.coordinates[0] + ',' + pie.coordinates[1] + ')'\n );\n\n pie.gElem.selectAll('.arc').attr('d', pie.arc);\n },\n /**\n * Function to create and append css classes to style tag for the pie\n */\n setCSS: function() {\n var pie = this;\n var cssString = '',\n i,\n j;\n cssString =\n cssString +\n ' .' +\n pie.chart.cssPrefix +\n 'series-' +\n pie.series.index +\n ' .arc {';\n for (i in pie.config.style) {\n if (!isObject(pie.config.style[i])) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n pie.config.style[i] +\n ';';\n }\n }\n cssString = cssString + '}';\n\n // hover styles\n for (i in pie.config.style) {\n if (isObject(pie.config.style[i])) {\n cssString =\n cssString +\n ' .' +\n pie.chart.cssPrefix +\n 'series-' +\n pie.series.index +\n ' .arc:' +\n i +\n ' {';\n for (j in pie.config.style[i]) {\n cssString =\n cssString +\n j.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n pie.config.style[i][j] +\n ';';\n }\n cssString = cssString + '}';\n }\n }\n\n pie.chart.style.node().appendChild(document.createTextNode(cssString));\n\n //markerCSS\n },\n /**\n * Function to set cordinates of centre of pie\n */\n setCoordinates: function() {\n var pie = this;\n if (\n mathAbs(pie.chart.xRange[0] - pie.chart.xRange[1]) <\n mathAbs(pie.chart.yRange[0] - pie.chart.yRange[1])\n ) {\n pie.OuterRad = mathAbs(pie.chart.xRange[0] - pie.chart.xRange[1]) / 2;\n } else {\n pie.OuterRad = mathAbs(pie.chart.yRange[0] - pie.chart.yRange[1]) / 2;\n }\n pie.innerRad = pie.OuterRad * 0.9;\n pie.outerArc.outerRadius(pie.OuterRad).innerRadius(pie.OuterRad * 0.5);\n pie.arc.outerRadius(pie.innerRad).innerRadius(pie.innerRad * 0.5);\n pie.coordinates = [];\n pie.coordinates[0] =\n mathAbs(pie.chart.xRange[0] - pie.chart.xRange[1]) / 2 +\n d3Min(pie.chart.xRange);\n pie.coordinates[1] =\n mathAbs(pie.chart.yRange[0] - pie.chart.yRange[1]) / 2 +\n d3Min(pie.chart.yRange);\n }\n };\n\n /**\n * A Constructor for creating, updating and removing sunburst component in chart.\n * @constructor\n */\n function Sunburst() {\n this.init.apply(this, arguments);\n }\n Sunburst.prototype = {\n /**\n * The default configuration for sunburst.\n * @type {object}\n */\n defaultConfig: {\n colorByPoint: true,\n style: {\n stroke: '#ffffff',\n strokeWidth: '0.5px',\n fillOpacity: 1,\n hover: {\n fillOpacity: 0.8\n }\n }\n },\n /**\n * Function to destroy sunburst\n */\n destroy: function() {\n var sunburst = this,\n chart = sunburst.chart,\n series = sunburst.series,\n key;\n delete series.component;\n\n sunburst.gElem.selectAll('*').remove();\n sunburst.gElem.node().parentNode.removeChild(sunburst.gElem.node());\n\n for (key in sunburst) {\n delete sunburst[key];\n }\n },\n /**\n * Function to draw the sunburst series\n */\n drawSeries: function() {\n var sunburst = this,\n className = '';\n\n sunburst.gElem.selectAll('path').remove();\n\n var radius = Math.min(sunburst.chart.width, sunburst.chart.height) / 3;\n\n sunburst.partition = d3.partition().size([2 * Math.PI, radius]);\n\n sunburst.partition(sunburst.root);\n\n sunburst.arc = d3\n .arc()\n .startAngle(function(d) {\n return d.x0;\n })\n .endAngle(function(d) {\n return d.x1;\n })\n .innerRadius(function(d) {\n return d.y0;\n })\n .outerRadius(function(d) {\n return d.y1;\n });\n\n sunburst.gElem\n .selectAll('path')\n .data(sunburst.root.descendants())\n .enter()\n .append('path')\n .attr('display', function(d) {\n return d.depth ? null : 'none';\n }) // hide inner ring\n .attr('class', 'arc')\n .style('fill', function(d, i) {\n return sunburst.chart.colorScale(\n (d.children ? d : d.parent).data.name\n );\n })\n .attr('d', sunburst.arc);\n },\n /**\n * Function to initialise d3 and associated functions required for sunburst series\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n * @param {Object} series Parent series object\n */\n init: function(chart, config, series) {\n var sunburst = this;\n sunburst.chart = chart;\n sunburst.series = series;\n sunburst.config = merge(this.defaultConfig, config);\n\n sunburst.root = d3.hierarchy(sunburst.series.data).sum(function(d) {\n return d.value;\n });\n\n sunburst.setCSS();\n sunburst.render();\n },\n /**\n * Function to remove existing elements and redraw sunburst\n */\n redraw: function() {\n var sunburst = this;\n sunburst.drawSeries();\n },\n /**\n * Function to remove sunburst\n */\n remove: function() {\n var sunburst = this;\n sunburst.destroy();\n },\n /**\n * Function to render sunburst\n */\n render: function() {\n var sunburst = this;\n sunburst.setCoordinates();\n sunburst.gElem = sunburst.chart.gElem\n .append('g')\n .attr(\n 'transform',\n 'translate(' +\n sunburst.coordinates[0] +\n ',' +\n sunburst.coordinates[1] +\n ')'\n )\n .attr(\n 'class',\n sunburst.chart.cssPrefix + 'series-' + sunburst.series.index\n );\n if (sunburst.config.tooltip !== false) {\n if (\n !!sunburst.chart.config.tooltip.actions &&\n sunburst.chart.config.tooltip.actions.length > 0\n ) {\n sunburst.gElem.style('cursor', 'pointer');\n }\n sunburst.gElem\n .on('mouseover', function() {\n if (d3.event.target.tagName == 'path') {\n sunburst.chart.tooltip.show(\n d3.event.target.__data__,\n sunburst.series.config.name ||\n 'Series ' + sunburst.series.config.index\n );\n }\n })\n .on('click', function() {\n if (d3.event.target.tagName == 'path') {\n sunburst.chart.tooltip.show(\n d3.event.target.__data__,\n sunburst.series.config.name ||\n 'Series ' + sunburst.series.config.index,\n true\n );\n }\n })\n .on('mouseout', function(event) {\n sunburst.chart.tooltip.hide();\n });\n }\n sunburst.drawSeries();\n },\n /**\n * Function to resize sunburst\n */\n resize: function() {\n var sunburst = this;\n sunburst.setCoordinates();\n sunburst.gElem.attr(\n 'transform',\n 'translate(' +\n sunburst.coordinates[0] +\n ',' +\n sunburst.coordinates[1] +\n ')'\n );\n\n sunburst.drawSeries();\n },\n /**\n * Function to create and append css classes to style tag for the sunburst\n */\n setCSS: function() {\n var sunburst = this;\n var cssString = '',\n i,\n j;\n cssString =\n cssString +\n ' .' +\n sunburst.chart.cssPrefix +\n 'series-' +\n sunburst.series.index +\n ' .arc {';\n for (i in sunburst.config.style) {\n if (!isObject(sunburst.config.style[i])) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n sunburst.config.style[i] +\n ';';\n }\n }\n cssString = cssString + '}';\n\n // hover styles\n for (i in sunburst.config.style) {\n if (isObject(sunburst.config.style[i])) {\n cssString =\n cssString +\n ' .' +\n sunburst.chart.cssPrefix +\n 'series-' +\n sunburst.series.index +\n ' .arc:' +\n i +\n ' {';\n for (j in sunburst.config.style[i]) {\n cssString =\n cssString +\n j.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n sunburst.config.style[i][j] +\n ';';\n }\n cssString = cssString + '}';\n }\n }\n\n sunburst.chart.style\n .node()\n .appendChild(document.createTextNode(cssString));\n\n //markerCSS\n },\n /**\n * Function to set cordinates of centre of sunburst\n */\n setCoordinates: function() {\n var sunburst = this;\n if (\n mathAbs(sunburst.chart.xRange[0] - sunburst.chart.xRange[1]) <\n mathAbs(sunburst.chart.yRange[0] - sunburst.chart.yRange[1])\n ) {\n sunburst.OuterRad =\n mathAbs(sunburst.chart.xRange[0] - sunburst.chart.xRange[1]) / 2;\n } else {\n sunburst.OuterRad =\n mathAbs(sunburst.chart.yRange[0] - sunburst.chart.yRange[1]) / 2;\n }\n sunburst.innerRad = sunburst.OuterRad * 0.9;\n // sunburst.outerArc.outerRadius(sunburst.OuterRad).innerRadius(sunburst.OuterRad * 0.5);\n // sunburst.arc.outerRadius(sunburst.innerRad).innerRadius(sunburst.innerRad * 0.5);\n\n sunburst.coordinates = [];\n sunburst.coordinates[0] =\n mathAbs(sunburst.chart.xRange[0] - sunburst.chart.xRange[1]) / 2 +\n d3Min(sunburst.chart.xRange);\n sunburst.coordinates[1] =\n mathAbs(sunburst.chart.yRange[0] - sunburst.chart.yRange[1]) / 2 +\n d3Min(sunburst.chart.yRange);\n }\n };\n\n /**\n * A Constructor for creating, updating and removing tooltip component in chart.\n * @constructor\n */\n function Tooltip() {\n this.init.apply(this, arguments);\n }\n Tooltip.prototype = {\n /**\n * The default configuration for tooltip.\n * @type {object}\n */\n defaultConfig: {\n offsetY: 15,\n dayFormat: '%e %B %Y',\n weekFormat: '%V - %Y',\n monthFormat: '%B %Y'\n // actions: [{\n // name: 'dataView',\n // icon: 'fa fa-cloud'\n // }, {\n // name: 'dataView',\n // icon: 'fa fa-car'\n // }]\n },\n /**\n * Function to destroy tooltip\n */\n destroy: function() {\n var tooltip = this,\n chart = tooltip.chart,\n key;\n tooltip.elem.remove();\n\n for (key in tooltip) {\n delete tooltip[key];\n }\n delete chart.tooltip;\n if (!!chart.config) {\n delete chart.config.tooltip;\n }\n if (!!chart.config) {\n delete chart.config.tooltip;\n }\n },\n /**\n * Function to get Ancestor names for hierarchical data\n */\n getAncestors: function(node, key) {\n var path = [];\n var current = node;\n while (current.parent) {\n path.unshift(key !== undefined ? current.data[key] : current);\n current = current.parent;\n }\n return path;\n },\n /**\n * Function to hide the tooltip\n */\n hide: function(forceHide) {\n var tooltip = this;\n if (tooltip.stay === true && forceHide !== true) {\n return;\n }\n if (forceHide === true) {\n if (tooltip.stay === true) {\n tooltip.chart.container.dispatchEvent(tooltip.closeEvent);\n }\n tooltip.stay = false;\n d3.select(tooltip.chart.svg.node())\n .selectAll('.chartPlus-grey-fill')\n .classed('chartPlus-grey-fill', false);\n d3.select(tooltip.chart.svg.node())\n .selectAll('.chartPlus-grey-stroke')\n .classed('chartPlus-grey-stroke', false);\n }\n tooltip.targetEvent = null;\n tooltip.elem.classed('chartPlus-allEvents', false);\n tooltip.elem.classed('chartPlus-tooltip-visible', false);\n tooltip.elem.classed('chartPlus-tooltip-hidden', true);\n },\n /**\n * Function to initialise d3 and associated functions required for tooltip\n * @param {Object} chart Parent chart object\n * @param {Object} config configuration object\n */\n init: function(chart, config) {\n var tooltip = this;\n tooltip.chart = chart;\n tooltip.config = merge(this.defaultConfig, config);\n tooltip.setCSS();\n tooltip.setUp();\n },\n /**\n * Function to remove tooltip\n */\n remove: function() {\n var tooltip = this;\n tooltip.destroy();\n },\n /**\n * Function to reposition tooltip\n */\n reposition: function() {\n var tooltip = this;\n var container = tooltip.chart.container.getBoundingClientRect();\n if (!tooltip.targetEvent) {\n return;\n }\n var targetElem = tooltip.targetEvent.target.getBoundingClientRect();\n tooltip.elem\n .style('left', function() {\n var info = this.getBoundingClientRect(),\n left = targetElem.left - container.left + 10;\n if (\n container.width - (targetElem.left - container.left) <\n info.width + 10\n ) {\n left = targetElem.left - container.left - info.width + 10;\n }\n return left + 'px';\n })\n .style('top', function() {\n var info = this.getBoundingClientRect(),\n top = targetElem.top - container.top + tooltip.config.offsetY;\n if (top + info.height > container.height) {\n top = top - info.height - tooltip.config.offsetY;\n }\n return top + 'px';\n });\n },\n /**\n * Function to create and append css classes to style tag for the tooltip\n */\n\n setCSS: function() {\n var tooltip = this;\n var cssString = '',\n i;\n\n cssString = cssString + ' .' + tooltip.chart.cssPrefix + 'tooltip {';\n for (i in tooltip.chart.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n tooltip.chart.config.style[i] +\n ';';\n }\n if (getContrastYIQ(themeConfig.backgroundColor) === 'dark') {\n cssString =\n cssString +\n 'background:' +\n themeConfig.tooltip.contrastDarkColor +\n ';' +\n 'color:' +\n themeConfig.text.contrastLightColor +\n ';';\n } else {\n cssString =\n cssString +\n 'background:' +\n themeConfig.tooltip.contrastLightColor +\n ';' +\n 'color:' +\n themeConfig.text.contrastDarkColor +\n ';';\n }\n for (i in tooltip.config.style) {\n cssString =\n cssString +\n i.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase() +\n ':' +\n tooltip.config.style[i] +\n ';';\n }\n cssString = cssString + '}';\n tooltip.chart.style\n .node()\n .appendChild(document.createTextNode(cssString));\n },\n /**\n * Function to create DOM elements to show tooltip\n */\n setUp: function() {\n var tooltip = this;\n\n composeDOM(\n d3\n .select(tooltip.chart.container)\n .select('.chartPlus-container')\n .node(),\n DIV,\n {\n className:\n tooltip.chart.cssPrefix +\n 'tooltip' +\n ' ' +\n NAMESPACE +\n 'tooltip' +\n (tooltip.config.className ? ' ' + tooltip.config.className : ''),\n id: NAMESPACE + 'tooltip'\n }\n );\n tooltip.elem = d3\n .select(accessDOM(NAMESPACE + tooltip.chart.index, 'id'))\n .select('.' + NAMESPACE + 'tooltip');\n\n if (\n isArray(tooltip.config.actions) &&\n tooltip.config.actions.length > 0\n ) {\n tooltip.config.actions.forEach(function(d, i) {\n if (!chartPlus.isIE) {\n d.event = new Event(d.name);\n } else {\n d.event = new Event(d.name);\n }\n });\n if (!chartPlus.isIE) {\n tooltip.closeEvent = new Event('tooltip-closed');\n } else {\n tooltip.closeEvent = new Event('tooltip-closed');\n }\n }\n\n if (isString(tooltip.config.dateFormat)) {\n tooltip.dateFormat = d3.timeFormat(tooltip.config.dateFormat);\n } else if (tooltip.chart.config.granularity === 'week') {\n tooltip.dateFormat = function(d) {\n return 'Week ' + d3.timeFormat(tooltip.config.weekFormat)(d);\n };\n } else if (!!tooltip.chart.config.granularity) {\n tooltip.dateFormat = d3.timeFormat(\n tooltip.config[tooltip.chart.config.granularity + 'Format']\n );\n } else {\n tooltip.dateFormat = d3.timeFormat(tooltip.config.dayFormat);\n }\n },\n /**\n * Function to show tooltip\n */\n show: function(d, name, stay) {\n var tooltip = this,\n html = '',\n legendX,\n categoryX,\n container;\n var dayFormat = d3.timeFormat('%Y-%m-%d');\n container = tooltip.chart.container.getBoundingClientRect();\n\n if (stay !== true && tooltip.stay === true) {\n return;\n }\n if (stay === true && tooltip.stay === true) {\n tooltip.chart.container.dispatchEvent(tooltip.closeEvent);\n }\n\n tooltip.targetEvent = d3.event;\n if (\n isArray(tooltip.config.actions) &&\n tooltip.config.actions.length > 0\n ) {\n tooltip.stay = !!stay;\n if (tooltip.stay === true) {\n tooltip.chart.series.forEach(function(series, idx) {\n if (series.config.type === 'line') {\n if (isObject(series.component)) {\n d3.select(series.component.gElem.node())\n .select('path')\n .classed('chartPlus-grey-stroke', true);\n d3.select(series.component.gElem.node())\n .selectAll('circle')\n .classed('chartPlus-grey-fill', true);\n }\n } else {\n if (isObject(series.component)) {\n d3.select(series.component.gElem.node())\n .selectAll('*')\n .classed('chartPlus-grey-fill', true);\n }\n }\n });\n d3.select(d3.event.target).classed('chartPlus-grey-fill', false);\n d3.select(d3.event.target).classed('chartPlus-grey-stroke', false);\n }\n }\n\n if (!!isObject(d)) {\n // dataview and linking support\n // if (isArray(tooltip.config.actions) && tooltip.config.actions.length > 0) {\n // html = '
\n To access page-views for the JSM knowledge-base articles, you\n must install a JSM companion App available on the Atlassian\n Marketplace for free.\n
\n\n To access page-views for the JSM knowledge-base articles, you\n must install a JSM companion App available on the Atlassian\n Marketplace for free.\n
\nGoing forward you can view activity on any space, page or blog
\nVersion : {process.env.REACT_APP_VERSION}
\n \n \n }\n onClick={() => window.open('https://help.view26.com/pifc/', '_blank')}\n >\n Documentation\n \n \n \n