diff --git a/docs/HistogramTable.js b/docs/HistogramTable.js index f4ff2b6ed14..ec40d963820 100644 --- a/docs/HistogramTable.js +++ b/docs/HistogramTable.js @@ -40,15 +40,14 @@ class HistogramTable { ] }, { - render: (data, type, row, meta) => { - // FK-TODO: refactor - const numberWithBar = UIUtils.instantiateTemplate('template-number-with-bar'); - const bar = numberWithBar.querySelector('.bar'); - bar.style.width = (data / this.#sumFrequencies * 100).toString() + "%"; - const number = numberWithBar.querySelector('.number'); - number.textContent = data; - return numberWithBar.outerHTML; - }, + render: frequency => + NumberWithBarElementFactory + .createNumberWithBarElement( + { + number: frequency, + barLenInPercent: frequency / this.#sumFrequencies * 100 + }) + .outerHTML, targets: [this.#getColumnIndex('Frequency')] } ] diff --git a/docs/NumberWithBarElementFactory.js b/docs/NumberWithBarElementFactory.js new file mode 100644 index 00000000000..a2fffa6c4bc --- /dev/null +++ b/docs/NumberWithBarElementFactory.js @@ -0,0 +1,14 @@ +class NumberWithBarElementFactory { + + static createNumberWithBarElement({ number, barLenInPercent }) { + const numberWithBarElement = UIUtils.instantiateTemplate('template-number-with-bar'); + + const barElement = numberWithBarElement.querySelector('.bar'); + barElement.style.width = barLenInPercent.toString() + "%"; + + const numberElement = numberWithBarElement.querySelector('.number'); + numberElement.textContent = number; + + return numberWithBarElement; + } +} \ No newline at end of file diff --git a/docs/batchCodeTable.html b/docs/batchCodeTable.html index 3c249237e5d..0b2dae62754 100644 --- a/docs/batchCodeTable.html +++ b/docs/batchCodeTable.html @@ -28,6 +28,7 @@ +