{"version":3,"sources":["webpack:///./src/views/Card/ProjectManagementCard/ExhibitionPlanningCard.vue","webpack:///./node_modules/echarts/lib/echarts.js","webpack:///./node_modules/echarts-wordcloud/src/WordCloudSeries.js","webpack:///./node_modules/echarts-wordcloud/src/WordCloudView.js","webpack:///./node_modules/echarts-wordcloud/src/layout.js","webpack:///./node_modules/echarts-wordcloud/src/wordCloud.js","webpack:///./src/views/Card/ProjectManagementCard/ExhibitionPlanningCard.vue?735a","webpack:///./src/views/Card/ProjectManagementCard/ExhibitionPlanningCard.vue?6801"],"names":["style","class","ExhibitionIndustryList","item","index","key","getDataindustry","industrySelectedList","filter","c","id","length","name","TargetMarketList","getDatamarket","targetSelectedList","model","planForm","ref","rules","label-width","label","prop","size","addressId","disabled","isdisabled","AreaList","selectArea","value","required","industry","type","market","site","demand","theme","content","CaseList","largeBoothArea","placement","effect","largeBootClick","inputChange","formatter","replace","parser","maxlength","append","mediumBoothArea","smallBoothArea","dinnerNumber","teaNumber","SiteArea","SelectArea","starData","SelectDate","format","value-format","disabled-date","pickerOptions","endData","isactivity","activityNumber","activityID","ActivityList","selectType","onsubmit","SModelExhibitionPlanning","ExhibitionVenueList","getDatasite","venueSelectedList","ExhibitionDemandList","getDatademand","demandSelectedList","installLabelLayout","visualStyleAccessPath","visualStyleMapper","fill","get","visualDrawType","optionUpdated","option","this","gridSize","Math","max","floor","getInitialData","ecModel","dimensions","createDimensions","data","coordDimensions","list","initData","defaultOption","maskImage","shape","keepAspect","left","top","width","height","sizeRange","rotationRange","rotationStep","drawOutOfBound","shrinkToFit","textStyle","fontWeight","render","seriesModel","api","group","removeAll","getData","layoutInstance","ondraw","text","dataIdx","drawn","itemModel","getItemModel","textStyleModel","getModel","textEl","Text","createTextStyle","scaleX","info","mu","scaleY","x","gx","gw","y","gy","gh","rotation","rot","setStyle","fillTextOffsetX","fillTextOffsetY","verticalAlign","getItemVisual","fontSize","add","setItemGraphicEl","ensureState","state","enableHoverEmphasis","stateTransition","duration","easing","__highDownDispatcher","_model","remove","dispose","window","setImmediate","msSetImmediate","webkitSetImmediate","mozSetImmediate","oSetImmediate","postMessage","addEventListener","callbacks","undefined","message","setZeroTimeout","callback","push","toString","evt","substr","stopImmediatePropagation","parseInt","clearImmediate","fn","setTimeout","msClearImmediate","webkitClearImmediate","mozClearImmediate","oClearImmediate","timer","clearTimeout","isSupported","canvas","document","createElement","getContext","ctx","getImageData","fillText","Array","prototype","some","minFontSize","hanWidth","mWidth","font","measureText","getItemExtraData","isArray","itemCopy","slice","splice","shuffleArray","arr","j","i","random","WordCloud","elements","options","timerId","Date","now","forEach","el","getElementById","Error","tagName","appendChild","settings","fontFamily","color","minSize","weightFactor","clearCanvas","backgroundColor","origin","drawMask","maskColor","maskGapWidth","layoutAnimation","wait","abortThreshold","abort","minRotation","PI","maxRotation","shuffle","rotateRatio","ellipticity","classes","hover","click","factor","pt","theta","sin","thetaPrime","cos","min","abs","sqrt","grid","ngx","ngy","center","maxRadius","escapeTime","getTextColor","getTextFontWeight","g","maskRectWidth","randomHslColor","getTextClasses","hovered","interactive","infoGrid","getInfoGridFromMouseTouchEvent","clientX","clientY","currentTarget","rect","getBoundingClientRect","touches","eventX","eventY","wordcloudhover","dimension","wordcloudclick","preventDefault","pointsAtRadius","getPointsAtRadius","radius","T","t","points","rx","exceedTime","getTime","getRotateDeg","round","getTextInfo","word","weight","rotateDeg","extraDataArray","debug","fcanvas","fctx","willReadFrequently","fw","fh","boxWidth","boxHeight","fgw","ceil","fgh","cgh","cgw","setAttribute","body","save","scale","translate","rotate","fillStyle","textBaseline","imageData","strokeRect","restore","occupied","bounds","singleGridLoop","fillRect","fillTextWidth","fillTextHeight","canFitText","px","py","drawText","distance","attributes","span","transformRule","styleRules","position","display","lineHeight","whiteSpace","transform","webkitTransform","msTransform","transformOrigin","webkitTransformOrigin","msTransformOrigin","cssProp","textContent","attribute","className","fillGridAt","updateGrid","w","h","putWord","loopIndex","r","tryToPutWordAtPoint","gxy","concat","res","sendEvent","cancelable","details","event","CustomEvent","detail","dispatchEvent","start","loopingFunction","stoppingFunction","clearRect","bctx","bgPixel","e","webkitTapHighlightColor","stopInteraction","removeEventListener","layouting","cb","listener","anotherWordCloudStart","loop","canceled","toFixed","updateCanvasMask","maskCanvas","newImageData","createImageData","toneSum","toneCnt","alpha","tone","threshold","putImageData","adjustRectAspect","gridRect","aspect","eachSeriesByType","getLayoutRect","getBoxLayoutParams","getWidth","getHeight","ratio","drawImage","console","error","valueExtent","getDataExtent","DEGREE_TO_RAD","onWordCloudDrawn","mapArray","idx","getName","linearMap","sort","a","b","series","compats","compatTextStyle","each","hasOwnProperty","capitalFirst","seriesItem","normal","emphasis","caseID","localStorage","getItem","flowID","activityTypeList","Area","MarketReport","industryIds","marketIds","siteId","demandId","uuid","sTTime","trigger","dtr","lasta","lastb","distr","tspeed","mouseX","mouseY","tagAttrList","tagContent","cloudContent","active","tagAttrList1","tagContent1","cloudContent1","radius1","active1","tagAttrList2","tagContent2","cloudContent2","radius2","active2","timer2","tagAttrList3","tagContent3","cloudContent3","radius3","active3","sinA","cosA","sinB","cosB","sinC","cosC","components","computed","Round","user","Planning","planning","TaskBar","taskBar","created","mounted","infoChart","GetCaseList","GetActivityList","GetMarketReport","$nextTick","querySelector","offsetWidth","beforeUnmount","clearInterval","methods","time","val","log","o","date","getFullYear","getMonth","getDate","parse","exhibitionDays","newDate","padStart","cases","$http","then","success","dynamicObj","initWordCloudsite","$message","GetAreaList","GetSModelExhibitionPlanning","Global","SModel","Delete","split","siteArea","FlowList","策划","that","$refs","validate","valid","post","getsmodel","sendmsgmd","$store","commit","API","createTaskBar","EnumUserStatus","delete","warning","guid","Create","Update","formatDate","myDate_1","myDate_2","diffDate","totalDays","days","initWordCloudindustry","res1","initWordCloudmarket","initWordClouddemand","substring","join","getElementsByTagName","tagObj","offsetHeight","sineCosine","positionAllindustry","onmouseover","onmouseout","onmousemove","ev","oEvent","offsetLeft","offsetTop","setInterval","updateindustry","phi","aTmp","oFragment","createDocumentFragment","acos","cx","cy","cz","angleBasicA","angleBasicB","rx1","ry1","rz1","rx2","ry2","rz2","rx3","ry3","rz3","per","doPositionindustry","depthSortindustry","len","opacity","item1","item2","zIndex","positionAllmarket","updatemarket","doPositionmarket","depthSortmarket","positionAllsite","updatesite","doPositionsite","depthSortsite","positionAlldemand","updatedemand","doPositiondemand","depthSortdemand","__exports__"],"mappings":"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","file":"js/chunk-53fdcf30.88157d24.js","sourcesContent":["\r\n\r\n\r\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport * from './export/core.js';\nimport { use } from './extension.js';\nimport { init } from './core/echarts.js';\nimport { install as CanvasRenderer } from './renderer/installCanvasRenderer.js';\nimport { install as DatasetComponent } from './component/dataset/install.js'; // Default to have canvas renderer and dataset for compitatble reason.\n\nuse([CanvasRenderer, DatasetComponent]); // TODO: Compatitable with the following code\n// import echarts from 'echarts/lib/echarts.js'\n\nexport default {\n init: function () {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable-next-line */\n console.error(\"\\\"import echarts from 'echarts/lib/echarts.js'\\\" is not supported anymore. Use \\\"import * as echarts from 'echarts/lib/echarts.js'\\\" instead;\");\n } // @ts-ignore\n\n\n return init.apply(null, arguments);\n }\n}; // Import label layout by default.\n// TODO remove\n\nimport { installLabelLayout } from './label/installLabelLayout.js';\nuse(installLabelLayout);","import * as echarts from 'echarts/lib/echarts';\n\necharts.extendSeriesModel({\n type: 'series.wordCloud',\n\n visualStyleAccessPath: 'textStyle',\n visualStyleMapper: function (model) {\n return {\n fill: model.get('color')\n };\n },\n visualDrawType: 'fill',\n\n optionUpdated: function () {\n var option = this.option;\n option.gridSize = Math.max(Math.floor(option.gridSize), 4);\n },\n\n getInitialData: function (option, ecModel) {\n var dimensions = echarts.helper.createDimensions(option.data, {\n coordDimensions: ['value']\n });\n var list = new echarts.List(dimensions, this);\n list.initData(option.data);\n return list;\n },\n\n // Most of options are from https://github.com/timdream/wordcloud2.js/blob/gh-pages/API.md\n defaultOption: {\n maskImage: null,\n\n // Shape can be 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'\n shape: 'circle',\n keepAspect: false,\n\n left: 'center',\n\n top: 'center',\n\n width: '70%',\n\n height: '80%',\n\n sizeRange: [12, 60],\n\n rotationRange: [-90, 90],\n\n rotationStep: 45,\n\n gridSize: 8,\n\n drawOutOfBound: false,\n shrinkToFit: false,\n\n textStyle: {\n fontWeight: 'normal'\n }\n }\n});\n","import * as echarts from 'echarts/lib/echarts';\n\necharts.extendChartView({\n type: 'wordCloud',\n\n render: function (seriesModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n\n var data = seriesModel.getData();\n\n var gridSize = seriesModel.get('gridSize');\n\n seriesModel.layoutInstance.ondraw = function (text, size, dataIdx, drawn) {\n var itemModel = data.getItemModel(dataIdx);\n var textStyleModel = itemModel.getModel('textStyle');\n\n var textEl = new echarts.graphic.Text({\n style: echarts.helper.createTextStyle(textStyleModel),\n scaleX: 1 / drawn.info.mu,\n scaleY: 1 / drawn.info.mu,\n x: (drawn.gx + drawn.info.gw / 2) * gridSize,\n y: (drawn.gy + drawn.info.gh / 2) * gridSize,\n rotation: drawn.rot\n });\n textEl.setStyle({\n x: drawn.info.fillTextOffsetX,\n y: drawn.info.fillTextOffsetY + size * 0.5,\n text: text,\n verticalAlign: 'middle',\n fill: data.getItemVisual(dataIdx, 'style').fill,\n fontSize: size\n });\n\n group.add(textEl);\n\n data.setItemGraphicEl(dataIdx, textEl);\n\n textEl.ensureState('emphasis').style = echarts.helper.createTextStyle(\n itemModel.getModel(['emphasis', 'textStyle']),\n {\n state: 'emphasis'\n }\n );\n textEl.ensureState('blur').style = echarts.helper.createTextStyle(\n itemModel.getModel(['blur', 'textStyle']),\n {\n state: 'blur'\n }\n );\n\n echarts.helper.enableHoverEmphasis(\n textEl,\n itemModel.get(['emphasis', 'focus']),\n itemModel.get(['emphasis', 'blurScope'])\n );\n\n textEl.stateTransition = {\n duration: seriesModel.get('animation')\n ? seriesModel.get(['stateAnimation', 'duration'])\n : 0,\n easing: seriesModel.get(['stateAnimation', 'easing'])\n };\n // TODO\n textEl.__highDownDispatcher = true;\n };\n\n this._model = seriesModel;\n },\n\n remove: function () {\n this.group.removeAll();\n\n this._model.layoutInstance.dispose();\n },\n\n dispose: function () {\n this._model.layoutInstance.dispose();\n }\n});\n","/*!\n * wordcloud2.js\n * http://timdream.org/wordcloud2.js/\n *\n * Copyright 2011 - 2019 Tim Guan-tin Chien and contributors.\n * Released under the MIT license\n */\n\n'use strict';\n\n// setImmediate\nif (!window.setImmediate) {\n window.setImmediate = (function setupSetImmediate() {\n return (\n window.msSetImmediate ||\n window.webkitSetImmediate ||\n window.mozSetImmediate ||\n window.oSetImmediate ||\n (function setupSetZeroTimeout() {\n if (!window.postMessage || !window.addEventListener) {\n return null;\n }\n\n var callbacks = [undefined];\n var message = 'zero-timeout-message';\n\n // Like setTimeout, but only takes a function argument. There's\n // no time argument (always zero) and no arguments (you have to\n // use a closure).\n var setZeroTimeout = function setZeroTimeout(callback) {\n var id = callbacks.length;\n callbacks.push(callback);\n window.postMessage(message + id.toString(36), '*');\n\n return id;\n };\n\n window.addEventListener(\n 'message',\n function setZeroTimeoutMessage(evt) {\n // Skipping checking event source, retarded IE confused this window\n // object with another in the presence of iframe\n if (\n typeof evt.data !== 'string' ||\n evt.data.substr(0, message.length) !== message /* ||\n evt.source !== window */\n ) {\n return;\n }\n\n evt.stopImmediatePropagation();\n\n var id = parseInt(evt.data.substr(message.length), 36);\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id]();\n callbacks[id] = undefined;\n },\n true\n );\n\n /* specify clearImmediate() here since we need the scope */\n window.clearImmediate = function clearZeroTimeout(id) {\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id] = undefined;\n };\n\n return setZeroTimeout;\n })() ||\n // fallback\n function setImmediateFallback(fn) {\n window.setTimeout(fn, 0);\n }\n );\n })();\n}\n\nif (!window.clearImmediate) {\n window.clearImmediate = (function setupClearImmediate() {\n return (\n window.msClearImmediate ||\n window.webkitClearImmediate ||\n window.mozClearImmediate ||\n window.oClearImmediate ||\n // \"clearZeroTimeout\" is implement on the previous block ||\n // fallback\n function clearImmediateFallback(timer) {\n window.clearTimeout(timer);\n }\n );\n })();\n}\n\n// Check if WordCloud can run on this browser\nvar isSupported = (function isSupported() {\n var canvas = document.createElement('canvas');\n if (!canvas || !canvas.getContext) {\n return false;\n }\n\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n if (!ctx.getImageData) {\n return false;\n }\n if (!ctx.fillText) {\n return false;\n }\n\n if (!Array.prototype.some) {\n return false;\n }\n if (!Array.prototype.push) {\n return false;\n }\n\n return true;\n})();\n\n// Find out if the browser impose minium font size by\n// drawing small texts on a canvas and measure it's width.\nvar minFontSize = (function getMinFontSize() {\n if (!isSupported) {\n return;\n }\n\n var ctx = document.createElement('canvas').getContext('2d');\n\n // start from 20\n var size = 20;\n\n // two sizes to measure\n var hanWidth, mWidth;\n\n while (size) {\n ctx.font = size.toString(10) + 'px sans-serif';\n if (\n ctx.measureText('\\uFF37').width === hanWidth &&\n ctx.measureText('m').width === mWidth\n ) {\n return size + 1;\n }\n\n hanWidth = ctx.measureText('\\uFF37').width;\n mWidth = ctx.measureText('m').width;\n\n size--;\n }\n\n return 0;\n})();\n\nvar getItemExtraData = function (item) {\n if (Array.isArray(item)) {\n var itemCopy = item.slice();\n // remove data we already have (word and weight)\n itemCopy.splice(0, 2);\n return itemCopy;\n } else {\n return [];\n }\n};\n\n// Based on http://jsfromhell.com/array/shuffle\nvar shuffleArray = function shuffleArray(arr) {\n for (var j, x, i = arr.length; i; ) {\n j = Math.floor(Math.random() * i);\n x = arr[--i];\n arr[i] = arr[j];\n arr[j] = x;\n }\n return arr;\n};\n\nvar timer = {};\nvar WordCloud = function WordCloud(elements, options) {\n if (!isSupported) {\n return;\n }\n\n var timerId = Math.floor(Math.random() * Date.now());\n\n if (!Array.isArray(elements)) {\n elements = [elements];\n }\n\n elements.forEach(function (el, i) {\n if (typeof el === 'string') {\n elements[i] = document.getElementById(el);\n if (!elements[i]) {\n throw new Error('The element id specified is not found.');\n }\n } else if (!el.tagName && !el.appendChild) {\n throw new Error(\n 'You must pass valid HTML elements, or ID of the element.'\n );\n }\n });\n\n /* Default values to be overwritten by options object */\n var settings = {\n list: [],\n fontFamily:\n '\"Trebuchet MS\", \"Heiti TC\", \"微軟正黑體\", ' +\n '\"Arial Unicode MS\", \"Droid Fallback Sans\", sans-serif',\n fontWeight: 'normal',\n color: 'random-dark',\n minSize: 0, // 0 to disable\n weightFactor: 1,\n clearCanvas: true,\n backgroundColor: '#fff', // opaque white = rgba(255, 255, 255, 1)\n\n gridSize: 8,\n drawOutOfBound: false,\n shrinkToFit: false,\n origin: null,\n\n drawMask: false,\n maskColor: 'rgba(255,0,0,0.3)',\n maskGapWidth: 0.3,\n\n layoutAnimation: true,\n\n wait: 0,\n abortThreshold: 0, // disabled\n abort: function noop() {},\n\n minRotation: -Math.PI / 2,\n maxRotation: Math.PI / 2,\n rotationStep: 0.1,\n\n shuffle: true,\n rotateRatio: 0.1,\n\n shape: 'circle',\n ellipticity: 0.65,\n\n classes: null,\n\n hover: null,\n click: null\n };\n\n if (options) {\n for (var key in options) {\n if (key in settings) {\n settings[key] = options[key];\n }\n }\n }\n\n /* Convert weightFactor into a function */\n if (typeof settings.weightFactor !== 'function') {\n var factor = settings.weightFactor;\n settings.weightFactor = function weightFactor(pt) {\n return pt * factor; // in px\n };\n }\n\n /* Convert shape into a function */\n if (typeof settings.shape !== 'function') {\n switch (settings.shape) {\n case 'circle':\n /* falls through */\n default:\n // 'circle' is the default and a shortcut in the code loop.\n settings.shape = 'circle';\n break;\n\n case 'cardioid':\n settings.shape = function shapeCardioid(theta) {\n return 1 - Math.sin(theta);\n };\n break;\n\n /*\n To work out an X-gon, one has to calculate \"m\",\n where 1/(cos(2*PI/X)+m*sin(2*PI/X)) = 1/(cos(0)+m*sin(0))\n http://www.wolframalpha.com/input/?i=1%2F%28cos%282*PI%2FX%29%2Bm*sin%28\n 2*PI%2FX%29%29+%3D+1%2F%28cos%280%29%2Bm*sin%280%29%29\n Copy the solution into polar equation r = 1/(cos(t') + m*sin(t'))\n where t' equals to mod(t, 2PI/X);\n */\n\n case 'diamond':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+PI%2F2%29%29%2Bsin%28mod+%28t%2C+PI%2F2%29%29%29%2C+t+%3D\n // +0+..+2*PI\n settings.shape = function shapeSquare(theta) {\n var thetaPrime = theta % ((2 * Math.PI) / 4);\n return 1 / (Math.cos(thetaPrime) + Math.sin(thetaPrime));\n };\n break;\n\n case 'square':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+min(1%2Fabs(cos(t\n // )),1%2Fabs(sin(t)))),+t+%3D+0+..+2*PI\n settings.shape = function shapeSquare(theta) {\n return Math.min(\n 1 / Math.abs(Math.cos(theta)),\n 1 / Math.abs(Math.sin(theta))\n );\n };\n break;\n\n case 'triangle-forward':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+2*PI%2F3%29%29%2Bsqrt%283%29sin%28mod+%28t%2C+2*PI%2F3%29\n // %29%29%2C+t+%3D+0+..+2*PI\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = theta % ((2 * Math.PI) / 3);\n return (\n 1 / (Math.cos(thetaPrime) + Math.sqrt(3) * Math.sin(thetaPrime))\n );\n };\n break;\n\n case 'triangle':\n case 'triangle-upright':\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = (theta + (Math.PI * 3) / 2) % ((2 * Math.PI) / 3);\n return (\n 1 / (Math.cos(thetaPrime) + Math.sqrt(3) * Math.sin(thetaPrime))\n );\n };\n break;\n\n case 'pentagon':\n settings.shape = function shapePentagon(theta) {\n var thetaPrime = (theta + 0.955) % ((2 * Math.PI) / 5);\n return 1 / (Math.cos(thetaPrime) + 0.726543 * Math.sin(thetaPrime));\n };\n break;\n\n case 'star':\n settings.shape = function shapeStar(theta) {\n var thetaPrime = (theta + 0.955) % ((2 * Math.PI) / 10);\n if (\n ((theta + 0.955) % ((2 * Math.PI) / 5)) - (2 * Math.PI) / 10 >=\n 0\n ) {\n return (\n 1 /\n (Math.cos((2 * Math.PI) / 10 - thetaPrime) +\n 3.07768 * Math.sin((2 * Math.PI) / 10 - thetaPrime))\n );\n } else {\n return 1 / (Math.cos(thetaPrime) + 3.07768 * Math.sin(thetaPrime));\n }\n };\n break;\n }\n }\n\n /* Make sure gridSize is a whole number and is not smaller than 4px */\n settings.gridSize = Math.max(Math.floor(settings.gridSize), 4);\n\n /* shorthand */\n var g = settings.gridSize;\n var maskRectWidth = g - settings.maskGapWidth;\n\n /* normalize rotation settings */\n var rotationRange = Math.abs(settings.maxRotation - settings.minRotation);\n var minRotation = Math.min(settings.maxRotation, settings.minRotation);\n var rotationStep = settings.rotationStep;\n\n /* information/object available to all functions, set when start() */\n var grid, // 2d array containing filling information\n ngx,\n ngy, // width and height of the grid\n center, // position of the center of the cloud\n maxRadius;\n\n /* timestamp for measuring each putWord() action */\n var escapeTime;\n\n /* function for getting the color of the text */\n var getTextColor;\n function randomHslColor(min, max) {\n return (\n 'hsl(' +\n (Math.random() * 360).toFixed() +\n ',' +\n (Math.random() * 30 + 70).toFixed() +\n '%,' +\n (Math.random() * (max - min) + min).toFixed() +\n '%)'\n );\n }\n switch (settings.color) {\n case 'random-dark':\n getTextColor = function getRandomDarkColor() {\n return randomHslColor(10, 50);\n };\n break;\n\n case 'random-light':\n getTextColor = function getRandomLightColor() {\n return randomHslColor(50, 90);\n };\n break;\n\n default:\n if (typeof settings.color === 'function') {\n getTextColor = settings.color;\n }\n break;\n }\n\n /* function for getting the font-weight of the text */\n var getTextFontWeight;\n if (typeof settings.fontWeight === 'function') {\n getTextFontWeight = settings.fontWeight;\n }\n\n /* function for getting the classes of the text */\n var getTextClasses = null;\n if (typeof settings.classes === 'function') {\n getTextClasses = settings.classes;\n }\n\n /* Interactive */\n var interactive = false;\n var infoGrid = [];\n var hovered;\n\n var getInfoGridFromMouseTouchEvent = function getInfoGridFromMouseTouchEvent(\n evt\n ) {\n var canvas = evt.currentTarget;\n var rect = canvas.getBoundingClientRect();\n var clientX;\n var clientY;\n /** Detect if touches are available */\n if (evt.touches) {\n clientX = evt.touches[0].clientX;\n clientY = evt.touches[0].clientY;\n } else {\n clientX = evt.clientX;\n clientY = evt.clientY;\n }\n var eventX = clientX - rect.left;\n var eventY = clientY - rect.top;\n\n var x = Math.floor((eventX * (canvas.width / rect.width || 1)) / g);\n var y = Math.floor((eventY * (canvas.height / rect.height || 1)) / g);\n\n if (!infoGrid[x]) {\n return null\n }\n\n return infoGrid[x][y];\n };\n\n var wordcloudhover = function wordcloudhover(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n\n if (hovered === info) {\n return;\n }\n\n hovered = info;\n if (!info) {\n settings.hover(undefined, undefined, evt);\n\n return;\n }\n\n settings.hover(info.item, info.dimension, evt);\n };\n\n var wordcloudclick = function wordcloudclick(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n if (!info) {\n return;\n }\n\n settings.click(info.item, info.dimension, evt);\n evt.preventDefault();\n };\n\n /* Get points on the grid for a given radius away from the center */\n var pointsAtRadius = [];\n var getPointsAtRadius = function getPointsAtRadius(radius) {\n if (pointsAtRadius[radius]) {\n return pointsAtRadius[radius];\n }\n\n // Look for these number of points on each radius\n var T = radius * 8;\n\n // Getting all the points at this radius\n var t = T;\n var points = [];\n\n if (radius === 0) {\n points.push([center[0], center[1], 0]);\n }\n\n while (t--) {\n // distort the radius to put the cloud in shape\n var rx = 1;\n if (settings.shape !== 'circle') {\n rx = settings.shape((t / T) * 2 * Math.PI); // 0 to 1\n }\n\n // Push [x, y, t]; t is used solely for getTextColor()\n points.push([\n center[0] + radius * rx * Math.cos((-t / T) * 2 * Math.PI),\n center[1] +\n radius * rx * Math.sin((-t / T) * 2 * Math.PI) * settings.ellipticity,\n (t / T) * 2 * Math.PI\n ]);\n }\n\n pointsAtRadius[radius] = points;\n return points;\n };\n\n /* Return true if we had spent too much time */\n var exceedTime = function exceedTime() {\n return (\n settings.abortThreshold > 0 &&\n new Date().getTime() - escapeTime > settings.abortThreshold\n );\n };\n\n /* Get the deg of rotation according to settings, and luck. */\n var getRotateDeg = function getRotateDeg() {\n if (settings.rotateRatio === 0) {\n return 0;\n }\n\n if (Math.random() > settings.rotateRatio) {\n return 0;\n }\n\n if (rotationRange === 0) {\n return minRotation;\n }\n\n return minRotation + Math.round(Math.random() * rotationRange / rotationStep) * rotationStep;\n };\n\n var getTextInfo = function getTextInfo(\n word,\n weight,\n rotateDeg,\n extraDataArray\n ) {\n // calculate the acutal font size\n // fontSize === 0 means weightFactor function wants the text skipped,\n // and size < minSize means we cannot draw the text.\n var debug = false;\n var fontSize = settings.weightFactor(weight);\n if (fontSize <= settings.minSize) {\n return false;\n }\n\n // Scale factor here is to make sure fillText is not limited by\n // the minium font size set by browser.\n // It will always be 1 or 2n.\n var mu = 1;\n if (fontSize < minFontSize) {\n mu = (function calculateScaleFactor() {\n var mu = 2;\n while (mu * fontSize < minFontSize) {\n mu += 2;\n }\n return mu;\n })();\n }\n\n // Get fontWeight that will be used to set fctx.font\n var fontWeight;\n if (getTextFontWeight) {\n fontWeight = getTextFontWeight(word, weight, fontSize, extraDataArray);\n } else {\n fontWeight = settings.fontWeight;\n }\n\n var fcanvas = document.createElement('canvas');\n var fctx = fcanvas.getContext('2d', { willReadFrequently: true });\n\n fctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n\n // Estimate the dimension of the text with measureText().\n var fw = fctx.measureText(word).width / mu;\n var fh =\n Math.max(\n fontSize * mu,\n fctx.measureText('m').width,\n fctx.measureText('\\uFF37').width\n ) / mu;\n\n // Create a boundary box that is larger than our estimates,\n // so text don't get cut of (it sill might)\n var boxWidth = fw + fh * 2;\n var boxHeight = fh * 3;\n var fgw = Math.ceil(boxWidth / g);\n var fgh = Math.ceil(boxHeight / g);\n boxWidth = fgw * g;\n boxHeight = fgh * g;\n\n // Calculate the proper offsets to make the text centered at\n // the preferred position.\n\n // This is simply half of the width.\n var fillTextOffsetX = -fw / 2;\n // Instead of moving the box to the exact middle of the preferred\n // position, for Y-offset we move 0.4 instead, so Latin alphabets look\n // vertical centered.\n var fillTextOffsetY = -fh * 0.4;\n\n // Calculate the actual dimension of the canvas, considering the rotation.\n var cgh = Math.ceil(\n (boxWidth * Math.abs(Math.sin(rotateDeg)) +\n boxHeight * Math.abs(Math.cos(rotateDeg))) /\n g\n );\n var cgw = Math.ceil(\n (boxWidth * Math.abs(Math.cos(rotateDeg)) +\n boxHeight * Math.abs(Math.sin(rotateDeg))) /\n g\n );\n var width = cgw * g;\n var height = cgh * g;\n\n fcanvas.setAttribute('width', width);\n fcanvas.setAttribute('height', height);\n\n if (debug) {\n // Attach fcanvas to the DOM\n document.body.appendChild(fcanvas);\n // Save it's state so that we could restore and draw the grid correctly.\n fctx.save();\n }\n\n // Scale the canvas with |mu|.\n fctx.scale(1 / mu, 1 / mu);\n fctx.translate((width * mu) / 2, (height * mu) / 2);\n fctx.rotate(-rotateDeg);\n\n // Once the width/height is set, ctx info will be reset.\n // Set it again here.\n fctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n\n // Fill the text into the fcanvas.\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n fctx.fillStyle = '#000';\n fctx.textBaseline = 'middle';\n fctx.fillText(\n word,\n fillTextOffsetX * mu,\n (fillTextOffsetY + fontSize * 0.5) * mu\n );\n\n // Get the pixels of the text\n var imageData = fctx.getImageData(0, 0, width, height).data;\n\n if (exceedTime()) {\n return false;\n }\n\n if (debug) {\n // Draw the box of the original estimation\n fctx.strokeRect(fillTextOffsetX * mu, fillTextOffsetY, fw * mu, fh * mu);\n fctx.restore();\n }\n\n // Read the pixels and save the information to the occupied array\n var occupied = [];\n var gx = cgw;\n var gy, x, y;\n var bounds = [cgh / 2, cgw / 2, cgh / 2, cgw / 2];\n while (gx--) {\n gy = cgh;\n while (gy--) {\n y = g;\n /* eslint no-labels: ['error', { 'allowLoop': true }] */\n singleGridLoop: while (y--) {\n x = g;\n while (x--) {\n if (imageData[((gy * g + y) * width + (gx * g + x)) * 4 + 3]) {\n occupied.push([gx, gy]);\n\n if (gx < bounds[3]) {\n bounds[3] = gx;\n }\n if (gx > bounds[1]) {\n bounds[1] = gx;\n }\n if (gy < bounds[0]) {\n bounds[0] = gy;\n }\n if (gy > bounds[2]) {\n bounds[2] = gy;\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(255, 0, 0, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n break singleGridLoop;\n }\n }\n }\n if (debug) {\n fctx.fillStyle = 'rgba(0, 0, 255, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n }\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(0, 255, 0, 0.5)';\n fctx.fillRect(\n bounds[3] * g,\n bounds[0] * g,\n (bounds[1] - bounds[3] + 1) * g,\n (bounds[2] - bounds[0] + 1) * g\n );\n }\n\n // Return information needed to create the text on the real canvas\n return {\n mu: mu,\n occupied: occupied,\n bounds: bounds,\n gw: cgw,\n gh: cgh,\n fillTextOffsetX: fillTextOffsetX,\n fillTextOffsetY: fillTextOffsetY,\n fillTextWidth: fw,\n fillTextHeight: fh,\n fontSize: fontSize\n };\n };\n\n /* Determine if there is room available in the given dimension */\n var canFitText = function canFitText(gx, gy, gw, gh, occupied) {\n // Go through the occupied points,\n // return false if the space is not available.\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n if (!settings.drawOutOfBound) {\n return false;\n }\n continue;\n }\n\n if (!grid[px][py]) {\n return false;\n }\n }\n return true;\n };\n\n /* Actually draw the text on the grid */\n var drawText = function drawText(\n gx,\n gy,\n info,\n word,\n weight,\n distance,\n theta,\n rotateDeg,\n attributes,\n extraDataArray\n ) {\n var fontSize = info.fontSize;\n var color;\n if (getTextColor) {\n color = getTextColor(\n word,\n weight,\n fontSize,\n distance,\n theta,\n extraDataArray\n );\n } else {\n color = settings.color;\n }\n\n // get fontWeight that will be used to set ctx.font and font style rule\n var fontWeight;\n if (getTextFontWeight) {\n fontWeight = getTextFontWeight(word, weight, fontSize, extraDataArray);\n } else {\n fontWeight = settings.fontWeight;\n }\n\n var classes;\n if (getTextClasses) {\n classes = getTextClasses(word, weight, fontSize, extraDataArray);\n } else {\n classes = settings.classes;\n }\n\n elements.forEach(function (el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n var mu = info.mu;\n\n // Save the current state before messing it\n ctx.save();\n ctx.scale(1 / mu, 1 / mu);\n\n ctx.font =\n fontWeight +\n ' ' +\n (fontSize * mu).toString(10) +\n 'px ' +\n settings.fontFamily;\n ctx.fillStyle = color;\n\n // Translate the canvas position to the origin coordinate of where\n // the text should be put.\n ctx.translate((gx + info.gw / 2) * g * mu, (gy + info.gh / 2) * g * mu);\n\n if (rotateDeg !== 0) {\n ctx.rotate(-rotateDeg);\n }\n\n // Finally, fill the text.\n\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n ctx.textBaseline = 'middle';\n ctx.fillText(\n word,\n info.fillTextOffsetX * mu,\n (info.fillTextOffsetY + fontSize * 0.5) * mu\n );\n\n // The below box is always matches how s are positioned\n /* ctx.strokeRect(info.fillTextOffsetX, info.fillTextOffsetY,\n info.fillTextWidth, info.fillTextHeight); */\n\n // Restore the state.\n ctx.restore();\n } else {\n // drawText on DIV element\n var span = document.createElement('span');\n var transformRule = '';\n transformRule = 'rotate(' + (-rotateDeg / Math.PI) * 180 + 'deg) ';\n if (info.mu !== 1) {\n transformRule +=\n 'translateX(-' +\n info.fillTextWidth / 4 +\n 'px) ' +\n 'scale(' +\n 1 / info.mu +\n ')';\n }\n var styleRules = {\n position: 'absolute',\n display: 'block',\n font:\n fontWeight + ' ' + fontSize * info.mu + 'px ' + settings.fontFamily,\n left: (gx + info.gw / 2) * g + info.fillTextOffsetX + 'px',\n top: (gy + info.gh / 2) * g + info.fillTextOffsetY + 'px',\n width: info.fillTextWidth + 'px',\n height: info.fillTextHeight + 'px',\n lineHeight: fontSize + 'px',\n whiteSpace: 'nowrap',\n transform: transformRule,\n webkitTransform: transformRule,\n msTransform: transformRule,\n transformOrigin: '50% 40%',\n webkitTransformOrigin: '50% 40%',\n msTransformOrigin: '50% 40%'\n };\n if (color) {\n styleRules.color = color;\n }\n span.textContent = word;\n for (var cssProp in styleRules) {\n span.style[cssProp] = styleRules[cssProp];\n }\n if (attributes) {\n for (var attribute in attributes) {\n span.setAttribute(attribute, attributes[attribute]);\n }\n }\n if (classes) {\n span.className += classes;\n }\n el.appendChild(span);\n }\n });\n };\n\n /* Help function to updateGrid */\n var fillGridAt = function fillGridAt(x, y, drawMask, dimension, item) {\n if (x >= ngx || y >= ngy || x < 0 || y < 0) {\n return;\n }\n\n grid[x][y] = false;\n\n if (drawMask) {\n var ctx = elements[0].getContext('2d');\n ctx.fillRect(x * g, y * g, maskRectWidth, maskRectWidth);\n }\n\n if (interactive) {\n infoGrid[x][y] = { item: item, dimension: dimension };\n }\n };\n\n /* Update the filling information of the given space with occupied points.\n Draw the mask on the canvas if necessary. */\n var updateGrid = function updateGrid(gx, gy, gw, gh, info, item) {\n var occupied = info.occupied;\n var drawMask = settings.drawMask;\n var ctx;\n if (drawMask) {\n ctx = elements[0].getContext('2d');\n ctx.save();\n ctx.fillStyle = settings.maskColor;\n }\n\n var dimension;\n if (interactive) {\n var bounds = info.bounds;\n dimension = {\n x: (gx + bounds[3]) * g,\n y: (gy + bounds[0]) * g,\n w: (bounds[1] - bounds[3] + 1) * g,\n h: (bounds[2] - bounds[0] + 1) * g\n };\n }\n\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n continue;\n }\n\n fillGridAt(px, py, drawMask, dimension, item);\n }\n\n if (drawMask) {\n ctx.restore();\n }\n };\n\n /* putWord() processes each item on the list,\n calculate it's size and determine it's position, and actually\n put it on the canvas. */\n var putWord = function putWord(item, loopIndex) {\n if (loopIndex > 20) {\n return null;\n }\n\n var word, weight, attributes;\n if (Array.isArray(item)) {\n word = item[0];\n weight = item[1];\n } else {\n word = item.word;\n weight = item.weight;\n attributes = item.attributes;\n }\n var rotateDeg = getRotateDeg();\n\n var extraDataArray = getItemExtraData(item);\n\n // get info needed to put the text onto the canvas\n var info = getTextInfo(word, weight, rotateDeg, extraDataArray);\n\n // not getting the info means we shouldn't be drawing this one.\n if (!info) {\n return false;\n }\n\n if (exceedTime()) {\n return false;\n }\n\n // If drawOutOfBound is set to false,\n // skip the loop if we have already know the bounding box of\n // word is larger than the canvas.\n if (!settings.drawOutOfBound && !settings.shrinkToFit) {\n var bounds = info.bounds;\n if (bounds[1] - bounds[3] + 1 > ngx || bounds[2] - bounds[0] + 1 > ngy) {\n return false;\n }\n }\n\n // Determine the position to put the text by\n // start looking for the nearest points\n var r = maxRadius + 1;\n\n var tryToPutWordAtPoint = function (gxy) {\n var gx = Math.floor(gxy[0] - info.gw / 2);\n var gy = Math.floor(gxy[1] - info.gh / 2);\n var gw = info.gw;\n var gh = info.gh;\n\n // If we cannot fit the text at this position, return false\n // and go to the next position.\n if (!canFitText(gx, gy, gw, gh, info.occupied)) {\n return false;\n }\n\n // Actually put the text on the canvas\n drawText(\n gx,\n gy,\n info,\n word,\n weight,\n maxRadius - r,\n gxy[2],\n rotateDeg,\n attributes,\n extraDataArray\n );\n\n // Mark the spaces on the grid as filled\n updateGrid(gx, gy, gw, gh, info, item);\n\n return {\n gx: gx,\n gy: gy,\n rot: rotateDeg,\n info: info\n };\n };\n\n while (r--) {\n var points = getPointsAtRadius(maxRadius - r);\n\n if (settings.shuffle) {\n points = [].concat(points);\n shuffleArray(points);\n }\n\n // Try to fit the words by looking at each point.\n // array.some() will stop and return true\n // when putWordAtPoint() returns true.\n for (var i = 0; i < points.length; i++) {\n var res = tryToPutWordAtPoint(points[i]);\n if (res) {\n return res;\n }\n }\n\n // var drawn = points.some(tryToPutWordAtPoint);\n // if (drawn) {\n // // leave putWord() and return true\n // return true;\n // }\n }\n\n if (settings.shrinkToFit) {\n if (Array.isArray(item)) {\n item[1] = (item[1] * 3) / 4;\n } else {\n item.weight = (item.weight * 3) / 4;\n }\n return putWord(item, loopIndex + 1);\n }\n\n // we tried all distances but text won't fit, return null\n return null;\n };\n\n /* Send DOM event to all elements. Will stop sending event and return\n if the previous one is canceled (for cancelable events). */\n var sendEvent = function sendEvent(type, cancelable, details) {\n if (cancelable) {\n return !elements.some(function (el) {\n var event = new CustomEvent(type, {\n detail: details || {}\n });\n return !el.dispatchEvent(event);\n }, this);\n } else {\n elements.forEach(function (el) {\n var event = new CustomEvent(type, {\n detail: details || {}\n });\n el.dispatchEvent(event);\n }, this);\n }\n };\n\n /* Start drawing on a canvas */\n var start = function start() {\n // For dimensions, clearCanvas etc.,\n // we only care about the first element.\n var canvas = elements[0];\n\n if (canvas.getContext) {\n ngx = Math.ceil(canvas.width / g);\n ngy = Math.ceil(canvas.height / g);\n } else {\n var rect = canvas.getBoundingClientRect();\n ngx = Math.ceil(rect.width / g);\n ngy = Math.ceil(rect.height / g);\n }\n\n // Sending a wordcloudstart event which cause the previous loop to stop.\n // Do nothing if the event is canceled.\n if (!sendEvent('wordcloudstart', true)) {\n return;\n }\n\n // Determine the center of the word cloud\n center = settings.origin\n ? [settings.origin[0] / g, settings.origin[1] / g]\n : [ngx / 2, ngy / 2];\n\n // Maxium radius to look for space\n maxRadius = Math.floor(Math.sqrt(ngx * ngx + ngy * ngy));\n\n /* Clear the canvas only if the clearCanvas is set,\n if not, update the grid to the current canvas state */\n grid = [];\n\n var gx, gy, i;\n if (!canvas.getContext || settings.clearCanvas) {\n elements.forEach(function (el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n ctx.fillStyle = settings.backgroundColor;\n ctx.clearRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n ctx.fillRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n } else {\n el.textContent = '';\n el.style.backgroundColor = settings.backgroundColor;\n el.style.position = 'relative';\n }\n });\n\n /* fill the grid with empty state */\n gx = ngx;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n grid[gx][gy] = true;\n }\n }\n } else {\n /* Determine bgPixel by creating\n another canvas and fill the specified background color. */\n var bctx = document.createElement('canvas').getContext('2d');\n\n bctx.fillStyle = settings.backgroundColor;\n bctx.fillRect(0, 0, 1, 1);\n var bgPixel = bctx.getImageData(0, 0, 1, 1).data;\n\n /* Read back the pixels of the canvas we got to tell which part of the\n canvas is empty.\n (no clearCanvas only works with a canvas, not divs) */\n var imageData = canvas\n .getContext('2d')\n .getImageData(0, 0, ngx * g, ngy * g).data;\n\n gx = ngx;\n var x, y;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n y = g;\n /* eslint no-labels: ['error', { 'allowLoop': true }] */\n singleGridLoop: while (y--) {\n x = g;\n while (x--) {\n i = 4;\n while (i--) {\n if (\n imageData[((gy * g + y) * ngx * g + (gx * g + x)) * 4 + i] !==\n bgPixel[i]\n ) {\n grid[gx][gy] = false;\n break singleGridLoop;\n }\n }\n }\n }\n if (grid[gx][gy] !== false) {\n grid[gx][gy] = true;\n }\n }\n }\n\n imageData = bctx = bgPixel = undefined;\n }\n\n // fill the infoGrid with empty state if we need it\n if (settings.hover || settings.click) {\n interactive = true;\n\n /* fill the grid with empty state */\n gx = ngx + 1;\n while (gx--) {\n infoGrid[gx] = [];\n }\n\n if (settings.hover) {\n canvas.addEventListener('mousemove', wordcloudhover);\n }\n\n if (settings.click) {\n canvas.addEventListener('click', wordcloudclick);\n canvas.addEventListener('touchstart', wordcloudclick);\n canvas.addEventListener('touchend', function (e) {\n e.preventDefault();\n });\n canvas.style.webkitTapHighlightColor = 'rgba(0, 0, 0, 0)';\n }\n\n canvas.addEventListener('wordcloudstart', function stopInteraction() {\n canvas.removeEventListener('wordcloudstart', stopInteraction);\n\n canvas.removeEventListener('mousemove', wordcloudhover);\n canvas.removeEventListener('click', wordcloudclick);\n hovered = undefined;\n });\n }\n\n i = 0;\n var loopingFunction, stoppingFunction;\n var layouting = true;\n if (!settings.layoutAnimation) {\n loopingFunction = function (cb) {\n cb();\n };\n stoppingFunction = function () {\n layouting = false;\n };\n } else if (settings.wait !== 0) {\n loopingFunction = window.setTimeout;\n stoppingFunction = window.clearTimeout;\n } else {\n loopingFunction = window.setImmediate;\n stoppingFunction = window.clearImmediate;\n }\n\n var addEventListener = function addEventListener(type, listener) {\n elements.forEach(function (el) {\n el.addEventListener(type, listener);\n }, this);\n };\n\n var removeEventListener = function removeEventListener(type, listener) {\n elements.forEach(function (el) {\n el.removeEventListener(type, listener);\n }, this);\n };\n\n var anotherWordCloudStart = function anotherWordCloudStart() {\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n stoppingFunction(timer[timerId]);\n };\n\n addEventListener('wordcloudstart', anotherWordCloudStart);\n\n // At least wait the following code before call the first iteration.\n timer[timerId] = (settings.layoutAnimation ? loopingFunction : setTimeout)(\n function loop() {\n if (!layouting) {\n return;\n }\n if (i >= settings.list.length) {\n stoppingFunction(timer[timerId]);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n delete timer[timerId];\n return;\n }\n escapeTime = new Date().getTime();\n var drawn = putWord(settings.list[i], 0);\n var canceled = !sendEvent('wordclouddrawn', true, {\n item: settings.list[i],\n drawn: drawn\n });\n if (exceedTime() || canceled) {\n stoppingFunction(timer[timerId]);\n settings.abort();\n sendEvent('wordcloudabort', false);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n return;\n }\n i++;\n timer[timerId] = loopingFunction(loop, settings.wait);\n },\n settings.wait\n );\n };\n\n // All set, start the drawing\n start();\n};\n\nWordCloud.isSupported = isSupported;\nWordCloud.minFontSize = minFontSize;\n\nexport default WordCloud;\n","import * as echarts from 'echarts/lib/echarts';\n\nimport './WordCloudSeries';\nimport './WordCloudView';\n\nimport wordCloudLayoutHelper from './layout';\n\nif (!wordCloudLayoutHelper.isSupported) {\n throw new Error('Sorry your browser not support wordCloud');\n}\n\n// https://github.com/timdream/wordcloud2.js/blob/c236bee60436e048949f9becc4f0f67bd832dc5c/index.js#L233\nfunction updateCanvasMask(maskCanvas) {\n var ctx = maskCanvas.getContext('2d');\n var imageData = ctx.getImageData(0, 0, maskCanvas.width, maskCanvas.height);\n var newImageData = ctx.createImageData(imageData);\n\n var toneSum = 0;\n var toneCnt = 0;\n for (var i = 0; i < imageData.data.length; i += 4) {\n var alpha = imageData.data[i + 3];\n if (alpha > 128) {\n var tone =\n imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2];\n toneSum += tone;\n ++toneCnt;\n }\n }\n var threshold = toneSum / toneCnt;\n\n for (var i = 0; i < imageData.data.length; i += 4) {\n var tone =\n imageData.data[i] + imageData.data[i + 1] + imageData.data[i + 2];\n var alpha = imageData.data[i + 3];\n\n if (alpha < 128 || tone > threshold) {\n // Area not to draw\n newImageData.data[i] = 0;\n newImageData.data[i + 1] = 0;\n newImageData.data[i + 2] = 0;\n newImageData.data[i + 3] = 0;\n } else {\n // Area to draw\n // The color must be same with backgroundColor\n newImageData.data[i] = 255;\n newImageData.data[i + 1] = 255;\n newImageData.data[i + 2] = 255;\n newImageData.data[i + 3] = 255;\n }\n }\n\n ctx.putImageData(newImageData, 0, 0);\n}\n\necharts.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('wordCloud', function (seriesModel) {\n var gridRect = echarts.helper.getLayoutRect(\n seriesModel.getBoxLayoutParams(),\n {\n width: api.getWidth(),\n height: api.getHeight()\n }\n );\n\n var keepAspect = seriesModel.get('keepAspect');\n var maskImage = seriesModel.get('maskImage');\n var ratio = maskImage ? maskImage.width / maskImage.height : 1;\n keepAspect && adjustRectAspect(gridRect, ratio);\n\n var data = seriesModel.getData();\n\n var canvas = document.createElement('canvas');\n canvas.width = gridRect.width;\n canvas.height = gridRect.height;\n\n var ctx = canvas.getContext('2d');\n if (maskImage) {\n try {\n ctx.drawImage(maskImage, 0, 0, canvas.width, canvas.height);\n updateCanvasMask(canvas);\n } catch (e) {\n console.error('Invalid mask image');\n console.error(e.toString());\n }\n }\n\n var sizeRange = seriesModel.get('sizeRange');\n var rotationRange = seriesModel.get('rotationRange');\n var valueExtent = data.getDataExtent('value');\n\n var DEGREE_TO_RAD = Math.PI / 180;\n var gridSize = seriesModel.get('gridSize');\n wordCloudLayoutHelper(canvas, {\n list: data\n .mapArray('value', function (value, idx) {\n var itemModel = data.getItemModel(idx);\n return [\n data.getName(idx),\n itemModel.get('textStyle.fontSize', true) ||\n echarts.number.linearMap(value, valueExtent, sizeRange),\n idx\n ];\n })\n .sort(function (a, b) {\n // Sort from large to small in case there is no more room for more words\n return b[1] - a[1];\n }),\n fontFamily:\n seriesModel.get('textStyle.fontFamily') ||\n seriesModel.get('emphasis.textStyle.fontFamily') ||\n ecModel.get('textStyle.fontFamily'),\n fontWeight:\n seriesModel.get('textStyle.fontWeight') ||\n seriesModel.get('emphasis.textStyle.fontWeight') ||\n ecModel.get('textStyle.fontWeight'),\n\n gridSize: gridSize,\n\n ellipticity: gridRect.height / gridRect.width,\n\n minRotation: rotationRange[0] * DEGREE_TO_RAD,\n maxRotation: rotationRange[1] * DEGREE_TO_RAD,\n\n clearCanvas: !maskImage,\n\n rotateRatio: 1,\n\n rotationStep: seriesModel.get('rotationStep') * DEGREE_TO_RAD,\n\n drawOutOfBound: seriesModel.get('drawOutOfBound'),\n shrinkToFit: seriesModel.get('shrinkToFit'),\n\n layoutAnimation: seriesModel.get('layoutAnimation'),\n\n shuffle: false,\n\n shape: seriesModel.get('shape')\n });\n\n function onWordCloudDrawn(e) {\n var item = e.detail.item;\n if (e.detail.drawn && seriesModel.layoutInstance.ondraw) {\n e.detail.drawn.gx += gridRect.x / gridSize;\n e.detail.drawn.gy += gridRect.y / gridSize;\n seriesModel.layoutInstance.ondraw(\n item[0],\n item[1],\n item[2],\n e.detail.drawn\n );\n }\n }\n\n canvas.addEventListener('wordclouddrawn', onWordCloudDrawn);\n\n if (seriesModel.layoutInstance) {\n // Dispose previous\n seriesModel.layoutInstance.dispose();\n }\n\n seriesModel.layoutInstance = {\n ondraw: null,\n\n dispose: function () {\n canvas.removeEventListener('wordclouddrawn', onWordCloudDrawn);\n // Abort\n canvas.addEventListener('wordclouddrawn', function (e) {\n // Prevent default to cancle the event and stop the loop\n e.preventDefault();\n });\n }\n };\n });\n});\n\necharts.registerPreprocessor(function (option) {\n var series = (option || {}).series;\n !echarts.util.isArray(series) && (series = series ? [series] : []);\n\n var compats = ['shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n\n echarts.util.each(series, function (seriesItem) {\n if (seriesItem && seriesItem.type === 'wordCloud') {\n var textStyle = seriesItem.textStyle || {};\n\n compatTextStyle(textStyle.normal);\n compatTextStyle(textStyle.emphasis);\n }\n });\n\n function compatTextStyle(textStyle) {\n textStyle &&\n echarts.util.each(compats, function (key) {\n if (textStyle.hasOwnProperty(key)) {\n textStyle['text' + echarts.format.capitalFirst(key)] = textStyle[key];\n }\n });\n }\n});\n\nfunction adjustRectAspect(gridRect, aspect) {\n // var outerWidth = gridRect.width + gridRect.x * 2;\n // var outerHeight = gridRect.height + gridRect.y * 2;\n var width = gridRect.width;\n var height = gridRect.height;\n if (width > height * aspect) {\n gridRect.x += (width - height * aspect) / 2;\n gridRect.width = height * aspect;\n } else {\n gridRect.y += (height - width / aspect) / 2;\n gridRect.height = width / aspect;\n }\n}\n","import { render } from \"./ExhibitionPlanningCard.vue?vue&type=template&id=01081598&scoped=true\"\nimport script from \"./ExhibitionPlanningCard.vue?vue&type=script&lang=js\"\nexport * from \"./ExhibitionPlanningCard.vue?vue&type=script&lang=js\"\n\nimport \"./ExhibitionPlanningCard.vue?vue&type=style&index=0&id=01081598&scoped=true&lang=css\"\n\nimport exportComponent from \"D:\\\\Project\\\\cn_-exhibition\\\\exhibition_PC\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-01081598\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ExhibitionPlanningCard.vue?vue&type=style&index=0&id=01081598&scoped=true&lang=css\""],"sourceRoot":""}