diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:23 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:44 +0000 |
commit | 836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch) | |
tree | 1604da8f482d02effa033c94a84be42bc0c848c3 /web/gui/src/dashboard.js/common.js | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip |
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/gui/src/dashboard.js/common.js')
-rw-r--r-- | web/gui/src/dashboard.js/common.js | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/web/gui/src/dashboard.js/common.js b/web/gui/src/dashboard.js/common.js deleted file mode 100644 index 4a97babe..00000000 --- a/web/gui/src/dashboard.js/common.js +++ /dev/null @@ -1,249 +0,0 @@ - -// Compute common (joint) values over multiple charts. - - -// commonMin & commonMax - -NETDATA.commonMin = { - keys: {}, - latest: {}, - - globalReset: function () { - this.keys = {}; - this.latest = {}; - }, - - get: function (state) { - if (typeof state.tmp.__commonMin === 'undefined') { - // get the commonMin setting - state.tmp.__commonMin = NETDATA.dataAttribute(state.element, 'common-min', null); - } - - let min = state.data.min; - let name = state.tmp.__commonMin; - - if (name === null) { - // we don't need commonMin - //state.log('no need for commonMin'); - return min; - } - - let t = this.keys[name]; - if (typeof t === 'undefined') { - // add our commonMin - this.keys[name] = {}; - t = this.keys[name]; - } - - let uuid = state.uuid; - if (typeof t[uuid] !== 'undefined') { - if (t[uuid] === min) { - //state.log('commonMin ' + state.tmp.__commonMin + ' not changed: ' + this.latest[name]); - return this.latest[name]; - } else if (min < this.latest[name]) { - //state.log('commonMin ' + state.tmp.__commonMin + ' increased: ' + min); - t[uuid] = min; - this.latest[name] = min; - return min; - } - } - - // add our min - t[uuid] = min; - - // find the common min - let m = min; - // for (let i in t) { - // if (t.hasOwnProperty(i) && t[i] < m) m = t[i]; - // } - for (var ti of Object.values(t)) { - if (ti < m) { - m = ti; - } - } - - //state.log('commonMin ' + state.tmp.__commonMin + ' updated: ' + m); - this.latest[name] = m; - return m; - } -}; - -NETDATA.commonMax = { - keys: {}, - latest: {}, - - globalReset: function () { - this.keys = {}; - this.latest = {}; - }, - - get: function (state) { - if (typeof state.tmp.__commonMax === 'undefined') { - // get the commonMax setting - state.tmp.__commonMax = NETDATA.dataAttribute(state.element, 'common-max', null); - } - - let max = state.data.max; - let name = state.tmp.__commonMax; - - if (name === null) { - // we don't need commonMax - //state.log('no need for commonMax'); - return max; - } - - let t = this.keys[name]; - if (typeof t === 'undefined') { - // add our commonMax - this.keys[name] = {}; - t = this.keys[name]; - } - - let uuid = state.uuid; - if (typeof t[uuid] !== 'undefined') { - if (t[uuid] === max) { - //state.log('commonMax ' + state.tmp.__commonMax + ' not changed: ' + this.latest[name]); - return this.latest[name]; - } else if (max > this.latest[name]) { - //state.log('commonMax ' + state.tmp.__commonMax + ' increased: ' + max); - t[uuid] = max; - this.latest[name] = max; - return max; - } - } - - // add our max - t[uuid] = max; - - // find the common max - let m = max; - // for (let i in t) { - // if (t.hasOwnProperty(i) && t[i] > m) m = t[i]; - // } - for (var ti of Object.values(t)) { - if (ti > m) { - m = ti; - } - } - - //state.log('commonMax ' + state.tmp.__commonMax + ' updated: ' + m); - this.latest[name] = m; - return m; - } -}; - -NETDATA.commonColors = { - keys: {}, - - globalReset: function () { - this.keys = {}; - }, - - get: function (state, label) { - let ret = this.refill(state); - - if (typeof ret.assigned[label] === 'undefined') { - ret.assigned[label] = ret.available.shift(); - } - - return ret.assigned[label]; - }, - - refill: function (state) { - let ret, len; - - if (typeof state.tmp.__commonColors === 'undefined') { - ret = this.prepare(state); - } else { - ret = this.keys[state.tmp.__commonColors]; - if (typeof ret === 'undefined') { - ret = this.prepare(state); - } - } - - if (ret.available.length === 0) { - if (ret.copy_theme || ret.custom.length === 0) { - // copy the theme colors - len = NETDATA.themes.current.colors.length; - while (len--) { - ret.available.unshift(NETDATA.themes.current.colors[len]); - } - } - - // copy the custom colors - len = ret.custom.length; - while (len--) { - ret.available.unshift(ret.custom[len]); - } - } - - state.colors_assigned = ret.assigned; - state.colors_available = ret.available; - state.colors_custom = ret.custom; - - return ret; - }, - - __read_custom_colors: function (state, ret) { - // add the user supplied colors - let c = NETDATA.dataAttribute(state.element, 'colors', undefined); - if (typeof c === 'string' && c.length > 0) { - c = c.split(' '); - let len = c.length; - - if (len > 0 && c[len - 1] === 'ONLY') { - len--; - ret.copy_theme = false; - } - - while (len--) { - ret.custom.unshift(c[len]); - } - } - }, - - prepare: function (state) { - let has_custom_colors = false; - - if (typeof state.tmp.__commonColors === 'undefined') { - let defname = state.chart.context; - - // if this chart has data-colors="" - // we should use the chart uuid as the default key (private palette) - // (data-common-colors="NAME" will be used anyways) - let c = NETDATA.dataAttribute(state.element, 'colors', undefined); - if (typeof c === 'string' && c.length > 0) { - defname = state.uuid; - has_custom_colors = true; - } - - // get the commonColors setting - state.tmp.__commonColors = NETDATA.dataAttribute(state.element, 'common-colors', defname); - } - - let name = state.tmp.__commonColors; - let ret = this.keys[name]; - - if (typeof ret === 'undefined') { - // add our commonMax - this.keys[name] = { - assigned: {}, // name-value of dimensions and their colors - available: [], // an array of colors available to be used - custom: [], // the array of colors defined by the user - charts: {}, // the charts linked to this - copy_theme: true - }; - ret = this.keys[name]; - } - - if (typeof ret.charts[state.uuid] === 'undefined') { - ret.charts[state.uuid] = state; - - if (has_custom_colors) { - this.__read_custom_colors(state, ret); - } - } - - return ret; - } -}; |