Your IP : 18.189.145.188
{"version":3,"file":"ui.circle.bundle.js","sources":["../src/ui.circle.js"],"sourcesContent":["import {Event, Dom} from \"main.core\";\nimport 'ui.fonts.opensans';\nimport './css/style.css';\n\nexport class Circle\n{\n\tconstructor(domNode, perimetr, progressBar, fixCounter, withoutWaves)\n\t{\n\t\tthis.domNode = domNode;\n\t\tthis.perimetr = perimetr;\n\t\tthis.radius = perimetr / 2;\n\t\tthis.progressBar = Number(progressBar) > 100 ? 100 : progressBar;\n\t\tthis.progressBg = null;\n\t\tthis.number = null;\n\t\tthis.waves = null;\n\t\tthis.leftWave = null;\n\t\tthis.rightWave = null;\n\t\tthis.fixCounter = fixCounter ? fixCounter : null;\n\t\tthis.withoutWaves = withoutWaves ? withoutWaves : null;\n\t}\n\n\tgetCircumFerence()\n\t{\n\t\treturn (this.radius - 10) * 2 * 3.14;\n\t}\n\n\tgetCircumProgress()\n\t{\n\t\treturn this.getCircumFerence() - (this.getCircumFerence() / 100 * this.progressBar);\n\t}\n\n\tcreateCircle()\n\t{\n\t\tthis.svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\t\tthis.svg.setAttributeNS(null, 'class', 'ui-graph-circle-bar');\n\t\tthis.svg.setAttributeNS(null, 'viewport', '0 0 ' + this.radius + ' ' + this.radius);\n\t\tthis.svg.setAttributeNS(null, 'width', this.perimetr);\n\t\tthis.svg.setAttributeNS(null, 'height', this.perimetr);\n\n\t\tthis.progressBg = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\n\t\tthis.progressBg.setAttributeNS(null, 'r', this.radius - 10);\n\t\tthis.progressBg.setAttributeNS(null, 'cx', this.radius);\n\t\tthis.progressBg.setAttributeNS(null, 'cy', this.radius);\n\t\tthis.progressBg.setAttributeNS(null, 'class', 'ui-graph-circle-bar-bg');\n\n\t\tthis.progressMove = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\n\t\tthis.progressMove.setAttributeNS(null, 'r', this.radius - 10);\n\t\tthis.progressMove.setAttributeNS(null, 'cx', this.radius);\n\t\tthis.progressMove.setAttributeNS(null, 'cy', this.radius);\n\t\tthis.progressMove.setAttributeNS(null, 'stroke-dasharray', this.getCircumFerence());\n\t\tthis.progressMove.setAttributeNS(null, 'stroke-dashoffset', this.getCircumFerence());\n\t\tthis.progressMove.setAttributeNS(null, 'class', 'ui-graph-circle-bar-progress');\n\n\t\tDom.append(this.progressBg, this.svg);\n\t\tDom.append(this.progressMove, this.svg);\n\n\t\treturn this.svg;\n\t}\n\n\tanimateFixedBar()\n\t{\n\t\tthis.svg.setAttributeNS(null, 'class', 'ui-graph-circle-bar ui-graph-circle-bar-animate ui-graph-circle-bar-without-animate');\n\t\tthis.progressMove.setAttributeNS(null, 'stroke-dashoffset', 0);\n\t}\n\n\tanimateProgressBar()\n\t{\n\t\tthis.svg.setAttributeNS(null, 'class', 'ui-graph-circle-bar ui-graph-circle-bar-animate');\n\t\tthis.progressMove.setAttributeNS(null, 'stroke-dashoffset', this.getCircumProgress());\n\t}\n\n\tcreateNumberBlock()\n\t{\n\t\tthis.number = Dom.create('div', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'ui-graph-circle-number',\n\t\t\t\t'data-progress': this.progressBar\n\t\t\t}\n\t\t});\n\n\t\treturn this.number;\n\t}\n\n\tcreateWavesBlock()\n\t{\n\t\treturn Dom.create('div', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'ui-graph-circle-waves-wrapper'\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tthis.waves = Dom.create('div', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tclassName: 'ui-graph-circle-waves'\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tthis.leftWave = Dom.create('div', {\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclassName: 'ui-graph-circle-waves-left'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.rightWave = Dom.create('div', {\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\tclassName: 'ui-graph-circle-waves-right'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t}\n\n\tanimateWavesBlock(fixCounter)\n\t{\n\t\tlet progress = this.progressBar;\n\n\t\tif (fixCounter)\n\t\t{\n\t\t\tif (progress <= 50)\n\t\t\t{\n\t\t\t\tprogress = 45;\n\t\t\t}\n\n\t\t\tif (progress > 50)\n\t\t\t{\n\t\t\t\tprogress = 85;\n\t\t\t}\n\n\t\t\tthis.progressBar <= 25 ? progress = 25 : null;\n\t\t\tthis.waves.style.transform = 'translateY(-' + progress + '%)';\n\t\t}\n\n\t\tthis.progressBar <= 25 ? progress = 25 : null;\n\t\tthis.waves.style.transform = 'translateY(-' + progress + '%)';\n\t}\n\n\tanimateBothWaves()\n\t{\n\t\tlet currentPosWaveLeft = 0;\n\t\tlet currentPosWaveRight = 50;\n\t\tlet fps = 15;\n\t\tlet now;\n\t\tlet then = Date.now();\n\t\tlet interval = 1000 / fps;\n\t\tlet delta;\n\n\t\tfunction draw()\n\t\t{\n\n\t\t\trequestAnimationFrame(draw);\n\t\t\tnow = Date.now();\n\t\t\tdelta = now - then;\n\n\t\t\tif (delta > interval)\n\t\t\t{\n\t\t\t\tthen = now - (delta % interval);\n\n\t\t\t\tconst leftWave = document.querySelector('.ui-graph-circle-waves-left');\n\t\t\t\tconst rightWave = document.querySelector('.ui-graph-circle-waves-right');\n\n\t\t\t\tcurrentPosWaveLeft += 1;\n\t\t\t\tcurrentPosWaveRight -= 1;\n\n\t\t\t\tleftWave.style.transform = 'translate3d(' + currentPosWaveLeft + '%, 0, 0)';\n\t\t\t\trightWave.style.transform = 'translate3d(' + currentPosWaveRight + '%, 0, 0)';\n\n\t\t\t\tif (parseInt(currentPosWaveLeft, 10) >= 50)\n\t\t\t\t{\n\t\t\t\t\tcurrentPosWaveLeft = 0;\n\t\t\t\t}\n\n\t\t\t\tif (parseInt(currentPosWaveRight, 10) <= 0)\n\t\t\t\t{\n\t\t\t\t\tcurrentPosWaveRight = 50;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdraw();\n\t}\n\n\tcreateWrapper()\n\t{\n\t\tthis.graph = Dom.create('div', {\n\t\t\tattrs: {\n\t\t\t\tclassName: 'ui-graph-circle-wrapper'\n\t\t\t}\n\t\t});\n\n\t\tDom.append(this.createCircle(), this.graph);\n\t\tDom.append(this.createNumberBlock(), this.graph);\n\t\tDom.append(this.createWavesBlock(), this.graph);\n\n\t\treturn this.graph;\n\t}\n\n\taddWrapperClass()\n\t{\n\t\tDom.addClass(this.graph, 'ui-graph-circle-wrapper-animate');\n\n\t\tif (this.fixCounter)\n\t\t{\n\t\t\tDom.addClass(this.graph, 'ui-graph-circle-counter');\n\t\t}\n\t}\n\n\tanimateNumber(fixCounter)\n\t{\n\t\tlet progress = this.progressBar;\n\n\t\tif (fixCounter)\n\t\t{\n\t\t\tprogress = fixCounter;\n\t\t}\n\n\t\tif (Number(progress) <= 0)\n\t\t{\n\t\t\tif (fixCounter)\n\t\t\t{\n\t\t\t\tthis.number.innerHTML = '0';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.number.innerHTML = '0' + ' <span>%</span>';\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (fixCounter)\n\t\t{\n\t\t\tthis.number.innerHTML = fixCounter;\n\t\t\tthis.number.innerHTML.length >= 4 ? this.graph.classList.add('ui-graph-font-sm') : null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlet i = 0;\n\t\t\tlet time = 1000 / progress;\n\t\t\tlet interval = setInterval(function() {\n\t\t\t\ti++;\n\t\t\t\tthis.number.innerHTML = i + ' <span>%</span>';\n\t\t\t\ti === Number(progress) ? clearInterval(interval) : null;\n\t\t\t}.bind(this), time);\n\t\t}\n\t}\n\n\tupdateCounter(counter, fixCounter)\n\t{\n\t\tthis.progressBar = counter;\n\n\t\tif (fixCounter)\n\t\t{\n\t\t\tthis.progressMove.setAttributeNS(null, 'stroke-dashoffset', 0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.progressMove.setAttributeNS(null, 'stroke-dashoffset', this.getCircumProgress());\n\t\t}\n\t\tthis.animateNumber(fixCounter);\n\t\tthis.animateWavesBlock(fixCounter);\n\t}\n\n\tshow()\n\t{\n\t\tDom.append(this.createWrapper(), this.domNode);\n\n\t\tsetTimeout(function() {\n\t\t\tthis.addWrapperClass();\n\t\t\tthis.animateNumber(this.fixCounter);\n\t\t\tif (this.fixCounter)\n\t\t\t{\n\t\t\t\tthis.animateFixedBar();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.animateProgressBar();\n\t\t\t}\n\n\t\t\tif (this.withoutWaves)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.animateBothWaves();\n\t\t\t\tthis.animateWavesBlock(this.fixCounter);\n\t\t\t}\n\t\t}.bind(this), 500);\n\t}\n}\n"],"names":["Circle","constructor","domNode","perimetr","progressBar","fixCounter","withoutWaves","radius","Number","progressBg","number","waves","leftWave","rightWave","getCircumFerence","getCircumProgress","createCircle","svg","document","createElementNS","setAttributeNS","progressMove","Dom","append","animateFixedBar","animateProgressBar","createNumberBlock","create","attrs","className","createWavesBlock","children","animateWavesBlock","progress","style","transform","animateBothWaves","currentPosWaveLeft","currentPosWaveRight","fps","now","then","Date","interval","delta","draw","requestAnimationFrame","querySelector","parseInt","createWrapper","graph","addWrapperClass","addClass","animateNumber","innerHTML","length","classList","add","i","time","setInterval","clearInterval","bind","updateCounter","counter","show","setTimeout"],"mappings":"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"}