{"version":3,"file":"slx.progressbar.min.js","sources":["dist/js/slx.progressbar.js"],"sourcesContent":["/**\r\n * SlxControls 1.2.36 ({@link https://www.selerix.com})\r\n * This is unpublished proprietary source code of Selerix Systems, Inc. The\r\n * copyright notice above is not evidence any actual or intended\r\n * publication of such source code.\r\n * @copyright Copyright 2024 Selerix Systems, Inc. All Rights Reserved.\r\n */\r\n(function (global) {\r\n\t'use strict';\r\n\tvar x = global.SlxControl;\r\n\r\n\t/**\r\n\t * slx.progressBar\r\n\t * @requires slx.core\r\n\t * @constructs\r\n\t */\r\n\tx.slx.progressBar = function () {\r\n\t\tvar that = this;\r\n\t\tx.slx.base.apply(that, arguments);\r\n\r\n\t\t// reference current element\r\n\t\tvar el = that._element;\r\n\t\tif (el === void 0) { return this; }\r\n\t\telse if (el.length === 0) { return el; }\r\n\r\n\t\t// set custom settings from data props and attributes\r\n\t\tthat.id = that.id || el.slxUniqueId();\r\n\t\tthat.selector = '#' + that.id;\r\n\t\t// progress order\r\n\t\tthat._ord = el.data('progress-order');\r\n\t\tif (typeof (that._ord) === 'string') { that._ord = that._ord.replaceAll(' ', '').split(','); }\r\n\t\tthat.progressOrder = that.progressOrder || that._ord || ['default', 'success', 'info', 'warning', 'danger'];\r\n\t\tthat.progressBars = that.progressBars || [];\r\n\t\tthat.container = x(that.selector + '_container');\r\n\t\tthat.onChange = that.onChange || el.attr('onchange') !== void 0 ? x.eval.call(el[0], el.attr('onchange'), 'event') : void 0;\r\n\t\tthat.overlays = that.overlays !== void 0 ? that.overlays : el.data('overlays') !== void 0 ? el.data('overlays') : true;\r\n\t\tthat.tooltips = that.tooltips !== void 0 ? that.tooltips : el.data('tooltips') !== void 0 ? el.data('tooltips') : true;\r\n\t\tthat.tooltipPlacement = that.tooltipPlacement || el.data('tooltip-placement') || 'top';\r\n\t\tthat.active = that.active || el.data('active') || false;\r\n\r\n\t\tdelete that._ord;\r\n\r\n\t\t// get and set values of progress bars\r\n\t\tthat.value = function (index, val) {\r\n\t\t\tvar v = arguments.length === 1 ? index : val;\r\n\t\t\tvar i = arguments.length <= 1 ? 0 : index;\r\n\r\n\t\t\t// get progress bar by index\r\n\t\t\tvar b = that.progressBars[i];\r\n\t\t\tif (arguments.length === 0) { return b.value; }\r\n\t\t\tb.value = v;\r\n\r\n\t\t\t// set progress value\r\n\t\t\tif (that.progressBars.length === 0) return el.slxVal.apply(el, arguments);\r\n\r\n\t\t\t// get progress bar element\r\n\t\t\tvar bar = el.children('.progress-bar:nth-child(' + (i + 1) + ')');\r\n\t\t\tvar ischange = bar.aria('valuenow') !== v;\r\n\r\n\t\t\t// calculate values\r\n\t\t\tvar w = (b.value / b.max) * 100;\r\n\t\t\tvar txt = parseInt(w, 10) + '%';\r\n\t\t\t// update values\r\n\t\t\tbar.aria('valuenow', v).css({ width: w + '%' });\r\n\t\t\tif (that.tooltips) { bar.attr('data-original-title', txt); }\r\n\t\t\t// trigger change event\r\n\t\t\tif (ischange) {\r\n\t\t\t\tif (that.overlays) { that.text(i, txt); }\r\n\t\t\t\tel.trigger('change');\r\n\t\t\t}\r\n\r\n\t\t\treturn that;\r\n\t\t};\r\n\t\t// get and set text of progress bars\r\n\t\tthat.text = function (index, val) {\r\n\t\t\tvar v = arguments.length === 1 ? index : val;\r\n\t\t\tvar i = arguments.length <= 1 ? 0 : index;\r\n\r\n\t\t\t// get progress bar by index\r\n\t\t\tvar b = that.progressBars[i];\r\n\t\t\tif (arguments.length === 0) { return b.text; }\r\n\t\t\tb.text = v;\r\n\r\n\t\t\t// update text of progress bar element\r\n\t\t\tvar bar = el.children('.progress-bar:nth-child(' + (i + 1) + ')');\r\n\t\t\treturn bar.slxText(v);\r\n\t\t};\r\n\t\t// set progress by index\r\n\t\tthat.progress = function (index) {\r\n\t\t\tvar i = index || 0;\r\n\t\t\tif (that.progressBars.length <= i) { return {}; }\r\n\t\t\treturn that.progressBars[i];\r\n\t\t};\r\n\t\t// get total progress\r\n\t\tthat.total = function (length) {\r\n\t\t\tvar t = 0;\r\n\t\t\tvar n = length === void 0 ? that.progressBars.length - 1 : length;\r\n\t\t\tfor (var i = 0; i < n; i++) {\r\n\t\t\t\tvar p = that.progress(i).value;\r\n\t\t\t\tt += p >= 0 ? p : 0;\r\n\t\t\t}\r\n\t\t\treturn t;\r\n\t\t};\r\n\t\t// build progress bars\r\n\t\tthat.build = function() {\r\n\t\t\tel.empty();\r\n\r\n\t\t\t// update progress bar values\r\n\t\t\tfor (var i = 0; i < that.progressBars.length; i++) {\r\n\t\t\t\tvar bar = that.progressBars[i];\r\n\t\t\t\tbar.theme = bar.theme || 'default';\r\n\t\t\t\tbar.value = bar.value || 0;\r\n\t\t\t\tbar.text = bar.value || '';\r\n\t\t\t\tbar.min = bar.min || 0;\r\n\t\t\t\tbar.max = bar.max || 100;\r\n\t\t\t\tbar.active = bar.active || false;\r\n\r\n\t\t\t\t// calculate values\r\n\t\t\t\tvar w = (bar.value / bar.max) * 100;\r\n\t\t\t\tbar.text = parseInt(w, 10) + '%';\r\n\t\t\t\tvar themeClass = 'slx-progress-bar-' + bar.theme;\r\n\t\t\t\tif (x.slx.config.bootstrap === 3) {\r\n\t\t\t\t\t// set theme for bootstrap 3\r\n\t\t\t\t\tthemeClass = 'progress-bar-' + bar.theme;\r\n\t\t\t\t} else if (x.slx.config.bootstrap >= 4) {\r\n\t\t\t\t\t// set theme for bootstrap >= 4\r\n\t\t\t\t\tthemeClass = 'bg-' + bar.theme;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add progress bar to DOM\r\n\t\t\t\tvar p = x('
').addClass('progress-bar').addClass(themeClass).attr('role','progressbar').aria('valuenow', bar.value).aria('valuemin', bar.min).aria('valuemax', bar.max);\r\n\t\t\t\tif (bar.active) { p.addClass('progress-bar-striped active'); }\r\n\t\t\t\tp.css({ width: w + '%' });\r\n\t\t\t\tel.append(p);\r\n\r\n\t\t\t\t// add overlays and tooltips\r\n\t\t\t\tif (that.overlays) { p.text(bar.text); }\r\n\t\t\t\tif (that.tooltips) {\r\n\t\t\t\t\tp.attr('data-toggle', 'tooltip').attr('data-placement', that.tooltipPlacement).attr('title', bar.text);\r\n\t\t\t\t\tp.tooltip();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t/* initialization */\r\n\t\t(function () {\r\n\t\t\t// wrap in container if needed\r\n\t\t\tif (that.container.length === 0) {\r\n\t\t\t\tel.wrap(x('
').attr('id', that.id + '_container').attr('data-target', that.selector).addClass('slx-progress-container'));\r\n\t\t\t\tthat.container = x(that.selector + '_container');\r\n\t\t\t}\r\n\t\t\t// add classes as needed\r\n\t\t\tif (!el.hasClass('slx-progress')) { el.addClass('slx-progress'); }\r\n\t\t\tif (!el.hasClass('progress')) { el.addClass('progress'); }\r\n\r\n\t\t\t// add progress bars\r\n\t\t\tvar i, p, d, a;\r\n\t\t\tif (that.progressBars.length === 0) {\r\n\t\t\t\tfor (i = 0; i < that.progressOrder.length; i++) {\r\n\t\t\t\t\tp = that.progressOrder[i], d = p === 'default' ? 'value' : p, a = p === 'default' ? that.active : el.data(p + '-active') || false;\r\n\t\t\t\t\tif (el.data(d) !== void 0) {\r\n\t\t\t\t\t\tthat.progressBars.push({\r\n\t\t\t\t\t\t\ttheme: p,\r\n\t\t\t\t\t\t\tvalue: el.data(d),\r\n\t\t\t\t\t\t\ttext: el.data(p + '-text'),\r\n\t\t\t\t\t\t\tmin: el.data(p + '-min'),\r\n\t\t\t\t\t\t\tmax: el.data(p + '-max'),\r\n\t\t\t\t\t\t\tactive: a\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// add at least one default progress bar if needed\r\n\t\t\tif (that.progressBars.length === 0) {\r\n\t\t\t\tthat.progressBars.push({\r\n\t\t\t\t\ttheme: 'default',\r\n\t\t\t\t\tvalue: el.data('value'),\r\n\t\t\t\t\ttext: el.data('default-text'),\r\n\t\t\t\t\tmin: el.data('default-min'),\r\n\t\t\t\t\tmin: el.data('default-max'),\r\n\t\t\t\t\tactive: that.active\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthat.build();\r\n\r\n\t\t\t// trigger render event\r\n\t\t\tif (that.toString() === '[progressBar]') { setTimeout(function () { el.trigger('render'); }, 0); }\r\n\t\t})();\r\n\r\n\t\t/* events */\r\n\t\t(function () {\r\n\t\t\t// element change event\r\n\t\t\tel.off('change.slx.pb').on('change.slx.pb', function (event) {\r\n\t\t\t\tif (typeof that.onChange === 'function') {\r\n\t\t\t\t\tthat.onChange.call(el[0], event);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t})();\r\n\r\n\t\t// register control w/ element\r\n\t\tel[0].slxProgressBar = this;\r\n\t\tel[0].isSlxControl = true;\r\n\r\n\t\treturn el;\r\n\t};\r\n\t// update constructor\r\n\tx.slx.progressBar.prototype = Object.create(x.slx.base.prototype);\r\n\tx.slx.progressBar.prototype.constructor = x.slx.progressBar;\r\n\r\n\t/* extenders */\r\n\tx.slx.extend({\r\n\t\t// add control init extension\r\n\t\tslxProgressBar: function () {\r\n\t\t\tvar slx = this.slxControl('slxProgressBar', arguments) || new x.slx.progressBar(this, arguments);\r\n\t\t\tif (arguments.length > 0) {\r\n\t\t\t\tvar arg = arguments[0], args = Array.prototype.slice.call(arguments, 1);\r\n\t\t\t\tif (typeof arg === 'string' && slx.hasOwnProperty(arg)) { return typeof slx[arg] === 'function' ? slx[arg].apply(slx, args) : slx[arg]; }\r\n\t\t\t\telse if (typeof arg !== 'string') { x.extend(slx, arg); }\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t});\r\n\t\r\n\t// register control\r\n\tx.slx.register('slxProgressBar', x.slx.slxProgressBar);\r\n\r\n\t// initialize all controls by CSS class\r\n\tx(function () { x('.slx-progress').each(function () { x(this).slxProgressBar(); }); });\r\n\r\n\treturn x;\r\n})(window || this);"],"names":["global","x","SlxControl","slx","progressBar","i","p","d","a","that","this","el","base","apply","arguments","_element","length","id","slxUniqueId","selector","_ord","data","replaceAll","split","progressOrder","progressBars","container","onChange","attr","eval","call","overlays","tooltips","tooltipPlacement","active","value","index","val","bar","ischange","txt","v","b","slxVal","children","aria","w","max","parseInt","css","width","text","trigger","slxText","progress","total","t","n","build","empty","theme","min","themeClass","config","bootstrap","addClass","append","tooltip","wrap","hasClass","push","toString","setTimeout","off","on","event","slxProgressBar","isSlxControl","prototype","Object","create","constructor","extend","slxControl","arg","args","Array","slice","hasOwnProperty","register","each","window"],"mappings":"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"}