From 1e62fc7941a993c51016e91aa85c9ee586726bf5 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Mon, 15 Jun 2020 06:50:16 +0000 Subject: [PATCH] version v0.1 --- grafana_patch/modified_file.js | 126783 ++++++++++++++++++++++++++++++ 1 file changed, 126783 insertions(+) create mode 100644 grafana_patch/modified_file.js diff --git a/grafana_patch/modified_file.js b/grafana_patch/modified_file.js new file mode 100644 index 00000000..6788df05 --- /dev/null +++ b/grafana_patch/modified_file.js @@ -0,0 +1,126783 @@ +/*! For license information please see app.62aab03371bdbe8128d7.js.LICENSE.txt */ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [28], + { + "+4lh": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return v; + }); + var r = n("Obii"), + a = n("0/uQ"), + o = n("t8hP"), + i = n("3x4x"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function c(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + s(o, r, a, i, l, "next", e); + } + function l(e) { + s(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function u(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function f(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(n), !0).forEach(function (t) { + d(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : u(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function d(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function h(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function m(e) { + return (m = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function g(e, t) { + return (g = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var b; + !(function (e) { + (e.Unknown = "UNKNOWN"), (e.OK = "OK"), (e.Error = "ERROR"); + })(b || (b = {})); + var v = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + h(this, m(t).call(this, e)) + ); + } + var r, l, s, u, d, v, y, w; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && g(e, t); + })(t, e), + (r = t), + (l = [ + { + key: "query", + value: function (e) { + var t = this, + n = e.targets, + r = e.intervalMs, + l = e.maxDataPoints, + s = e.range, + c = e.requestId, + u = o.config.bootData.user.orgId, + d = { + queries: n.map(function (e) { + if ("__expr__" === e.datasource) + return f({}, e, { datasourceId: t.id, orgId: u }); + var n = + e.datasource && "default" !== e.datasource + ? e.datasource + : o.config.defaultDatasource, + a = o.config.datasources[n]; + if (!a) + throw new Error("Unknown Datasource: " + e.datasource); + return f({}, t.applyTemplateVariables(e), { + datasourceId: a.id, + intervalMs: r, + maxDataPoints: l, + orgId: u, + }); + }), + }; + s && + ((d.range = s), + (d.from = s.from.valueOf().toString()), + (d.to = s.to.valueOf().toString())); + var p = Object(i.c)() + .datasourceRequest({ + url: "/api/ds/query", + method: "POST", + data: d, + requestId: c, + }) + .then(function (e) { + return t.toDataQueryResponse(null == e ? void 0 : e.data); + }); + return Object(a.a)(p); + }, + }, + { + key: "applyTemplateVariables", + value: function (e) { + return e; + }, + }, + { + key: "toDataQueryResponse", + value: + ((w = c( + regeneratorRuntime.mark(function e(t) { + var r, a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.resolve().then(n.bind(null, "JL5c")) + ); + case 2: + return ( + (r = e.sent), + (a = r.resultsToDataFrames), + e.abrupt("return", { data: a(t) }) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e) { + return w.apply(this, arguments); + }), + }, + { + key: "getResource", + value: + ((y = c( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + Object(i.c)().get( + "/api/datasources/" + .concat(this.id, "/resources/") + .concat(t), + n + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return y.apply(this, arguments); + }), + }, + { + key: "postResource", + value: + ((v = c( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + Object(i.c)().post( + "/api/datasources/" + .concat(this.id, "/resources/") + .concat(t), + f({}, n) + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return v.apply(this, arguments); + }), + }, + { + key: "callHealthCheck", + value: + ((d = c( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + Object(i.c)() + .get( + "/api/datasources/".concat( + this.id, + "/health" + ) + ) + .then(function (e) { + return e; + }) + .catch(function (e) { + return (e.isHandled = !0), e.data; + }) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return d.apply(this, arguments); + }), + }, + { + key: "testDatasource", + value: + ((u = c( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.callHealthCheck().then(function (e) { + return e.status === b.OK + ? { status: "success", message: e.message } + : { status: "fail", message: e.message }; + }) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return u.apply(this, arguments); + }), + }, + ]) && p(r.prototype, l), + s && p(r, s), + t + ); + })(r.DataSourceApi); + }, + "+99A": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return j; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("ZFWI"), + l = n("kDLi"); + function s(e) { + return (s = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function c() { + var e = p(["\n font-weight: 500;\n "]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = p([ + "\n font-style: italic;\n margin-right: 0.6rem;\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = p(["\n font-weight: 500;\n "]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d() { + var e = p([ + "\n margin-top: 0.8rem;\n > * {\n margin-right: 16px;\n }\n ", + ]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function h(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function m(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? h(Object(n), !0).forEach(function (t) { + g(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : h(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function g(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function b(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function v(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function y(e, t, n) { + return t && v(e.prototype, t), n && v(e, n), e; + } + function w(e, t) { + return !t || ("object" !== s(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function O(e) { + return (O = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function x(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && k(e, t); + } + function k(e, t) { + return (k = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var j = (function (e) { + function t() { + var e, n; + b(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = w( + this, + (e = O(t)).call.apply(e, [this].concat(a)) + )).state = { + isLoading: !1, + showDeleteModal: !1, + showDisableModal: !1, + }), + (n.showDeleteUserModal = function (e) { + return function () { + n.setState({ showDeleteModal: e }); + }; + }), + (n.showDisableUserModal = function (e) { + return function () { + n.setState({ showDisableModal: e }); + }; + }), + (n.onUserDelete = function () { + var e = n.props, + t = e.user; + (0, e.onUserDelete)(t.id); + }), + (n.onUserDisable = function () { + var e = n.props, + t = e.user; + (0, e.onUserDisable)(t.id); + }), + (n.onUserEnable = function () { + var e = n.props, + t = e.user; + (0, e.onUserEnable)(t.id); + }), + (n.onUserNameChange = function (e) { + var t = n.props, + r = t.user; + (0, t.onUserUpdate)(m({}, r, { name: e })); + }), + (n.onUserEmailChange = function (e) { + var t = n.props, + r = t.user; + (0, t.onUserUpdate)(m({}, r, { email: e })); + }), + (n.onUserLoginChange = function (e) { + var t = n.props, + r = t.user; + (0, t.onUserUpdate)(m({}, r, { login: e })); + }), + (n.onPasswordChange = function (e) { + n.props.onPasswordChange(e); + }), + n + ); + } + return ( + x(t, e), + y(t, [ + { + key: "render", + value: function () { + var e, + t = this.props.user, + n = this.state, + r = n.showDeleteModal, + o = n.showDisableModal, + s = + (null === (e = t.authLabels) || void 0 === e + ? void 0 + : e.length) && t.authLabels[0], + c = s ? "Synced via ".concat(s) : "", + u = S(i.a.theme); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "User information" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + a.a.createElement(E, { + label: "Name", + value: t.name, + locked: t.isExternal, + lockMessage: c, + onChange: this.onUserNameChange, + }), + a.a.createElement(E, { + label: "Email", + value: t.email, + locked: t.isExternal, + lockMessage: c, + onChange: this.onUserEmailChange, + }), + a.a.createElement(E, { + label: "Username", + value: t.login, + locked: t.isExternal, + lockMessage: c, + onChange: this.onUserLoginChange, + }), + a.a.createElement(E, { + label: "Password", + value: "********", + inputType: "password", + locked: t.isExternal, + lockMessage: c, + onChange: this.onPasswordChange, + }) + ) + ) + ), + a.a.createElement( + "div", + { className: u.buttonRow }, + a.a.createElement( + l.Forms.Button, + { + variant: "destructive", + onClick: this.showDeleteUserModal(!0), + }, + "Delete User" + ), + a.a.createElement(l.ConfirmModal, { + isOpen: r, + title: "Delete user", + body: "Are you sure you want to delete this user?", + confirmText: "Delete user", + onConfirm: this.onUserDelete, + onDismiss: this.showDeleteUserModal(!1), + }), + t.isDisabled + ? a.a.createElement( + l.Forms.Button, + { + variant: "secondary", + onClick: this.onUserEnable, + }, + "Enable User" + ) + : a.a.createElement( + l.Forms.Button, + { + variant: "secondary", + onClick: this.showDisableUserModal(!0), + }, + "Disable User" + ), + a.a.createElement(l.ConfirmModal, { + isOpen: o, + title: "Disable user", + body: "Are you sure you want to disable this user?", + confirmText: "Disable user", + onConfirm: this.onUserDisable, + onDismiss: this.showDisableUserModal(!1), + }) + ) + ) + ); + }, + }, + ]), + t + ); + })(r.PureComponent), + S = Object(l.stylesFactory)(function (e) { + return { buttonRow: Object(o.css)(d()) }; + }), + E = (function (e) { + function t() { + var e, n; + b(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = w( + this, + (e = O(t)).call.apply(e, [this].concat(a)) + )).state = { editing: !1, value: n.props.value || "" }), + (n.setInputElem = function (e) { + n.inputElem = e; + }), + (n.onEditClick = function () { + "password" === n.props.inputType + ? n.setState({ editing: !0, value: "" }, n.focusInput) + : n.setState({ editing: !0 }, n.focusInput); + }), + (n.onCancelClick = function () { + n.setState({ editing: !1, value: n.props.value || "" }); + }), + (n.onInputChange = function (e, t) { + t !== l.InputStatus.Invalid && + n.setState({ value: e.target.value }); + }), + (n.onInputBlur = function (e, t) { + t !== l.InputStatus.Invalid && + n.setState({ value: e.target.value }); + }), + (n.focusInput = function () { + n.inputElem && n.inputElem.focus && n.inputElem.focus(); + }), + (n.onSave = function () { + n.props.onChange && n.props.onChange(n.state.value); + }), + n + ); + } + return ( + x(t, e), + y(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.label, + n = e.locked, + r = e.lockMessage, + i = e.inputType, + s = this.state.value, + c = Object(o.cx)("width-16", Object(o.css)(f())), + u = Object(o.cx)("pull-right"); + return n + ? a.a.createElement(C, { + label: t, + value: s, + lockMessage: r, + }) + : a.a.createElement( + "tr", + null, + a.a.createElement("td", { className: c }, t), + a.a.createElement( + "td", + { className: "width-25", colSpan: 2 }, + this.state.editing + ? a.a.createElement(l.Input, { + className: "width-20", + type: i, + defaultValue: s, + onBlur: this.onInputBlur, + onChange: this.onInputChange, + inputRef: this.setInputElem, + }) + : a.a.createElement("span", null, this.props.value) + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: u }, + a.a.createElement( + l.ConfirmButton, + { + confirmText: "Save", + onClick: this.onEditClick, + onConfirm: this.onSave, + onCancel: this.onCancelClick, + }, + "Edit" + ) + ) + ) + ); + }, + }, + ]), + t + ); + })(r.PureComponent); + E.defaultProps = { + value: "", + locked: !1, + lockMessage: "", + inputType: "text", + }; + var C = function (e) { + var t = e.label, + n = e.value, + r = e.lockMessage, + i = Object(o.cx)("pull-right", Object(o.css)(u())), + l = Object(o.cx)("width-16", Object(o.css)(c())); + return a.a.createElement( + "tr", + null, + a.a.createElement("td", { className: l }, t), + a.a.createElement("td", { className: "width-25", colSpan: 2 }, n), + a.a.createElement( + "td", + null, + a.a.createElement("span", { className: i }, r) + ) + ); + }; + }, + "+CPp": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = { + query: null, + textbox: null, + constant: null, + datasource: null, + custom: null, + interval: null, + adhoc: null, + }, + a = { + contains: function (e) { + return !!r[e]; + }, + get: function (e) { + if (null !== r[e]) return r[e]; + throw new Error("There is no adapter for type:".concat(e)); + }, + set: function (e, t) { + return (r[e] = t); + }, + registeredTypes: function () { + return Object.keys(r) + .filter(function (e) { + return null !== r[e]; + }) + .map(function (e) { + return { type: e, label: r[e].label }; + }); + }, + }; + }, + "+JUD": function (e, t, n) { + "use strict"; + n.d(t, "e", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "b", function () { + return h; + }), + n.d(t, "d", function () { + return m; + }), + n.d(t, "f", function () { + return g; + }), + n.d(t, "a", function () { + return b; + }); + var r = n("SMGL"), + a = n("K47g"), + o = n("Obii"), + i = n("LvDl"), + l = n("Xmxp"), + s = (n("ZFWI"), n("5kRJ")), + c = n("eXZ6"), + u = n("GQ3c"), + f = n("Y2hc"), + d = function e(t, n, r) { + if (!1 === r) t.removePanel(n); + else { + var a = n.alert + ? "Panel includes an alert rule, removing panel will also remove alert rule" + : null, + o = n.alert ? "YES" : null; + l.b.emit(u.CoreEvents.showConfirmModal, { + title: "Remove Panel", + text: "Are you sure you want to remove this panel?", + text2: a, + icon: "fa-trash", + confirmText: o, + yesText: "Remove", + onConfirm: function () { + return e(t, n, !1); + }, + }); + } + }, + p = function (e, t) { + e.duplicatePanel(t); + }, + h = function (e) { + r.a.set(c.g, JSON.stringify(e.getSaveModel())), + l.b.emit(o.AppEvents.alertSuccess, [ + "Panel copied. Open Add Panel to paste", + ]); + }, + m = function (e, t) { + var n = { + object: t.getSaveModel(), + updateHandler: function (t, n) { + !(function (e, t, n) { + var r = e.panels.findIndex(function (e) { + return e.id === n.id; + }), + o = e.panels.splice(r, 1)[0]; + e.events.emit(a.c, o), + ((t = new a.a(t)).id = n.id), + e.panels.splice(r, 0, t), + e.sortPanelsByGridPos(), + e.events.emit(a.b, t); + })(e, t, n); + }, + canUpdate: e.meta.canEdit, + enableCopy: !0, + }; + l.b.emit(u.CoreEvents.showModal, { + src: "public/app/partials/edit_json.html", + model: n, + }); + }, + g = function (e, t) { + l.b.emit(u.CoreEvents.showModalReact, { + component: f.ShareModal, + props: { dashboard: e, panel: t }, + }); + }; + function b(e, t) { + var n = { timeInfo: "", timeRange: t }; + if (e.timeFrom) { + var r = s.b.replace(e.timeFrom, e.scopedVars), + a = o.rangeUtil.describeTextRange(r); + if (a.invalid) return (n.timeInfo = "invalid time override"), n; + if (Object(i.isString)(t.raw.from)) { + var l = o.dateMath.parse(a.from); + (n.timeInfo = a.display), + (n.timeRange = { + from: l, + to: o.dateMath.parse(a.to), + raw: { from: a.from, to: a.to }, + }); + } + } + if (e.timeShift) { + var c = s.b.replace(e.timeShift, e.scopedVars); + if (o.rangeUtil.describeTextRange(c).invalid) + return (n.timeInfo = "invalid timeshift"), n; + var u = "-" + c; + n.timeInfo += " timeshift " + u; + var f = o.dateMath.parseDateMath(u, n.timeRange.from, !1), + d = o.dateMath.parseDateMath(u, n.timeRange.to, !0); + n.timeRange = { from: f, to: d, raw: { from: f, to: d } }; + } + return e.hideTimeOverride && (n.timeInfo = ""), n; + } + }, + "+dgx": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("LvDl"), + i = n.n(o), + l = n("kDLi"), + s = n("t8hP"); + function c(e) { + return (c = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function u(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function p(e, t) { + return (p = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var h = (function (e) { + function t(e) { + var n, r, a; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (r = this), + ((n = + !(a = f(t).call(this, e)) || + ("object" !== c(a) && "function" != typeof a) + ? d(r) + : a).state = { isLoading: !1 }), + (n.search = n.search.bind(d(n))), + (n.debouncedSearch = Object(o.debounce)(n.search, 300, { + leading: !0, + trailing: !0, + })), + n + ); + } + var n, r, h; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && p(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "search", + value: function (e) { + var t = this; + return ( + this.setState({ isLoading: !0 }), + i.a.isNil(e) && (e = ""), + Object(s.getBackendSrv)() + .get("/api/org/users/lookup?query=".concat(e, "&limit=10")) + .then(function (e) { + return e.map(function (e) { + return { + id: e.userId, + value: e.userId, + label: e.login, + imgUrl: e.avatarUrl, + login: e.login, + }; + }); + }) + .finally(function () { + t.setState({ isLoading: !1 }); + }) + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.className, + n = e.onSelected, + r = this.state.isLoading; + return a.a.createElement( + "div", + { className: "user-picker" }, + a.a.createElement(l.AsyncSelect, { + className: t, + isLoading: r, + defaultOptions: !0, + loadOptions: this.debouncedSearch, + onChange: n, + placeholder: "Select user", + noOptionsMessage: function () { + return "No users found"; + }, + }) + ); + }, + }, + ]) && u(n.prototype, r), + h && u(n, h), + t + ); + })(r.Component); + }, + "+iHc": function (e, t, n) { + "use strict"; + var r = n("dt0z"), + a = n.n(r), + o = n("E+oP"), + i = n.n(o), + l = n("LvDl"), + s = n.n(l), + c = n("HJqT"), + u = n("GNR5"), + f = n("b+mb"), + d = n("IjGO"), + p = n("KgU3"), + h = n("2wGe"), + m = n("m+sf"), + g = n("oetV"), + b = n("UB5X"), + v = n.n(b); + function y(e, t) { + var n = t ? t.type : p.GrafanaThemeType.Dark, + r = e.config || {}, + a = r.thresholds, + o = r.color, + i = + o && o.mode === p.FieldColorMode.Fixed && o.fixedColor + ? Object(m.e)(o.fixedColor, n) + : void 0, + l = a && a.mode === p.ThresholdsMode.Percentage, + s = o && o.mode === p.FieldColorMode.Scheme; + if (l || s) { + var c = r.min, + u = r.max; + if (!v()(c) || !v()(u)) + if (e.values && e.values.length) { + var f = Object(h.n)({ field: e, reducers: [h.h.min, h.h.max] }); + v()(c) || (c = f[h.h.min]), v()(u) || (u = f[h.h.max]); + } else (c = 0), (u = 100); + var d, + b = u - c; + return ( + s && (d = g["interpolate".concat(o.schemeName)]), + function (e) { + var t = (e - c) / b, + r = a ? w(l ? 100 * t : e, a.steps) : void 0, + o = i; + return ( + d ? (o = d(t)) : r && (o = Object(m.e)(r.color, n)), + { percent: t, threshold: r, color: o } + ); + } + ); + } + return a + ? function (e) { + var t = w(e, a.steps); + return { + threshold: t, + color: null != i ? i : t ? Object(m.e)(t.color, n) : void 0, + }; + } + : i + ? function (e) { + return { color: i }; + } + : function (e) { + return {}; + }; + } + function w(e, t) { + var n = t[0], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = t[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + if (!(e >= s.value)) break; + n = s; + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + } + function O(e) { + return e.sort(function (e, t) { + return e.value - t.value; + }); + } + function x(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function k(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? x(Object(n), !0).forEach(function (t) { + j(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : x(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function j(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var S = { dateTimeAsIso: !0, dateTimeAsUS: !0, dateTimeFromNow: !0 }; + function E(e) { + var t; + if (!e || s.a.isEmpty(e) || !e.field) return P; + var n = e.field, + r = null !== (t = n.config) && void 0 !== t ? t : {}; + n.type === c.a.time && + ((r.unit && S[r.unit]) || + (r.unit && r.unit.startsWith("time:")) || + (r.unit = "time:".concat(d.a))); + var a = Object(u.b)(r.unit || "none"), + o = y(n, e.theme); + return function (t) { + var n = r.mappings, + i = s.a.toString(t), + l = C(t), + c = void 0, + u = void 0, + d = !0; + if (n && n.length > 0) { + var p = Object(f.a)(n, t); + if (p) { + var h = C((i = p.text)); + isNaN(h) || (l = h), (d = !1); + } + } + if (!isNaN(l)) { + if (d && !s.a.isBoolean(t)) { + var m = T(t, r.decimals), + g = m.decimals, + b = m.scaledDecimals, + v = a(l, g, b, e.timeZone); + if ( + ((i = v.text), + (u = v.suffix), + (c = v.prefix), + n && n.length > 0) + ) { + var y = Object(f.a)(n, i); + y && (i = y.text); + } + } + if (i) + return k({ text: i, numeric: l, prefix: c, suffix: u }, o(l)); + } + return ( + i || (i = r.noValue ? r.noValue : ""), + k({ text: i, numeric: l, prefix: c, suffix: u }, o(-1 / 0)) + ); + }; + } + function C(e) { + return "number" == typeof e + ? e + : "" === e || null == e || Array.isArray(e) + ? NaN + : "boolean" == typeof e + ? e + ? 1 + : 0 + : s.a.toNumber(e); + } + function P(e) { + return { text: s.a.toString(e), numeric: C(e) }; + } + function T(e, t) { + if (s.a.isNumber(t)) return { decimals: t, scaledDecimals: null }; + var n, + r = 1 - Math.floor(Math.log(e) / Math.LN10), + a = Math.pow(10, -r), + o = e / a; + o < 1.5 + ? (n = 1) + : o < 3 + ? ((n = 2), o > 2.25 && ((n = 2.5), ++r)) + : (n = o < 7.5 ? 5 : 10), + (n *= a), + e % 1 == 0 && (r = 0); + var i = Math.max(0, r); + return { + decimals: i, + scaledDecimals: i - Math.floor(Math.log(n) / Math.LN10) + 2, + }; + } + var D = n("U5HE"), + A = n("if1/"), + _ = n("ZSVY"), + N = n("0v62"), + M = n("8//q"), + I = new (n("2kIT").a)(); + function R(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function F(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? R(Object(n), !0).forEach(function (t) { + L(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : R(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function L(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function V(e) { + if (!e.data) return []; + var t = e.fieldOptions; + if (!t) return e.data; + var n = void 0, + r = []; + if (t.overrides) { + var a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = t.overrides[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value, + u = h.i.get(c.matcher.id); + u && + r.push({ + match: u.get(c.matcher.options), + properties: c.properties, + }); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + } + return e.data.map(function (a, o) { + var i = a.name; + i || (i = "Series[".concat(o, "]")); + var l = { __series: { text: "Series", value: { name: i } } }, + s = a.fields.map(function (a, i) { + var s = a.name; + s || (s = "Field[".concat(i, "]")), + (l.__field = { text: "Field", value: { name: s } }); + var c = F({}, a.config, { scopedVars: l }) || {}, + u = { + field: a, + data: e.data, + dataFrameIndex: o, + replaceVariables: e.replaceVariables, + custom: e.custom, + }; + !(function (e, t, n) { + if (t) + for ( + var r = Object.keys(t), a = 0, o = r; + a < o.length; + a++ + ) { + var i = o[a]; + if ("custom" === i) { + if (!n.custom) continue; + e.custom || (e.custom = {}); + for ( + var l = Object.keys(t.custom), s = 0, c = l; + s < c.length; + s++ + ) { + var u = c[s]; + $(e.custom, t.custom, u, n.custom, n); + } + } else $(e, t, i, I, n); + } + q(e); + })(c, t.defaults, u); + var f = !0, + d = !1, + m = void 0; + try { + for ( + var g, b = r[Symbol.iterator](); + !(f = (g = b.next()).done); + f = !0 + ) { + var y = g.value; + if (y.match(a)) { + var w = !0, + O = !1, + x = void 0; + try { + for ( + var k, j = y.properties[Symbol.iterator](); + !(w = (k = j.next()).done); + w = !0 + ) { + B(c, k.value, u); + } + } catch (e) { + (O = !0), (x = e); + } finally { + try { + w || null == j.return || j.return(); + } finally { + if (O) throw x; + } + } + } + } + } catch (e) { + (d = !0), (m = e); + } finally { + try { + f || null == b.return || b.return(); + } finally { + if (d) throw m; + } + } + var S = a.type; + if (!S || S === p.FieldType.other) { + var C = Object(M.q)(a); + C && (S = C); + } + "percent" === c.unit + ? (v()(c.min) || (c.min = 0), v()(c.max) || (c.max = 100)) + : "percentunit" === c.unit && + (v()(c.min) || (c.min = 0), v()(c.max) || (c.max = 1)), + e.autoMinMax && + a.type === p.FieldType.number && + ((v()(c.min) && v()(c.max)) || + (n || + (n = (function (e) { + var t = Number.MAX_VALUE, + n = Number.MIN_VALUE, + r = [h.h.min, h.h.max], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value, + u = !0, + f = !1, + d = void 0; + try { + for ( + var m, g = c.fields[Symbol.iterator](); + !(u = (m = g.next()).done); + u = !0 + ) { + var b = m.value; + if (b.type === p.FieldType.number) { + var v = Object(h.n)({ + field: b, + reducers: r, + }); + v[h.h.min] < t && (t = v[h.h.min]), + v[h.h.max] > n && (n = v[h.h.max]); + } + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == g.return || g.return(); + } finally { + if (f) throw d; + } + } + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return { min: t, max: n }; + })(e.data)), + v()(c.min) || (c.min = n.min), + v()(c.max) || (c.max = n.max))); + var P = F({}, a, { config: c, type: S }); + return ( + (P.display = E({ + field: P, + theme: e.theme, + timeZone: e.timeZone, + })), + P + ); + }); + return F({}, a, { fields: s, name: i }); + }); + } + function B(e, t, n) { + var r = t.custom ? n.custom : I, + a = null == r ? void 0 : r.getIfExists(t.prop); + if (a && a.shouldApply(n.field)) { + var o = a.process(t.value, n, a.settings); + null == o + ? t.custom + ? delete (null == e ? void 0 : e.custom)[t.prop] + : delete e[t.prop] + : t.custom + ? (e.custom || (e.custom = {}), (e.custom[t.prop] = o)) + : (e[t.prop] = o); + } + } + var $ = function (e, t, n, r, a) { + var o = e[n]; + if (null == o) { + var i = r.getIfExists(n); + if (!i) + return void console.warn( + "No processor available for ".concat(n, " config property") + ); + if (i && i.shouldApply(a.field)) { + var l = i.process(t[n], a, i.settings); + null != l && (e[n] = l); + } + } + }; + function q(e) { + var t = e.thresholds; + if ( + (t && + (t.mode || (t.mode = p.ThresholdsMode.Absolute), + t.steps + ? t.steps.length && (t.steps[0].value = -1 / 0) + : (t.steps = [])), + e.color) + ) + if (e.color.mode) { + var n = e.color; + n.mode === p.FieldColorMode.Scheme + ? n.schemeName || (n.schemeName = p.ColorScheme.BrBG) + : delete n.schemeName; + } else delete e.color; + else t && (e.color = { mode: p.FieldColorMode.Thresholds }); + if ( + e.hasOwnProperty("min") && + e.hasOwnProperty("max") && + e.min > e.max + ) { + var r = e.max; + (e.max = e.min), (e.min = r); + } + } + function U(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function z(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? U(Object(n), !0).forEach(function (t) { + H(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : U(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function H(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var G = function (e) { + var t = e.replaceVariables, + n = e.fieldOptions, + r = n.calcs.length ? n.calcs : [_.a.last], + o = []; + if (e.data) + for ( + var l = V(e), + s = !1, + c = n.limit ? n.limit : 25, + u = (function (e, t, n) { + if (e) return e; + if (!n || !n.length) return "No Data"; + var r = 0, + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = n[0].fields[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + l.value.type === p.FieldType.number && r++; + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + var c = []; + return ( + t.length > 1 && c.push("${__calc}"), + n.length > 1 && c.push("${__series.name}"), + (r > 1 || !c.length) && c.push("${__field.name}"), + c.join(" ") + ); + })(n.defaults.title, r, l), + f = {}, + d = 0; + d < l.length && !s; + d++ + ) + for ( + var h = l[d], m = Object(N.b)(h).timeField, g = new A.a(h), b = 0; + b < h.fields.length && !s; + b++ + ) { + var v, + y = h.fields[b]; + if (y.type === p.FieldType.number) { + var w = y.config, + O = + null !== (v = y.display) && void 0 !== v + ? v + : E({ field: y, theme: e.theme }), + x = w.title ? w.title : u; + if (n.values) + for ( + var k = x.indexOf("__cell_") >= 0, j = 0; + j < y.values.length; + j++ + ) { + if (k) + for (var S = 0; S < h.fields.length; S++) { + var C = h.fields[S].values.get(j); + f["__cell_" + S] = { value: C, text: a()(C) }; + } + var P = O(y.values.get(j)); + if ( + ((P.title = t(x, z({}, y.config.scopedVars, {}, f))), + o.push({ + name: name, + field: w, + display: P, + view: g, + colIndex: b, + rowIndex: j, + }), + o.length >= c) + ) { + s = !0; + break; + } + } + else { + var T = Object(_.c)({ field: y, reducers: r }), + M = void 0; + e.sparkline && + m && + (M = Object(D.a)({ xField: m, yField: h.fields[b] })); + var I = !0, + R = !1, + F = void 0; + try { + for ( + var L, B = r[Symbol.iterator](); + !(I = (L = B.next()).done); + I = !0 + ) { + var $ = L.value; + f.__calc = { value: $, text: $ }; + var q = O(T[$]); + (q.title = t(x, z({}, y.config.scopedVars, {}, f))), + o.push({ + name: $, + field: w, + display: q, + sparkline: M, + view: g, + colIndex: b, + }); + } + } catch (e) { + (R = !0), (F = e); + } finally { + try { + I || null == B.return || B.return(); + } finally { + if (R) throw F; + } + } + } + } + } + return ( + 0 === o.length + ? o.push( + (function (e) { + var t = e.fieldOptions.defaults, + n = E({ + field: { type: p.FieldType.other, config: t }, + theme: e.theme, + })(null), + r = (function (e, t) { + if (!e || i()(e.text)) return t; + return e.text; + })(n, "No data"); + return { + name: "No data", + field: z({}, t), + display: { text: r, numeric: 0, color: n.color }, + }; + })(e) + ) + : 1 !== o.length || + n.defaults.title || + (o[0].display.title = void 0), + o + ); + }; + function W(e) { + for ( + var t = { title: "", text: "" }, n = 0, r = 0, a = 0; + a < e.length; + a++ + ) { + var o = e[a].display; + o.text && o.text.length > t.text.length && (t.text = o.text), + o.title && o.title.length > t.title.length && (t.title = o.title), + o.prefix && + o.prefix.length > n && + ((t.prefix = o.prefix), (n = o.prefix.length)), + o.suffix && + o.suffix.length > r && + ((t.suffix = o.suffix), (r = o.suffix.length)); + } + return t; + } + n.d(t, "e", function () { + return "__series.name"; + }), + n.d(t, "d", function () { + return "__field.name"; + }), + n.d(t, "b", function () { + return "__calc"; + }), + n.d(t, "c", function () { + return "__cell_"; + }), + n.d(t, "a", function () { + return 25; + }), + n.d(t, "k", function () { + return G; + }), + n.d(t, "j", function () { + return W; + }), + n.d(t, "i", function () { + return E; + }), + n.d(t, "h", function () { + return T; + }), + n.d(t, "l", function () { + return y; + }), + n.d(t, "g", function () { + return w; + }), + n.d(t, "m", function () { + return O; + }), + n.d(t, "n", function () { + return I; + }), + n.d(t, "f", function () { + return V; + }), + n.d(t, "o", function () { + return q; + }); + }, + "+ujO": function (e, t, n) { + "use strict"; + var r = n("GNR5"); + n.d(t, "a", function () { + return r.a; + }), + n.d(t, "b", function () { + return r.b; + }), + n.d(t, "c", function () { + return r.c; + }), + n.d(t, "d", function () { + return r.d; + }), + n.d(t, "e", function () { + return r.e; + }), + n.d(t, "f", function () { + return r.f; + }), + n.d(t, "g", function () { + return r.g; + }), + n.d(t, "h", function () { + return r.h; + }), + n.d(t, "i", function () { + return r.i; + }), + n.d(t, "j", function () { + return r.j; + }); + }, + "/2Ru": function (e, t) { + var n = "public/app/features/datasources/partials/tls_auth_settings.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n <div class=gf-form>\n <h6>TLS Auth Details</h6>\n <info-popover mode=header>TLS Certs are encrypted and stored in the Grafana database.</info-popover>\n </div>\n <div ng-if=current.jsonData.tlsAuthWithCACert>\n <div class=gf-form-inline>\n <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">CA Cert</label></div>\n <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsCACert>\n <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsCACert placeholder="Begins with -----BEGIN CERTIFICATE-----"></textarea>\n </div>\n\n <div class=gf-form ng-if=current.secureJsonFields.tlsCACert>\n <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsCACert = false">reset</a>\n </div>\n </div>\n </div>\n\n <div ng-if=current.jsonData.tlsAuth>\n <div class=gf-form-inline>\n <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">Client Cert</label></div>\n <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsClientCert>\n <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsClientCert placeholder="Begins with -----BEGIN CERTIFICATE-----" required></textarea>\n </div>\n <div class=gf-form ng-if=current.secureJsonFields.tlsClientCert>\n <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsClientCert = false">reset</a>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">Client Key</label></div>\n <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsClientKey>\n <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsClientKey placeholder="Begins with -----BEGIN RSA PRIVATE KEY-----" required></textarea>\n </div>\n <div class=gf-form ng-if=current.secureJsonFields.tlsClientKey>\n <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsClientKey = false">reset</a>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "/8l8": function (e, t) { + var n = + "public/app/plugins/datasource/grafana/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">\n\t\t\t\tFilter by\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>Dashboard: This will fetch annotation and alert state changes for whole dashboard and show them only on the event\'s originating panel.</li>\n\t\t\t\t\t\t<li>Tags: This will fetch any annotation events that match the tags filter.</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<div class="gf-form-select-wrapper width-8">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.type ng-options="f.value as f.text for f in ctrl.types">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Max limit</span>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.limit ng-options="f for f in [10,50,100,200,300,500,1000,2000]">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form ng-if="ctrl.annotation.type === \'tags\'">\n\t\t\t<gf-form-switch class=gf-form label="Match any" label-class=width-9 checked=ctrl.annotation.matchAny on-change=ctrl.refresh() tooltip="By default Grafana only shows annotations that match all tags in the query. Enabling this returns annotations that match any of the tags in the query."></gf-form-switch>\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.annotation.type === \'tags\'">\n\t\t\t<span class=gf-form-label>\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tA tag entered here as \'foo\' will match\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>annotation tags \'foo\'</li>\n\t\t\t\t\t\t<li>annotation key-value tags formatted as \'foo:bar\'</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.annotation.tags tagclass="label label-tag" placeholder="add tags">\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n</div>\n\n\n' + ); + }, + ]), + (e.exports = n); + }, + "/Dwp": function (e, t) { + var n = "public/app/plugins/panel/text/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<p class="markdown-html panel-text-content" ng-bind-html=ctrl.content ng-show=ctrl.content>\n</p>\n' + ); + }, + ]), + (e.exports = n); + }, + "/FV5": function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e.Admin = "Admin"), (e.Editor = "Editor"), (e.Viewer = "Viewer"); + })(r || (r = {})); + }, + "/GJV": function (e, t, n) { + "use strict"; + n.r(t), + n.d(t, "refresh", function () { + return a; + }), + n.d(t, "componentDidMount", function () { + return o; + }), + n.d(t, "dataError", function () { + return i; + }), + n.d(t, "dataReceived", function () { + return l; + }), + n.d(t, "dataSnapshotLoad", function () { + return s; + }), + n.d(t, "editModeInitialized", function () { + return c; + }), + n.d(t, "initPanelActions", function () { + return u; + }), + n.d(t, "panelChangeView", function () { + return f; + }), + n.d(t, "panelInitialized", function () { + return d; + }), + n.d(t, "panelSizeChanged", function () { + return p; + }), + n.d(t, "panelTeardown", function () { + return h; + }), + n.d(t, "render", function () { + return m; + }), + n.d(t, "viewModeChanged", function () { + return g; + }); + var r = n("5m9O"), + a = Object(r.a)("refresh"), + o = Object(r.a)("component-did-mount"), + i = Object(r.a)("data-error"), + l = Object(r.a)("data-received"), + s = Object(r.a)("data-snapshot-load"), + c = Object(r.a)("init-edit-mode"), + u = Object(r.a)("init-panel-actions"), + f = Object(r.a)("panel-change-view"), + d = Object(r.a)("panel-initialized"), + p = Object(r.a)("panel-size-changed"), + h = Object(r.a)("panel-teardown"), + m = Object(r.a)("render"), + g = Object(r.a)("view-mode-changed"); + }, + "/HFP": function (e, t) { + var n = + "public/app/plugins/datasource/influxdb/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=true has-text-edit-mode=true>\n <div ng-if=ctrl.target.rawQuery>\n <div class=gf-form>\n <textarea rows=3 class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder="InfluxDB Query" ng-model-onblur ng-change=ctrl.refresh()></textarea>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword">FORMAT AS</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class="gf-form max-width-25" ng-hide="ctrl.target.resultFormat === \'table\'">\n <label class="gf-form-label query-keyword">ALIAS BY</label>\n <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="Naming pattern" ng-blur=ctrl.refresh() />\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n\n <div ng-if=!ctrl.target.rawQuery>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">FROM</label>\n\n <metric-segment segment=ctrl.policySegment get-options=ctrl.getPolicySegments() on-change=ctrl.policyChanged()></metric-segment>\n <metric-segment segment=ctrl.measurementSegment get-options=ctrl.getMeasurements($query) on-change=ctrl.measurementChanged()></metric-segment>\n </div>\n\n <div class=gf-form>\n <label class="gf-form-label query-keyword">WHERE</label>\n </div>\n\n <div class=gf-form ng-repeat="segment in ctrl.tagSegments">\n <metric-segment segment=segment get-options="ctrl.getTagsOrValues(segment, $index)" on-change="ctrl.tagSegmentUpdated(segment, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-repeat="selectParts in ctrl.queryModel.selectModels">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7"> <span ng-show="$index === 0">SELECT</span> </label>\n </div>\n\n <div class=gf-form ng-repeat="part in selectParts">\n <query-part-editor class="gf-form-label query-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n </query-part-editor>\n </div>\n\n <div class=gf-form>\n <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n </label>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">\n <span>GROUP BY</span>\n </label>\n\n <query-part-editor ng-repeat="part in ctrl.queryModel.groupByParts" part=part class="gf-form-label query-part" handle-event="ctrl.handleGroupByPartEvent(part, $index, $event)">\n </query-part-editor>\n </div>\n\n <div class=gf-form>\n <metric-segment segment=ctrl.groupBySegment get-options=ctrl.getGroupByOptions() on-change="ctrl.groupByAction(part, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if="ctrl.target.orderByTime === \'DESC\'">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">ORDER BY</label>\n <label class="gf-form-label pointer" ng-click=ctrl.removeOrderByTime()>time <span class=query-keyword>DESC</span> <i class="fa fa-remove"></i></label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if=ctrl.target.limit>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">LIMIT</label>\n <input type=text class="gf-form-input width-9" ng-model=ctrl.target.limit spellcheck=false placeholder="No Limit" ng-blur=ctrl.refresh() />\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if=ctrl.target.slimit>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">SLIMIT</label>\n <input type=text class="gf-form-input width-9" ng-model=ctrl.target.slimit spellcheck=false placeholder="No Limit" ng-blur=ctrl.refresh() />\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if=ctrl.target.tz>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">tz</label>\n <input type=text class="gf-form-input width-9" ng-model=ctrl.target.tz spellcheck=false placeholder="No Timezone" ng-blur=ctrl.refresh() />\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">FORMAT AS</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline ng-hide="ctrl.target.resultFormat === \'table\'">\n <div class="gf-form max-width-30">\n <label class="gf-form-label query-keyword width-7">ALIAS BY</label>\n <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="Naming pattern" ng-blur=ctrl.refresh() />\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + "/XDc": function (e, t) { + var n = "public/app/plugins/panel/graph/tab_legend.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Options</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-7 checked=ctrl.panel.legend.show on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="As Table" label-class=width-7 checked=ctrl.panel.legend.alignAsTable on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="To the right" label-class=width-7 checked=ctrl.panel.legend.rightSide on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<div ng-if=ctrl.panel.legend.rightSide class=gf-form>\n\t\t\t<label class="gf-form-label width-7">Width</label>\n\t\t\t<input type=number class="gf-form-input max-width-5" placeholder=250 bs-tooltip="\'Set a min-width for the legend side table/block\'" data-placement=right ng-model=ctrl.panel.legend.sideWidth ng-change=ctrl.render() ng-model-onblur>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Values</h5>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Min label-class=width-4 checked=ctrl.panel.legend.min on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class="gf-form max-width-12" label=Max label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.max on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Avg label-class=width-4 checked=ctrl.panel.legend.avg on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class="gf-form max-width-12" label=Current label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.current on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Total label-class=width-4 checked=ctrl.panel.legend.total on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Decimals</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto bs-tooltip="\'Override automatic decimal precision for legend and tooltips\'" data-placement=right ng-model=ctrl.panel.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Hide series</h5>\n\t\t<gf-form-switch class=gf-form label="With only nulls" label-class=width-10 checked=ctrl.panel.legend.hideEmpty on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="With only zeros" label-class=width-10 checked=ctrl.panel.legend.hideZero on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "/YHu": function (e, t) { + var n = "public/app/partials/modal.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-header>\n <button type=button class=close data-dismiss=modal aria-hidden=true>×</button>\n <h3>{{modal.title}}</h3>\n</div>\n<div class=modal-body>\n\n <div ng-bind-html=modal.body></div>\n\n</div>\n<div class=modal-footer>\n <button type=button class="btn btn-danger" ng-click=dismiss()>Close</button>\n</div>' + ); + }, + ]), + (e.exports = n); + }, + "/r3D": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return r; + }), + n.d(t, "a", function () { + return f; + }); + var r, + a = n("CnP+"); + function o(e) { + return (o = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function i(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function s(e, t) { + return !t || ("object" !== o(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function c(e) { + return (c = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function u(e, t) { + return (u = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e.Dashboard = "dashboard"), (e.Explore = "explore"); + })(r || (r = {})); + var f = (function (e) { + function t() { + return i(this, t), s(this, c(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && u(e, t); + })(t, e), + (n = t), + (r = [ + { key: "init", value: function (e) {} }, + { + key: "setRootPage", + value: function (e, t) { + return (this.root = e), (this.rootNav = t), this; + }, + }, + { + key: "setComponentsFromLegacyExports", + value: function (e) { + if ( + (e.ConfigCtrl && (this.angularConfigCtrl = e.ConfigCtrl), + this.meta && this.meta.includes) + ) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.meta.includes[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) { + var l = o.value; + if (l.type === a.b.page && l.component) { + var s = e[l.component]; + if (!s) { + console.warn( + "App Page uses unknown component: ", + l.component, + this.meta + ); + continue; + } + this.angularPages || (this.angularPages = {}), + (this.angularPages[l.component] = s); + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + } + }, + }, + ]) && l(n.prototype, r), + o && l(n, o), + t + ); + })(a.a); + }, + "/vR/": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }), + n.d(t, "b", function () { + return i; + }); + var r = n("J9Im"), + a = n("e7Q0"), + o = n.n(a).a; + function i(e) { + var t = r.b.bootData.user.lightTheme ? e.light : e.dark; + return o.import("".concat(t, "!css")); + } + }, + "0+gp": function (e, t) { + var n = "public/app/features/plugins/partials/plugin_page.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<div ng-if=ctrl.navModel>\n <page-header model=ctrl.navModel></page-header>\n\n <div class=page-container>\n <div ng-if=ctrl.page>\n <plugin-component type=app-page>\n </plugin-component>\n </div>\n </div>\n</div>\n\n<footer/>\n" + ); + }, + ]), + (e.exports = n); + }, + "0HV/": function (e, t) {}, + "0LRa": function (e, t) { + var n = "public/app/features/alerting/partials/alert_tab.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-if=ctrl.panel.alert>\n <div class="alert alert-error m-b-2" ng-show=ctrl.error>\n <i class="fa fa-warning"></i> {{ctrl.error}}\n </div>\n <div class=panel-options-group>\n <div class=panel-options-group__body>\n <div class=gf-form-group>\n <h4 class=section-heading>Rule</h4>\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class="gf-form-label width-6">Name</span>\n <input type=text class="gf-form-input width-20" ng-model=ctrl.alert.name>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-9">Evaluate every</span>\n <input class="gf-form-input max-width-6" type=text ng-model=ctrl.alert.frequency ng-blur=ctrl.checkFrequency()>\n </div>\n <div class="gf-form max-width-11">\n <label class="gf-form-label width-5">For</label>\n <input type=text class="gf-form-input max-width-6 gf-form-input--has-help-icon" ng-model=ctrl.alert.for spellcheck=false placeholder=5m>\n <info-popover mode=right-absolute>\n If an alert rule has a configured For and the query violates the configured\n threshold it\n will first go from OK to Pending.\n Going from OK to Pending Grafana will not send any notifications. Once the alert\n rule\n has\n been firing for more than For duration, it will change to Alerting and send alert\n notifications.\n </info-popover>\n </div>\n </div>\n <div class=gf-form ng-if=ctrl.frequencyWarning>\n <label class="gf-form-label text-warning">\n <i class="fa fa-warning"></i> {{ctrl.frequencyWarning}}\n </label>\n </div>\n </div>\n\n <div class=gf-form-group>\n <h4 class=section-heading>Conditions</h4>\n <div class=gf-form-inline ng-repeat="conditionModel in ctrl.conditionModels">\n <div class=gf-form>\n <metric-segment-model css-class="query-keyword width-5" ng-if=$index property=conditionModel.operator.type options=ctrl.evalOperators custom=false></metric-segment-model>\n <span class="gf-form-label query-keyword width-5" ng-if="$index===0">WHEN</span>\n </div>\n <div class=gf-form>\n <query-part-editor class="gf-form-label query-part width-9" part=conditionModel.reducerPart handle-event="ctrl.handleReducerPartEvent(conditionModel, $event)">\n </query-part-editor>\n <span class="gf-form-label query-keyword">OF</span>\n </div>\n <div class=gf-form>\n <query-part-editor class="gf-form-label query-part" part=conditionModel.queryPart handle-event="ctrl.handleQueryPartEvent(conditionModel, $event)">\n </query-part-editor>\n </div>\n <div class=gf-form>\n <metric-segment-model property=conditionModel.evaluator.type options=ctrl.evalFunctions custom=false css-class=query-keyword on-change=ctrl.evaluatorTypeChanged(conditionModel.evaluator)></metric-segment-model>\n <input class="gf-form-input max-width-9" type=number step=any ng-hide="conditionModel.evaluator.params.length === 0" ng-model=conditionModel.evaluator.params[0] ng-change=ctrl.evaluatorParamsChanged() />\n <label class="gf-form-label query-keyword" ng-show="conditionModel.evaluator.params.length === 2">TO</label>\n <input class="gf-form-input max-width-9" type=number step=any ng-if="conditionModel.evaluator.params.length === 2" ng-model=conditionModel.evaluator.params[1] ng-change=ctrl.evaluatorParamsChanged() />\n </div>\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer tabindex=1 ng-click=ctrl.removeCondition($index)>\n <i class="fa fa-trash"></i>\n </a>\n </label>\n </div>\n </div>\n\n <div class=gf-form>\n <label class="gf-form-label dropdown">\n <a class="pointer dropdown-toggle" data-toggle=dropdown>\n <i class="fa fa-plus"></i>\n </a>\n <ul class=dropdown-menu role=menu>\n <li ng-repeat="ct in ctrl.conditionTypes" role=menuitem>\n <a ng-click=ctrl.addCondition(ct.value);>{{ct.text}}</a>\n </li>\n </ul>\n </label>\n </div>\n </div>\n\n <div class=gf-form-group>\n <h4 class=section-heading>No Data & Error Handling</h4>\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class="gf-form-label width-15">If no data or all values are null</span>\n </div>\n <div class=gf-form>\n <span class="gf-form-label query-keyword">SET STATE TO</span>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.alert.noDataState ng-options="f.value as f.text for f in ctrl.noDataModes">\n </select>\n </div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class="gf-form-label width-15">If execution error or timeout</span>\n </div>\n <div class=gf-form>\n <span class="gf-form-label query-keyword">SET STATE TO</span>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.alert.executionErrorState ng-options="f.value as f.text for f in ctrl.executionErrorModes">\n </select>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=panel-options-group>\n <div class=panel-options-group__header>Notifications</div>\n <div class=panel-options-group__body>\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class="gf-form-label width-8">Send to</span>\n </div>\n <div class=gf-form ng-repeat="nc in ctrl.alertNotifications">\n <span class=gf-form-label>\n <i class={{nc.iconClass}}></i>\n {{nc.name}} <span ng-if=nc.isDefault>(default)</span>\n <i class="fa fa-remove pointer muted" ng-click=ctrl.removeNotification(nc) ng-if="nc.isDefault === false"></i>\n </span>\n </div>\n <div class=gf-form>\n <metric-segment segment=ctrl.addNotificationSegment get-options=ctrl.getNotifications() on-change=ctrl.notificationAdded()></metric-segment>\n </div>\n </div>\n <div class="gf-form gf-form--v-stretch">\n <span class="gf-form-label width-8">Message</span>\n <textarea class=gf-form-input rows=10 ng-model=ctrl.alert.message placeholder="Notification message details..."></textarea>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-8">Tags</span>\n <div class=gf-form-group>\n <div class=gf-form-inline ng-repeat="(name, value) in ctrl.alert.alertRuleTags">\n <label class="gf-form-label width-15">{{ name }}</label>\n <input class="gf-form-input width-15" placeholder="Tag value..." ng-model=ctrl.alert.alertRuleTags[name] type=text />\n <label class=gf-form-label>\n <a class=pointer tabindex=1 ng-click=ctrl.removeAlertRuleTag(name)>\n <i class="fa fa-trash"></i>\n </a>\n </label>\n </div>\n <div class=gf-form-group>\n <div class=gf-form-inline>\n <div class=gf-form>\n <input class="gf-form-input width-15" placeholder="New tag name..." ng-model=ctrl.newAlertRuleTag.name type=text>\n <input class="gf-form-input width-15" placeholder="New tag value..." ng-model=ctrl.newAlertRuleTag.value type=text>\n </div>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer tabindex=1 ng-click=ctrl.addAlertRuleTag()>\n <i class="fa fa-plus"></i> Add Tag\n </a>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "0Mjz": function (e, t, n) { + "use strict"; + function r(e, t) { + return t && Object.keys(t).length > 0 && (e += "?" + o(t)), e; + } + function a(e, t) { + return encodeURIComponent(e) + .replace(/%40/gi, "@") + .replace(/%3A/gi, ":") + .replace(/%24/g, "$") + .replace(/%2C/gi, ",") + .replace(/%3B/gi, ";") + .replace(/%20/g, t ? "%20" : "+"); + } + function o(e) { + var t = [], + n = /\[\]$/, + r = function (e) { + return "[object Array]" === Object.prototype.toString.call(e); + }, + o = function (e, n) { + (n = + "function" == typeof n + ? n() + : null === n + ? "" + : void 0 === n + ? "" + : n), + (t[t.length] = + "boolean" != typeof n ? a(e, !0) + "=" + a(n, !0) : a(e, !0)); + }; + return (function e(a, i) { + var l, s, c; + if (a) + if (r(i)) + for (l = 0, s = i.length; l < s; l++) + n.test(a) ? o(a, i[l]) : e(a, i[l]); + else if (i && "[object Object]" === String(i)) + for (c in i) e(a + "[" + c + "]", i[c]); + else o(a, i); + else if (r(i)) + for (l = 0, s = i.length; l < s; l++) o(i[l].name, i[l].value); + else for (c in i) e(c, i[c]); + return t; + })("", e).join("&"); + } + function i(e, t) { + if (null != t && "" !== t) { + var n = e.indexOf("?"); + -1 !== n ? e.length - n > 1 && (e += "&") : (e += "?"), (e += t); + } + return e; + } + function l() { + var e = window.location.search.substring(1).split("&"), + t = {}, + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value.split("="); + if (l.length > 1) { + var s = decodeURIComponent(l[0]), + c = decodeURIComponent(l[1]); + t[s] = c; + } else if (1 === l.length) { + t[decodeURIComponent(l[0])] = !0; + } + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + } + n.d(t, "c", function () { + return r; + }), + n.d(t, "d", function () { + return o; + }), + n.d(t, "a", function () { + return i; + }), + n.d(t, "b", function () { + return l; + }); + }, + "0Rz9": function (e, t) {}, + "0X5I": function (e, t) { + !(function (e) { + var t = (function () { + var t, + o, + i, + l, + s, + c = function (e, r) { + (t = r), + (o = e.getPlaceholder()), + (i = e.getOptions()), + (l = i.series.gauges), + (s = e.getData()), + n(l.debug); + }; + function u(e, t) { + "auto" === e.gauge.width && (e.gauge.width = Math.max(5, t / 8)), + "auto" === e.label.margin && + (e.label.margin = Math.max(1, t / 20)), + "auto" === e.label.font.size && + (e.label.font.size = Math.max(5, t / 8)), + "auto" === e.value.margin && + (e.value.margin = Math.max(1, t / 30)), + "auto" === e.value.font.size && + (e.value.font.size = Math.max(5, t / 9)), + "auto" === e.threshold.width && + (e.threshold.width = Math.max(3, t / 100)), + "auto" === e.threshold.label.margin && + (e.threshold.label.margin = Math.max(3, t / 40)), + "auto" === e.threshold.label.font.size && + (e.threshold.label.font.size = Math.max(5, t / 15)); + } + function f(e, t, n) { + var r = + e.gauge.startAngle + + (e.gauge.endAngle - e.gauge.startAngle) * + ((n - e.gauge.min) / (e.gauge.max - e.gauge.min)); + return ( + r < e.gauge.startAngle + ? (r = e.gauge.startAngle) + : r > e.gauge.endAngle && (r = e.gauge.endAngle), + r + ); + } + function d(e, n, r, o, i, l, s, c, u, f) { + i !== l && + (t.save(), + a(t, e, n, r, o, i, l, s, c, u), + f && + (a(t, e, n, r, o, i, l), + t.clip(), + (t.shadowOffsetX = 0), + (t.shadowOffsetY = 0), + (t.shadowBlur = 10), + (t.shadowColor = "gray"), + a(t, e, n, r + 1, o + 2, i, l, s, 1)), + t.restore()); + } + function p(e, t, n, a, o, i) { + h( + n.cx + + (t.thresholdLabelMargin + + t.thresholdLabelFontSize / 2 + + t.radius) * + Math.cos(r(i)), + n.cy + + (t.thresholdLabelMargin + + t.thresholdLabelFontSize / 2 + + t.radius) * + Math.sin(r(i)), + "flotGagueThresholdValue" + a, + e.threshold.label.formatter ? e.threshold.label.formatter(o) : o, + e.threshold.label, + i + ); + } + function h(t, n, r, a, i, l) { + var s = e(o).find("#" + r), + c = s.length; + c || + ((s = e("<span></span>")).attr("id", r), + s.attr("class", "flot-temp-elem"), + o.append(s)), + s.css("position", "absolute"), + s.css("top", n + "px"), + s.css("white-space", "nowrap"), + i.font.size && s.css("font-size", i.font.size + "px"), + i.font.family && s.css("font-family", i.font.family), + i.color && s.css("color", i.color), + i.background.color && + s.css("background-color", i.background.color), + i.background.opacity && s.css("opacity", i.background.opacity), + s.text(a), + s.css("left", t + "px"), + s.css("left", parseInt(s.css("left")) - s.width() / 2 + "px"), + !c && + l && + (s.css("top", parseInt(s.css("top")) - s.height() / 2 + "px"), + s.css("transform", "rotate(" + (180 * l + 90) + "deg)")); + } + return ( + (c.prototype.calculateLayout = function () { + var e = o.width(), + t = o.height(), + n = Math.min(s.length, l.layout.columns), + a = Math.ceil(s.length / n), + i = l.layout.margin, + c = l.layout.hMargin, + f = l.layout.vMargin, + d = (e - 2 * i - c * (n - 1)) / n, + p = (t - 2 * i - f * (a - 1)) / a; + if (l.layout.square) { + var h = Math.min(d, p); + (d = h), (p = h); + } + u(l, d); + var m = l.cell.margin, + g = 0, + b = 0; + l.label.show && ((g = l.label.margin), (b = l.label.font.size)); + var v = 0, + y = 0; + l.value.show && ((v = l.value.margin), (y = l.value.font.size)); + var w = 0; + l.threshold.show && (w = l.threshold.width); + var O = 0, + x = 0; + l.threshold.label.show && + ((O = l.threshold.label.margin), + (x = l.threshold.label.font.size)); + for ( + var k = d / 2 - m - w - 2 * O - x, + j = l.gauge.startAngle, + S = l.gauge.endAngle, + E = (S - j) / 100, + C = -1, + P = j; + P < S; + P += E + ) + C = Math.max(C, Math.sin(r(P))); + var T = + (p - 2 * m - 2 * g - b) / + (1 + (C = Math.max(C, Math.sin(r(S))))); + T * C < v + y / 2 && (T = p - 2 * m - 2 * g - b - v - y / 2); + var D = T - 2 * O - x - w, + A = Math.min(k, D), + _ = l.gauge.width; + _ >= A && (_ = Math.max(3, A / 3)); + var N = 2 * O + x + w + A; + return { + canvasWidth: e, + canvasHeight: t, + margin: i, + hMargin: c, + vMargin: f, + columns: n, + rows: a, + cellWidth: d, + cellHeight: p, + cellMargin: m, + labelMargin: g, + labelFontSize: b, + valueMargin: v, + valueFontSize: y, + width: _, + radius: A, + thresholdWidth: w, + thresholdLabelMargin: O, + thresholdLabelFontSize: x, + gaugeOuterHeight: Math.max(N * (1 + C), N + v + y / 2), + }; + }), + (c.prototype.calculateAutoValues = u), + (c.prototype.calculateCellLayout = function (e, t, n) { + var r = (function (e, t) { + return t % e; + })(t.columns, n), + a = (function (e, t) { + return Math.floor(t / e); + })(t.columns, n), + o = t.margin + (t.cellWidth + t.hMargin) * r, + i = t.margin + (t.cellHeight + t.vMargin) * a, + l = o + t.cellWidth / 2, + s = + i + + t.cellMargin + + 2 * t.labelMargin + + t.labelFontSize + + t.thresholdWidth + + t.thresholdLabelFontSize + + 2 * t.thresholdLabelMargin + + t.radius, + c = + t.cellHeight - + 2 * t.cellMargin - + 2 * t.labelMargin - + t.labelFontSize - + t.gaugeOuterHeight, + u = 0; + return ( + "middle" === e.cell.vAlign + ? (u = c / 2) + : "bottom" === e.cell.vAlign && (u = c), + (s += u), + { + col: r, + row: a, + x: o, + y: i, + offsetY: u, + cellWidth: t.cellWidth, + cellHeight: t.cellHeight, + cellMargin: t.cellMargin, + cx: l, + cy: s, + } + ); + }), + (c.prototype.drawBackground = function (e) { + l.frame.show && + (t.save(), + (t.strokeStyle = i.grid.borderColor), + (t.lineWidth = i.grid.borderWidth), + t.strokeRect(0, 0, e.canvasWidth, e.canvasHeight), + i.grid.backgroundColor && + ((t.fillStyle = i.grid.backgroundColor), + t.fillRect(0, 0, e.canvasWidth, e.canvasHeight)), + t.restore()); + }), + (c.prototype.drawCellBackground = function (e, n) { + t.save(), + e.cell.border && + e.cell.border.show && + e.cell.border.color && + e.cell.border.width && + ((t.strokeStyle = e.cell.border.color), + (t.lineWidth = e.cell.border.width), + t.strokeRect(n.x, n.y, n.cellWidth, n.cellHeight)), + e.cell.background && + e.cell.background.color && + ((t.fillStyle = e.cell.background.color), + t.fillRect(n.x, n.y, n.cellWidth, n.cellHeight)), + t.restore(); + }), + (c.prototype.drawGauge = function (e, t, n, a, o) { + var i = e.gauge.shadow.show ? e.gauge.shadow.blur : 0; + d( + n.cx, + n.cy, + t.radius, + t.width, + r(e.gauge.startAngle), + r(e.gauge.endAngle), + e.gauge.border.color, + e.gauge.border.width, + e.gauge.background.color, + i + ); + var l = (function (e, t) { + for (var n, r = 0; r < e.threshold.values.length; r++) { + var a = e.threshold.values[r]; + if (((n = a.color), t < a.value)) break; + } + return n; + })(e, o), + s = f(e, t, o); + d( + n.cx, + n.cy, + t.radius - 1, + t.width - 2, + r(e.gauge.startAngle), + r(s), + l, + 1, + l, + i + ); + }), + (c.prototype.drawThreshold = function (e, n, o) { + for ( + var i = e.gauge.startAngle, l = 0; + l < e.threshold.values.length; + l++ + ) { + var s = e.threshold.values[l]; + (c1 = s.color), + (a2 = f(e, 0, s.value)), + a( + t, + o.cx, + o.cy, + n.radius + n.thresholdWidth, + n.thresholdWidth - 2, + r(i), + r(a2), + c1, + 1, + c1 + ), + (i = a2); + } + }), + (c.prototype.drawLable = function (e, t, n, r, a) { + h( + n.cx, + n.y + n.cellMargin + t.labelMargin + n.offsetY, + "flotGagueLabel" + r, + e.label.formatter + ? e.label.formatter(a.label, a.data[0][1]) + : text, + e.label + ); + }), + (c.prototype.drawValue = function (e, t, n, r, a) { + h( + n.cx, + n.cy - e.value.font.size / 2, + "flotGagueValue" + r, + e.value.formatter + ? e.value.formatter(a.label, a.data[0][1]) + : text, + e.value + ); + }), + (c.prototype.drawThresholdValues = function (e, t, n, r) { + p(e, t, n, "Min" + r, e.gauge.min, e.gauge.startAngle), + p(e, t, n, "Max" + r, e.gauge.max, e.gauge.endAngle); + for (var a = 0; a < e.threshold.values.length; a++) { + var o = e.threshold.values[a]; + if (o.value > e.gauge.min && o.value < e.gauge.max) { + var i = f(e, 0, o.value); + p(e, t, n, r + "_" + a, o.value, i); + } + } + }), + c + ); + })(); + function n(e) { + return "undefined" != typeof Logger ? new Logger(e) : null; + } + function r(e) { + return e * Math.PI; + } + function a(e, t, n, r, a, o, i, l, s, c) { + if (o !== i) { + e.save(), + e.beginPath(), + e.arc(t, n, r, o, i, !1), + e.lineTo(t + (r - a) * Math.cos(i), n + (r - a) * Math.sin(i)), + e.arc(t, n, r - a, i, o, !0), + e.closePath(), + s && (e.lineWidth = s), + l && ((e.strokeStyle = l), e.stroke()), + c && ((e.fillStyle = c), e.fill()), + e.restore(); + } + } + var o = { + series: { + gauges: { + debug: { log: !1, layout: !1, alert: !1 }, + show: !1, + layout: { + margin: 5, + columns: 3, + hMargin: 5, + vMargin: 5, + square: !1, + }, + frame: { show: !0 }, + cell: { + background: { color: null }, + border: { show: !0, color: "black", width: 1 }, + margin: 5, + vAlign: "middle", + }, + gauge: { + width: "auto", + startAngle: 0.9, + endAngle: 2.1, + min: 0, + max: 100, + background: { color: "white" }, + border: { color: "lightgray", width: 2 }, + shadow: { show: !0, blur: 5 }, + }, + label: { + show: !0, + margin: "auto", + background: { color: null, opacity: 0 }, + font: { size: "auto", family: "sans-serif" }, + color: null, + formatter: function (e, t) { + return e; + }, + }, + value: { + show: !0, + margin: "auto", + background: { color: null, opacity: 0 }, + font: { size: "auto", family: "sans-serif" }, + color: null, + formatter: function (e, t) { + return parseInt(t); + }, + }, + threshold: { + show: !0, + width: "auto", + label: { + show: !0, + margin: "auto", + background: { color: null, opacity: 0 }, + font: { size: "auto", family: ",sans-serif" }, + color: null, + formatter: function (e) { + return e; + }, + }, + values: [], + }, + }, + }, + }; + e.plot.plugins.push({ + init: function (r) { + r.hooks.processOptions.push(function (e, t) { + n(t.series.gauges.debug); + t.series.gauges.show && + ((t.grid.show = !1), (t.legend.show = !1)), + t.series.gauges.threshold.values.sort(function (e, t) { + return e.value < t.value ? -1 : e.value > t.value ? 1 : 0; + }); + }), + r.hooks.draw.push(function (r, a) { + var o = r.getOptions().series.gauges; + n(o.debug); + if (o.show) { + var i = r.getData(); + if (i && i.length) { + var l = new t(r, a), + s = l.calculateLayout(); + o.debug.layout, l.drawBackground(s); + for (var c = 0; c < i.length; c++) { + var u = i[c], + f = e.extend({}, o, u.gauges); + u.gauges && l.calculateAutoValues(f, s.cellWidth); + var d = l.calculateCellLayout(f, s, c); + l.drawCellBackground(f, d), + f.debug.layout, + f.label.show && l.drawLable(f, s, d, c, u), + l.drawGauge(f, s, d, u.label, u.data[0][1]), + f.threshold.show && l.drawThreshold(f, s, d), + f.threshold.label.show && + l.drawThresholdValues(f, s, d, c), + f.value.show && l.drawValue(f, s, d, c, u); + } + } + } + }); + }, + options: o, + name: "gauge", + version: "1.1.0", + }); + })(jQuery); + }, + "0ZQg": function (e, t) { + var n = "public/app/plugins/panel/alertlist/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=panel-alert-list>\n <div class=panel-alert-list__no-alerts ng-show=ctrl.noAlertsMessage>\n {{ctrl.noAlertsMessage}}\n </div>\n\n <section ng-if="ctrl.panel.show === \'current\'">\n <ol class=alert-rule-list>\n <li class=alert-rule-item ng-repeat="alert in ctrl.currentAlerts">\n <div class="alert-rule-item__icon {{alert.stateModel.stateClass}}">\n <i class={{alert.stateModel.iconClass}}></i>\n </div>\n <div class=alert-rule-item__body>\n <div class=alert-rule-item__header>\n <p class=alert-rule-item__name>\n <a href="{{alert.url}}?panelId={{alert.panelId}}&fullscreen&edit&tab=alert">\n {{alert.name}}\n </a>\n </p>\n <div class=alert-rule-item__text>\n <span class={{alert.stateModel.stateClass}}>{{alert.stateModel.text}}</span>\n <span class=alert-rule-item__time>for {{alert.newStateDateAgo}}</span>\n </div>\n </div>\n </div>\n </li>\n </ol>\n </section>\n\n <section ng-if="ctrl.panel.show === \'changes\'">\n <ol class=alert-rule-list>\n <li class=alert-rule-item ng-repeat="al in ctrl.alertHistory">\n <div class="alert-rule-item__icon {{al.stateModel.stateClass}}">\n <i class={{al.stateModel.iconClass}}></i>\n </div>\n <div class=alert-rule-item__body>\n <div class=alert-rule-item__header>\n <p class=alert-rule-item__name>{{al.alertName}}</p>\n <div class=alert-rule-item__text>\n <span class={{al.stateModel.stateClass}}>{{al.stateModel.text}}</span>\n </div>\n </div>\n <span class=alert-rule-item__info>{{al.info}}</span>\n </div>\n <div class=alert-rule-item__time>\n <span>{{al.time}}</span>\n </div>\n </li>\n </ol>\n </section>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "0bcw": function (e, t) { + var n = "public/app/partials/valueSelectDropdown.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=variable-link-wrapper>\n <a ng-click=vm.show() class=variable-value-link aria-label={{vm.selectors.submenuItemValueDropDownValueLinkTexts(vm.linkText)}}>\n {{vm.linkText}}\n <span ng-repeat="tag in vm.selectedTags" bs-tooltip=tag.valuesText data-placement=bottom>\n <span class=label-tag tag-color-from-name=tag.text>\n <i class="fa fa-tag"></i> {{tag.text}}\n </span>\n </span>\n <i class="fa fa-caret-down" style=font-size:12px></i>\n </a>\n\n <input type=text class=gf-form-input style=display:none ng-keydown=vm.keyDown($event) ng-model=vm.search.query ng-change=vm.debouncedQueryChanged() />\n\n <div class=variable-value-dropdown ng-if=vm.dropdownVisible ng-class="{\'multi\': vm.variable.multi, \'single\': !vm.variable.multi}" aria-label={{::vm.selectors.submenuItemValueDropDownDropDown}}>\n <div class=variable-options-wrapper>\n <div class=variable-options-column>\n <a class=variable-options-column-header ng-if=vm.variable.multi ng-class="{\'many-selected\': vm.selectedValues.length > 1}" bs-tooltip="\'Clear selections\'" data-placement=top ng-click=vm.clearSelections()>\n <span class=variable-option-icon></span>\n Selected ({{vm.selectedValues.length}})\n </a>\n <a class="variable-option pointer" ng-repeat="option in vm.search.options" ng-class="{\'selected\': option.selected, \'highlighted\': $index === vm.highlightIndex}" ng-click="vm.selectValue(option, $event)">\n <span class=variable-option-icon></span>\n <span aria-label={{vm.selectors.submenuItemValueDropDownOptionTexts(option.text)}}>{{option.text}}</span>\n </a>\n </div>\n <div class=variable-options-column ng-if=vm.tags.length>\n <div class="variable-options-column-header text-center">\n Tags\n </div>\n <a class="variable-option-tag pointer" ng-repeat="tag in vm.tags" ng-click="vm.selectTag(tag, $event)" ng-class="{\'selected\': tag.selected}">\n <span class="fa fa-fw variable-option-icon"></span>\n <span class=label-tag tag-color-from-name=tag.text>{{tag.text}} <i class="fa fa-tag"></i> </span>\n </a>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "0mC0": function (e, t, n) { + "use strict"; + (function (e) { + var r = n("q1tI"), + a = n.n(r), + o = n("0cfB"), + i = n("/MKj"), + l = n("lzJ5"), + s = n("X+V3"), + c = n("ZFWI"), + u = n("ZGyg"), + f = n("+99A"), + d = n("nvwu"), + p = n("SH6B"), + h = n("2k1X"), + m = n("sAJe"), + g = n("9XWl"); + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function y(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function w(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function O(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function x(e) { + return (x = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function k(e, t) { + return (k = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var j = (function (e) { + function t() { + var e, n; + y(this, t); + for ( + var r = arguments.length, a = new Array(r), o = 0; + o < r; + o++ + ) + a[o] = arguments[o]; + return ( + ((n = O( + this, + (e = x(t)).call.apply(e, [this].concat(a)) + )).state = {}), + (n.onUserUpdate = function (e) { + n.props.updateUser(e); + }), + (n.onPasswordChange = function (e) { + var t = n.props, + r = t.userId; + (0, t.setUserPassword)(r, e); + }), + (n.onUserDelete = function (e) { + n.props.deleteUser(e); + }), + (n.onUserDisable = function (e) { + n.props.disableUser(e); + }), + (n.onUserEnable = function (e) { + n.props.enableUser(e); + }), + (n.onGrafanaAdminChange = function (e) { + var t = n.props, + r = t.userId; + (0, t.updateUserPermissions)(r, e); + }), + (n.onOrgRemove = function (e) { + var t = n.props, + r = t.userId; + (0, t.deleteOrgUser)(r, e); + }), + (n.onOrgRoleChange = function (e, t) { + var r = n.props, + a = r.userId; + (0, r.updateOrgUserRole)(a, e, t); + }), + (n.onOrgAdd = function (e, t) { + var r = n.props, + a = r.user; + (0, r.addOrgUser)(a, e, t); + }), + (n.onSessionRevoke = function (e) { + var t = n.props, + r = t.userId; + (0, t.revokeSession)(e, r); + }), + (n.onAllSessionsRevoke = function () { + var e = n.props, + t = e.userId; + (0, e.revokeAllSessions)(t); + }), + (n.onUserSync = function () { + var e = n.props, + t = e.userId; + (0, e.syncLdapUser)(t); + }), + n + ); + } + var n, r, o, i, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && k(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((i = regeneratorRuntime.mark(function e() { + var t, n; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + (t = this.props), + (n = t.userId), + (0, t.loadAdminUserPage)(n); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + })), + (l = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = i.apply(e, t); + function o(e) { + v(a, n, r, o, l, "next", e); + } + function l(e) { + v(a, n, r, o, l, "throw", e); + } + o(void 0); + }); + }), + function () { + return l.apply(this, arguments); + }), + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.navModel, + n = e.user, + r = e.orgs, + o = e.sessions, + i = e.ldapSyncInfo, + l = e.isLoading, + s = + n && + n.isExternal && + n.authLabels && + n.authLabels.includes("LDAP"); + return a.a.createElement( + u.a, + { navModel: t }, + a.a.createElement( + u.a.Contents, + { isLoading: l }, + n && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(f.a, { + user: n, + onUserUpdate: this.onUserUpdate, + onUserDelete: this.onUserDelete, + onUserDisable: this.onUserDisable, + onUserEnable: this.onUserEnable, + onPasswordChange: this.onPasswordChange, + }), + s && + c.b.licenseInfo.hasLicense && + i && + a.a.createElement(h.a, { + ldapSyncInfo: i, + user: n, + onUserSync: this.onUserSync, + }), + a.a.createElement(d.a, { + isGrafanaAdmin: n.isGrafanaAdmin, + onGrafanaAdminChange: this.onGrafanaAdminChange, + }) + ), + r && + a.a.createElement(g.a, { + orgs: r, + onOrgRemove: this.onOrgRemove, + onOrgRoleChange: this.onOrgRoleChange, + onOrgAdd: this.onOrgAdd, + }), + o && + a.a.createElement(p.a, { + sessions: o, + onSessionRevoke: this.onSessionRevoke, + onAllSessionsRevoke: this.onAllSessionsRevoke, + }) + ) + ); + }, + }, + ]) && w(n.prototype, r), + o && w(n, o), + t + ); + })(r.PureComponent), + S = { + loadAdminUserPage: m.h, + updateUser: m.q, + setUserPassword: m.n, + disableUser: m.f, + enableUser: m.g, + deleteUser: m.e, + updateUserPermissions: m.r, + addOrgUser: m.a, + updateOrgUserRole: m.p, + deleteOrgUser: m.d, + revokeSession: m.m, + revokeAllSessions: m.l, + syncLdapUser: m.o, + }; + t.a = Object(o.hot)(e)( + Object(i.connect)(function (e) { + return { + userId: Object(s.a)(e.location), + navModel: Object(l.a)(e.navIndex, "global-users"), + user: e.userAdmin.user, + sessions: e.userAdmin.sessions, + orgs: e.userAdmin.orgs, + ldapSyncInfo: e.ldap.syncInfo, + isLoading: e.userAdmin.isLoading, + error: e.userAdmin.error, + }; + }, S)(j) + ); + }.call(this, n("3UD+")(e))); + }, + "0pSv": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = function (e) { + var t = e.info, + n = e.showAttributeMapping; + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("th", { colSpan: 2 }, "User information"), + n && a.a.createElement("th", null, "LDAP attribute") + ) + ), + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + "First name" + ), + a.a.createElement("td", null, t.name.ldapValue), + n && a.a.createElement("td", null, t.name.cfgAttrValue) + ), + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + "Surname" + ), + a.a.createElement("td", null, t.surname.ldapValue), + n && a.a.createElement("td", null, t.surname.cfgAttrValue) + ), + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + "Username" + ), + a.a.createElement("td", null, t.login.ldapValue), + n && a.a.createElement("td", null, t.login.cfgAttrValue) + ), + a.a.createElement( + "tr", + null, + a.a.createElement("td", { className: "width-16" }, "Email"), + a.a.createElement("td", null, t.email.ldapValue), + n && a.a.createElement("td", null, t.email.cfgAttrValue) + ) + ) + ) + ) + ); + }, + i = function (e) { + var t = e.permissions; + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("th", { colSpan: 1 }, "Permissions") + ) + ), + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + " Grafana admin" + ), + a.a.createElement( + "td", + null, + t.isGrafanaAdmin + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("i", { + className: "gicon gicon-shield", + }), + " Yes" + ) + : "No" + ) + ), + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + "Status" + ), + a.a.createElement( + "td", + null, + t.isDisabled + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("i", { + className: "fa fa-fw fa-times", + }), + " Inactive" + ) + : a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("i", { + className: "fa fa-fw fa-check", + }), + " Active" + ) + ) + ) + ) + ) + ) + ); + }, + l = n("kDLi"), + s = function (e) { + var t = e.groups, + n = e.showAttributeMapping, + r = n + ? t + : t.filter(function (e) { + return e.orgRole; + }); + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + n && a.a.createElement("th", null, "LDAP Group"), + a.a.createElement( + "th", + null, + "Organization", + a.a.createElement( + l.Tooltip, + { + placement: "top", + content: + "Only the first match for an Organization will be used", + theme: "info", + }, + a.a.createElement( + "span", + { className: "gf-form-help-icon" }, + a.a.createElement("i", { + className: "fa fa-info-circle", + }) + ) + ) + ), + a.a.createElement("th", null, "Role") + ) + ), + a.a.createElement( + "tbody", + null, + r.map(function (e, t) { + return a.a.createElement( + "tr", + { key: "".concat(e.orgId, "-").concat(t) }, + n && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null, e.groupDN), + !e.orgRole && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null), + a.a.createElement( + "td", + null, + a.a.createElement( + "span", + { className: "text-warning" }, + "No match", + a.a.createElement( + l.Tooltip, + { + placement: "top", + content: "No matching groups found", + theme: "info", + }, + a.a.createElement( + "span", + { className: "gf-form-help-icon" }, + a.a.createElement("i", { + className: "fa fa-info-circle", + }) + ) + ) + ) + ) + ) + ), + e.orgName && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null, e.orgName), + a.a.createElement("td", null, e.orgRole) + ) + ); + }) + ) + ) + ) + ); + }, + c = function (e) { + var t = e.teams, + n = e.showAttributeMapping, + r = n + ? t + : t.filter(function (e) { + return e.teamName; + }); + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + n && a.a.createElement("th", null, "LDAP Group"), + a.a.createElement("th", null, "Organisation"), + a.a.createElement("th", null, "Team") + ) + ), + a.a.createElement( + "tbody", + null, + r.map(function (e, t) { + return a.a.createElement( + "tr", + { key: "".concat(e.teamName, "-").concat(t) }, + n && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null, e.groupDN), + !e.orgName && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: "text-warning" }, + "No match", + a.a.createElement( + l.Tooltip, + { + placement: "top", + content: "No matching teams found", + theme: "info", + }, + a.a.createElement( + "span", + { className: "gf-form-help-icon" }, + a.a.createElement("i", { + className: "fa fa-info-circle", + }) + ) + ) + ) + ) + ) + ), + e.orgName && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null, e.orgName), + a.a.createElement("td", null, e.teamName) + ) + ); + }) + ) + ) + ) + ); + }; + n.d(t, "a", function () { + return u; + }); + var u = function (e) { + var t = e.ldapUser, + n = e.showAttributeMapping; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(o, { info: t.info, showAttributeMapping: n }), + a.a.createElement(i, { permissions: t.permissions }), + t.roles && + t.roles.length > 0 && + a.a.createElement(s, { groups: t.roles, showAttributeMapping: n }), + t.teams && t.teams.length > 0 + ? a.a.createElement(c, { teams: t.teams, showAttributeMapping: n }) + : a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("td", null, "No teams found via LDAP") + ) + ) + ) + ) + ) + ); + }; + }, + "0uOV": function (e, t, n) { + "use strict"; + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return a; + }); + var a = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.buffer = t || []); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "add", + value: function (e) { + this.buffer.push(e); + }, + }, + { + key: "get", + value: function (e) { + return this.buffer[e]; + }, + }, + { + key: "set", + value: function (e, t) { + this.buffer[e] = t; + }, + }, + { + key: "reverse", + value: function () { + this.buffer.reverse(); + }, + }, + { + key: "toArray", + value: function () { + return this.buffer; + }, + }, + { + key: "toJSON", + value: function () { + return this.buffer; + }, + }, + { + key: "length", + get: function () { + return this.buffer.length; + }, + }, + ]) && r(t.prototype, n), + a && r(t, a), + e + ); + })(); + }, + "0v62": function (e, t, n) { + "use strict"; + n.d(t, "d", function () { + return b; + }), + n.d(t, "c", function () { + return v; + }), + n.d(t, "e", function () { + return y; + }), + n.d(t, "g", function () { + return w; + }), + n.d(t, "f", function () { + return O; + }), + n.d(t, "j", function () { + return x; + }), + n.d(t, "l", function () { + return k; + }), + n.d(t, "i", function () { + return j; + }), + n.d(t, "h", function () { + return S; + }), + n.d(t, "b", function () { + return E; + }), + n.d(t, "a", function () { + return C; + }), + n.d(t, "k", function () { + return P; + }); + var r = n("LvDl"), + a = n("KgU3"), + o = n("tAX7"), + i = n("lhB2"), + l = n("0uOV"), + s = n("ir79"), + c = n("YmbM"); + function u(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function f(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? f(Object(n), !0).forEach(function (t) { + p(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : f(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function p(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function h(e) { + return (h = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function m(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var g = /^\s*(-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?|NAN)\s*$/i; + function b(e) { + return Object(r.isNumber)(e) + ? a.FieldType.number + : Object(r.isString)(e) + ? g.test(e) + ? a.FieldType.number + : "true" === e || + "TRUE" === e || + "True" === e || + "false" === e || + "FALSE" === e || + "False" === e + ? a.FieldType.boolean + : a.FieldType.string + : Object(r.isBoolean)(e) + ? a.FieldType.boolean + : e instanceof Date || Object(o.f)(e) + ? a.FieldType.time + : a.FieldType.other; + } + function v(e) { + if (e.name) { + var t = e.name.toLowerCase(); + if ("date" === t || "time" === t) return a.FieldType.time; + } + for (var n = 0; n < e.values.length; n++) { + var r = e.values.get(n); + if (null !== r) return b(r); + } + } + var y = function (e) { + for (var t = 0; t < e.fields.length; t++) + if (!e.fields[t].type) + return d({}, e, { + fields: e.fields.map(function (e) { + return e.type && e.type !== a.FieldType.other + ? e + : d({}, e, { type: v(e) || a.FieldType.other }); + }), + }); + return e; + }, + w = function (e) { + return e && e.hasOwnProperty("columns"); + }, + O = function (e) { + return e && e.hasOwnProperty("fields"); + }, + x = function (e) { + if (e.hasOwnProperty("fields")) { + if (e.hasOwnProperty("rows")) { + for (var t = new s.b(e), n = e.rows, o = 0; o < n.length; o++) + t.appendRow(n[o]); + return Object(i.a)("DataFrame", ".rows", "columnar format"), t; + } + return e.hasOwnProperty("length") ? e : new s.b(e); + } + if (e.hasOwnProperty("type") && "docs" === e.type) + return (function (e) { + var t = [ + { + name: e.target, + type: a.FieldType.other, + labels: e.tags, + config: { unit: e.unit, filterable: e.filterable }, + values: new l.a(), + }, + ], + n = !0, + r = !1, + o = void 0; + try { + for ( + var i, s = e.datapoints[Symbol.iterator](); + !(n = (i = s.next()).done); + n = !0 + ) { + var c = i.value; + t[0].values.buffer.push(c); + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == s.return || s.return(); + } finally { + if (r) throw o; + } + } + return { + name: e.target, + refId: e.target, + meta: { json: !0 }, + fields: t, + length: e.datapoints.length, + }; + })(e); + if (e.hasOwnProperty("datapoints")) + return (function (e) { + var t = [], + n = [], + r = !0, + o = !1, + i = void 0; + try { + for ( + var s, c = e.datapoints[Symbol.iterator](); + !(r = (s = c.next()).done); + r = !0 + ) { + var u = s.value; + n.push(u[0]), t.push(u[1]); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + r || null == c.return || c.return(); + } finally { + if (o) throw i; + } + } + var f = [ + { + name: e.target || "Value", + type: a.FieldType.number, + config: { unit: e.unit }, + values: new l.a(n), + labels: e.tags, + }, + { + name: "Time", + type: a.FieldType.time, + config: {}, + values: new l.a(t), + }, + ]; + return { + name: e.target, + refId: e.refId, + meta: e.meta, + fields: f, + length: n.length, + }; + })(e); + if (e.hasOwnProperty("data")) + return (function (e) { + for ( + var t = new l.a(), n = new l.a(), r = 0; + r < e.data.length; + r++ + ) { + var o = e.data[r]; + t.buffer.push(o[1]), n.buffer.push(o[0]); + } + return { + name: e.label, + fields: [ + { + name: e.label || "Value", + type: a.FieldType.number, + config: {}, + values: t, + }, + { + name: "Time", + type: a.FieldType.time, + config: { unit: "dateTimeAsIso" }, + values: n, + }, + ], + length: t.buffer.length, + }; + })(e); + if (e.hasOwnProperty("columns")) + return (function (e) { + var t = e.columns.map(function (e) { + return { + name: e.text, + config: m(e, ["text"]) || {}, + values: new l.a(), + type: a.FieldType.other, + }; + }); + if (!Object(r.isArray)(e.rows)) + throw new Error( + "Expected table rows to be array, got ".concat(h(e.rows), ".") + ); + var n = !0, + o = !1, + i = void 0; + try { + for ( + var s, c = e.rows[Symbol.iterator](); + !(n = (s = c.next()).done); + n = !0 + ) + for (var u = s.value, f = 0; f < t.length; f++) + t[f].values.buffer.push(u[f]); + } catch (e) { + (o = !0), (i = e); + } finally { + try { + n || null == c.return || c.return(); + } finally { + if (o) throw i; + } + } + var d = !0, + p = !1, + g = void 0; + try { + for ( + var b, y = t[Symbol.iterator](); + !(d = (b = y.next()).done); + d = !0 + ) { + var w = b.value, + O = v(w); + O && (w.type = O); + } + } catch (e) { + (p = !0), (g = e); + } finally { + try { + d || null == y.return || y.return(); + } finally { + if (p) throw g; + } + } + return { + fields: t, + refId: e.refId, + meta: e.meta, + name: e.name, + length: e.rows.length, + }; + })(e); + throw ( + (console.warn("Can not convert", e), + new Error("Unsupported data format")) + ); + }, + k = function (e) { + for (var t = e.fields, n = e.length, r = [], o = 0; o < n; o++) { + for (var i = [], l = 0; l < t.length; l++) + i.push(t[l].values.get(o)); + r.push(i); + } + if (2 === t.length) { + var s = t[1].type; + if ( + (s || (s = v(t[1]) || a.FieldType.other), s === a.FieldType.time) + ) + return { + alias: t[0].name || e.name, + target: t[0].name || e.name, + datapoints: r, + unit: t[0].config ? t[0].config.unit : void 0, + refId: e.refId, + meta: e.meta, + }; + } + return e.meta && e.meta.json + ? { + alias: t[0].name || e.name, + target: t[0].name || e.name, + datapoints: t[0].values.toArray(), + filterable: t[0].config ? t[0].config.filterable : void 0, + type: "docs", + } + : { + columns: t.map(function (e) { + var t = e.name, + n = e.config; + if (n) { + var r = Object.assign({}, n); + return (r.text = t), r; + } + return { text: t }; + }), + type: "table", + refId: e.refId, + meta: e.meta, + rows: r, + }; + }; + function j(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = e.fields[t]; + if (!r) return e; + for (var o = [], i = 0; i < e.length; i++) o.push(i); + var l = r.values, + s = function (e, t) { + return l.get(e) - l.get(t); + }; + return ( + r.type === a.FieldType.string && + (s = function (e, t) { + var n = l.get(e), + r = l.get(t); + return n.localeCompare(r); + }), + o.sort(s), + n && o.reverse(), + d({}, e, { + fields: e.fields.map(function (e) { + return d({}, e, { values: new c.a(e.values, o) }); + }), + }) + ); + } + function S(e) { + return d({}, e, { + fields: e.fields.map(function (e) { + var t = u(e.values.toArray()); + return t.reverse(), d({}, e, { values: new l.a(t) }); + }), + }); + } + var E = function (e) { + for (var t = 0; t < e.fields.length; t++) + if (e.fields[t].type === a.FieldType.time) + return { timeField: e.fields[t], timeIndex: t }; + return {}; + }; + function C(e, t) { + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e.fields[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + n.push(s.values.get(t)); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + } + function P(e) { + return { + fields: e.fields.map(function (e) { + var t = e.values.toArray(); + if (!Array.isArray(t)) { + t = []; + for (var n = 0; n < e.values.length; n++) t.push(e.values.get(n)); + } + return { + name: e.name, + type: e.type, + config: e.config, + values: t, + labels: e.labels, + }; + }), + refId: e.refId, + meta: e.meta, + name: e.name, + }; + } + }, + "0xpV": function (e, t) { + jQuery.plot.plugins.push({ + init: function (e) { + e.hooks.processDatapoints.push(function (e, t, n) { + if (null != t.stack && !1 !== t.stack) { + var r = (function (e, t) { + for (var n = null, r = 0; r < t.length && e != t[r]; ++r) + t[r].stack == e.stack && (n = t[r]); + return n; + })(t, e.getData()); + if (r) { + for ( + var a, + o, + i, + l, + s, + c, + u, + f, + d = n.pointsize, + p = n.points, + h = r.datapoints.pointsize, + m = r.datapoints.points, + g = [], + b = t.lines.show, + v = t.bars.horizontal, + y = d > 2 && (v ? n.format[2].x : n.format[2].y), + w = b && t.lines.steps, + O = v ? 1 : 0, + x = v ? 0 : 1, + k = 0, + j = 0; + !(k >= p.length && j >= m.length); + + ) { + if (((u = g.length), k < p.length && null == p[k])) { + for (f = 0; f < d; ++f) g.push(p[k + f]); + k += d; + } else if (k >= p.length) { + for (f = 0; f < d; ++f) g.push(m[j + f]); + y && (g[u + 2] = m[j + x]), (j += h); + } else if (j >= m.length) { + for (f = 0; f < d; ++f) g.push(p[k + f]); + k += d; + } else if (j < m.length && null == m[j]) j += h; + else { + if ( + ((a = p[k + O]), + (o = p[k + x]), + (l = m[j + O]), + (s = m[j + x]), + (c = 0), + a == l) + ) { + for (f = 0; f < d; ++f) g.push(p[k + f]); + (g[u + x] += s), (c = s), (k += d), (j += h); + } else if (a > l) { + if (0 == k) { + for (f = 0; f < d; ++f) g.push(m[j + f]); + c = s; + } + if (k > 0 && null != p[k - d]) { + for ( + i = + o + + ((p[k - d + x] - o) * (l - a)) / (p[k - d + O] - a), + g.push(l), + g.push(i + s), + f = 2; + f < d; + ++f + ) + g.push(p[k + f]); + c = s; + } + j += h; + } else { + for (f = 0; f < d; ++f) g.push(p[k + f]); + j > 0 && + null != m[j - h] && + (c = + s + + ((m[j - h + x] - s) * (a - l)) / (m[j - h + O] - l)), + (g[u + x] += c), + (k += d); + } + (fromgap = !1), u != g.length && y && (g[u + 2] = c); + } + if ( + w && + u != g.length && + u > 0 && + null != g[u] && + g[u] != g[u - d] && + g[u + 1] != g[u - d + 1] + ) { + for (f = 0; f < d; ++f) g[u + d + f] = g[u + f]; + g[u + 1] = g[u - d + 1]; + } + } + n.points = g; + } + } + }); + }, + options: { series: { stack: null } }, + name: "stack", + version: "1.2", + }); + }, + "11hs": function (e, t) { + var n = "public/app/features/datasources/partials/http_settings.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put(n, ""); + }, + ]), + (e.exports = n); + }, + "13X4": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }), + n.d(t, "a", function () { + return d; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("i7Pf"), + i = n("0Mjz"); + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var u = { + url: "", + path: "", + query: {}, + routeParams: {}, + replace: !1, + lastUpdated: 0, + }, + f = Object(o.b)("location/updateLocation"), + d = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : u, + t = arguments.length > 1 ? arguments[1] : void 0; + if (f.match(t)) { + var n = t.payload, + r = n.path, + o = n.routeParams, + l = n.replace, + c = n.query || e.query; + return ( + n.partial && + ((c = a.a.defaults(c, e.query)), + (c = a.a.omitBy(c, a.a.isNull))), + { + url: Object(i.c)(r || e.path, c), + path: r || e.path, + query: s({}, c), + routeParams: o || e.routeParams, + replace: !0 === l, + lastUpdated: new Date().getTime(), + } + ); + } + return e; + }; + }, + 1524: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("uhBA"); + function a(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var o = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.emitter = new r.EventEmitter()); + } + var t, n, o; + return ( + (t = e), + (n = [ + { + key: "emit", + value: function (e, t) { + "string" == typeof e + ? (console.log( + "Using strings as events is deprecated and will be removed in a future version. (".concat( + e, + ")" + ) + ), + this.emitter.emit(e, t)) + : this.emitter.emit(e.name, t); + }, + }, + { + key: "on", + value: function (e, t, n) { + var r = this; + if ("string" != typeof e) { + if ((this.emitter.on(e.name, t), n)) + var a = n.$on("$destroy", function () { + r.emitter.off(e.name, t), a(); + }); + } else if ( + (console.log( + "Using strings as events is deprecated and will be removed in a future version. (".concat( + e, + ")" + ) + ), + this.emitter.on(e, t), + n) + ) + var o = n.$on("$destroy", function () { + r.emitter.off(e, t), o(); + }); + }, + }, + { + key: "off", + value: function (e, t) { + if ("string" == typeof e) + return ( + console.log( + "Using strings as events is deprecated and will be removed in a future version. (".concat( + e, + ")" + ) + ), + void this.emitter.off(e, t) + ); + this.emitter.off(e.name, t); + }, + }, + { + key: "removeAllListeners", + value: function (e) { + this.emitter.removeAllListeners(e); + }, + }, + { + key: "getEventCount", + value: function () { + return this.emitter._eventsCount; + }, + }, + ]) && a(t.prototype, n), + o && a(t, o), + e + ); + })(); + }, + "1BU0": function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "a", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }), + (function (e) { + (e.NotStarted = "NotStarted"), + (e.Loading = "Loading"), + (e.Streaming = "Streaming"), + (e.Done = "Done"), + (e.Error = "Error"); + })(r || (r = {})), + (function (e) { + (e.Null = "null"), + (e.Ignore = "connected"), + (e.AsZero = "null as zero"); + })(a || (a = {})); + }, + "1VFa": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return g; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("ODSy"), + i = n("Lrfw"), + l = n("kDDq"), + s = n("Fts8"), + c = n("MIBK"); + function u() { + var e = h(["\n justify-content: flex-end;\n flex-grow: 1;\n "]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = h(["\n display: flex;\n "]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d() { + var e = h([ + "\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n width: 100%;\n ", + ]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p() { + var e = h([ + "\n padding-left: 10px;\n display: flex;\n font-size: ", + ";\n white-space: nowrap;\n ", + ]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var m = Object(c.g)(function (e) { + return { + item: Object(l.css)(p(), e.typography.size.sm), + wrapper: Object(l.css)(d()), + section: Object(l.css)(f()), + sectionRight: Object(l.css)(u()), + }; + }), + g = function (e) { + var t = e.items, + n = e.itemRenderer, + c = e.placement, + u = e.className, + f = Object(r.useContext)(s.a), + d = m(f), + p = function (e, t) { + return a.a.createElement( + "span", + { className: d.item }, + n ? n(e, t) : e.label + ); + }, + h = function (e) { + return "".concat(e.label); + }; + return "under" === c + ? a.a.createElement( + "div", + { className: Object(l.cx)(d.wrapper, u) }, + a.a.createElement( + "div", + { className: d.section }, + a.a.createElement(o.a, { + items: t.filter(function (e) { + return 1 === e.yAxis; + }), + renderItem: p, + getItemKey: h, + }) + ), + a.a.createElement( + "div", + { className: Object(l.cx)(d.section, d.sectionRight) }, + a.a.createElement(o.a, { + items: t.filter(function (e) { + return 1 !== e.yAxis; + }), + renderItem: p, + getItemKey: h, + }) + ) + ) + : a.a.createElement(i.a, { + items: t, + renderItem: p, + getItemKey: h, + className: u, + }); + }; + g.displayName = "LegendList"; + }, + "1Zgx": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return c; + }), + n.d(t, "a", function () { + return f; + }); + var r = n("nwiq"), + a = n("LvDl"), + o = n.n(a), + i = n("Obii"); + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function s(e, t) { + if (!e) return !1; + if ("/" === e[0]) { + var n = Object(i.stringToJsRegex)(e); + return null != t.match(n); + } + return e === t; + } + function c(e, t, n) { + for (var a = 0; a < e.length; a++) { + var l = e[a], + s = t.yaxes[(l.yaxis || 1) - 1], + c = Object(i.getValueFormat)(s.format); + if (o.a.isNumber(t.decimals)) + l.updateLegendValues(c, t.decimals, null); + else if (o.a.isNumber(s.decimals)) + l.updateLegendValues(c, s.decimals + 1, null); + else { + var f = u(e), + d = f.datamin, + p = f.datamax, + h = Object(r.getFlotTickDecimals)(d, p, s, n), + m = h.tickDecimals, + g = h.scaledDecimals, + b = (m || -1) + 1; + l.updateLegendValues(c, b, g + 2); + } + } + } + function u(e) { + var t = null, + n = null, + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + (null === n || n < s.stats.max) && (n = s.stats.max), + (null === t || t > s.stats.min) && (t = s.stats.min); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return { datamin: t, datamax: n }; + } + var f = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.datapoints = t.datapoints), + (this.label = t.alias), + (this.id = t.alias), + (this.alias = t.alias), + (this.aliasEscaped = o.a.escape(t.alias)), + (this.color = t.color), + (this.bars = { fillColor: t.color }), + (this.valueFormater = Object(i.getValueFormat)("none")), + (this.stats = {}), + (this.legend = !0), + (this.unit = t.unit), + (this.dataFrameIndex = t.dataFrameIndex), + (this.fieldIndex = t.fieldIndex), + (this.hasMsResolution = this.isMsResolutionNeeded()); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "applySeriesOverrides", + value: function (e) { + (this.lines = {}), + (this.dashes = { dashLength: [] }), + (this.points = {}), + (this.yaxis = 1), + (this.zindex = 0), + (this.nullPointMode = null), + delete this.stack, + delete this.bars.show; + for (var t = 0; t < e.length; t++) { + var n = e[t]; + s(n.alias, this.alias) && + (void 0 !== n.lines && (this.lines.show = n.lines), + void 0 !== n.dashes && + ((this.dashes.show = n.dashes), + (this.lines.lineWidth = 0)), + void 0 !== n.points && (this.points.show = n.points), + void 0 !== n.bars && (this.bars.show = n.bars), + void 0 !== n.fill && + (this.lines.fill = 0 === (a = n.fill) ? 0.001 : a / 10), + void 0 !== n.fillGradient && + (this.lines.fillColor = (r = n.fillGradient) + ? { colors: [{ opacity: 0 }, { opacity: r / 10 }] } + : null), + void 0 !== n.stack && (this.stack = n.stack), + void 0 !== n.linewidth && + ((this.lines.lineWidth = this.dashes.show + ? 0 + : n.linewidth), + (this.dashes.lineWidth = n.linewidth)), + void 0 !== n.dashLength && + (this.dashes.dashLength[0] = n.dashLength), + void 0 !== n.spaceLength && + (this.dashes.dashLength[1] = n.spaceLength), + void 0 !== n.nullPointMode && + (this.nullPointMode = n.nullPointMode), + void 0 !== n.pointradius && + (this.points.radius = n.pointradius), + void 0 !== n.steppedLine && + (this.lines.steps = n.steppedLine), + void 0 !== n.zindex && (this.zindex = n.zindex), + void 0 !== n.fillBelowTo && + (this.fillBelowTo = n.fillBelowTo), + void 0 !== n.color && this.setColor(n.color), + void 0 !== n.transform && (this.transform = n.transform), + void 0 !== n.legend && (this.legend = n.legend), + void 0 !== n.hideTooltip && + (this.hideTooltip = n.hideTooltip), + void 0 !== n.yaxis && (this.yaxis = n.yaxis), + void 0 !== n.hiddenSeries && + (this.hiddenSeries = n.hiddenSeries)); + } + var r, a; + }, + }, + { + key: "getFlotPairs", + value: function (e) { + var t = []; + (this.stats.total = 0), + (this.stats.max = -Number.MAX_VALUE), + (this.stats.min = Number.MAX_VALUE), + (this.stats.logmin = Number.MAX_VALUE), + (this.stats.avg = null), + (this.stats.current = null), + (this.stats.first = null), + (this.stats.delta = 0), + (this.stats.diff = null), + (this.stats.range = null), + (this.stats.timeStep = Number.MAX_VALUE), + (this.allIsNull = !0), + (this.allIsZero = !0); + for ( + var n, + r, + a, + i = "connected" === e, + l = "null as zero" === e, + s = 0, + c = 0, + u = !0, + f = 0; + f < this.datapoints.length; + f++ + ) { + if ( + ((r = this.datapoints[f][0]), + (n = this.datapoints[f][1]), + void 0 !== a) + ) { + var d = n - a; + d < this.stats.timeStep && (this.stats.timeStep = d); + } + if (((a = n), null === r)) { + if (i) continue; + l && (r = 0); + } + null !== r && + (o.a.isNumber(r) && + ((this.stats.total += r), (this.allIsNull = !1), s++), + r > this.stats.max && (this.stats.max = r), + r < this.stats.min && (this.stats.min = r), + null === this.stats.first + ? (this.stats.first = r) + : c > r + ? ((u = !1), + f === this.datapoints.length - 1 && + (this.stats.delta += r)) + : ((this.stats.delta += u ? r - c : r), (u = !0)), + (c = r), + r < this.stats.logmin && r > 0 && (this.stats.logmin = r), + 0 !== r && (this.allIsZero = !1)), + t.push([n, r]); + } + return ( + this.stats.max === -Number.MAX_VALUE && + (this.stats.max = null), + this.stats.min === Number.MAX_VALUE && + (this.stats.min = null), + t.length && + !this.allIsNull && + ((this.stats.avg = this.stats.total / s), + (this.stats.current = t[t.length - 1][1]), + null === this.stats.current && + t.length > 1 && + (this.stats.current = t[t.length - 2][1])), + null !== this.stats.max && + null !== this.stats.min && + (this.stats.range = this.stats.max - this.stats.min), + null !== this.stats.current && + null !== this.stats.first && + (this.stats.diff = this.stats.current - this.stats.first), + (this.stats.count = t.length), + t + ); + }, + }, + { + key: "updateLegendValues", + value: function (e, t, n) { + (this.valueFormater = e), + (this.decimals = t), + (this.scaledDecimals = n); + }, + }, + { + key: "formatValue", + value: function (e) { + return ( + o.a.isFinite(e) || (e = null), + Object(i.formattedValueToString)( + this.valueFormater(e, this.decimals, this.scaledDecimals) + ) + ); + }, + }, + { + key: "isMsResolutionNeeded", + value: function () { + for (var e = 0; e < this.datapoints.length; e++) + if ( + null !== this.datapoints[e][1] && + void 0 !== this.datapoints[e][1] + ) { + var t = this.datapoints[e][1].toString(); + if (13 === t.length && t % 1e3 != 0) return !0; + } + return !1; + }, + }, + { + key: "hideFromLegend", + value: function (e) { + return ( + !(!e.hideEmpty || !this.allIsNull) || + !this.legend || + !(!e.hideZero || !this.allIsZero) + ); + }, + }, + { + key: "setColor", + value: function (e) { + (this.color = e), (this.bars.fillColor = e); + }, + }, + ]) && l(t.prototype, n), + r && l(t, r), + e + ); + })(); + }, + "1duI": function (e, t) { + var n = "public/app/features/admin/partials/admin_home.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n <div class="grafana-info-box span8">\n Grafana is a multi-tenant system where most can be configured per organization. These\n admin pages are for server admins where you can manage orgs, & all users across all orgs.\n </div>\n\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + "1gCF": function (e, t, n) { + "use strict"; + var r = function (e) { + return '[aria-label="'.concat(e, '"]'); + }, + a = function (e) { + var t = (e = e || "").replace("^/", ""); + return "" + .concat( + _.env("BASE_URL") || _.config().baseUrl || "http://localhost:3000" + ) + .concat(t); + }, + o = function (e) { + var t = e.match("\\/d\\/(.*)\\/"); + if (!t) throw new Error("Couldn't parse uid from ".concat(e)); + return t[1]; + }; + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = function (e) { + var t = e.url, + n = e.selectors, + o = {}; + return ( + Object.keys(n).forEach(function (e) { + var t = n[e]; + "string" == typeof t && + (o[e] = function () { + return ( + _().logToConsole("Retrieving Selector:", t), _().get(r(t)) + ); + }), + "function" == typeof t && + (o[e] = function (e) { + if (!e) { + var n = t(); + return ( + _().logToConsole("Retrieving Selector:", n), _().get(n) + ); + } + var a = t(e); + return ( + _().logToConsole("Retrieving Selector:", a), _().get(r(a)) + ); + }); + }), + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })( + { + visit: function (e) { + if (!t) return _().visit(""); + var n = ""; + return ( + "string" == typeof t && (n = a(t)), + "function" == typeof t && e && (n = a(t(e))), + _().logToConsole("Visiting", n), + _().visit(n) + ); + }, + }, + o, + { selectors: n } + ) + ); + }, + c = { + lastAddedDataSource: "", + lastAddedDashboard: "", + lastAddedDashboardUid: "", + }, + u = s({ + url: "/login", + selectors: { + username: "Username input field", + password: "Password input field", + submit: "Login button", + skip: "Skip change password button", + }, + }), + f = s({ + url: "/datasources/new", + selectors: { + dataSourcePlugins: function (e) { + return "Data source plugin item ".concat(e); + }, + }, + }), + d = s({ + url: "", + selectors: { + name: "Data source settings page name input field", + delete: "Data source settings page Delete button", + saveAndTest: "Data source settings page Save and Test button", + alert: "Data source settings page Alert", + alertMessage: "Data source settings page Alert message", + }, + }), + p = s({ + url: "/datasources", + selectors: { + dataSources: function (e) { + return "Data source list item ".concat(e); + }, + }, + }), + h = s({ + url: "", + selectors: { delete: "Confirm Modal Danger Button" }, + }), + m = s({ + url: "/dashboard/new", + selectors: { + ctaButtons: function (e) { + return "Add Panel Widget CTA Button ".concat(e); + }, + }, + }), + g = s({ + url: function (e) { + return "/d/".concat(e); + }, + selectors: { + toolbarItems: function (e) { + return "Dashboard navigation bar button ".concat(e); + }, + backArrow: "Dashboard settings Go Back button", + navBar: function () { + return ".navbar"; + }, + }, + }), + b = s({ + url: "", + selectors: { + newName: "Save dashboard title field", + save: "Save dashboard button", + }, + }), + v = s({ + url: "/dashboards", + selectors: { + dashboards: function (e) { + return "Dashboard search item ".concat(e); + }, + }, + }), + y = s({ + url: "", + selectors: { + deleteDashBoard: "Dashboard settings page delete dashboard button", + sectionItems: function (e) { + return "Dashboard settings section item ".concat(e); + }, + saveDashBoard: "Dashboard settings aside actions Save button", + saveAsDashBoard: "Dashboard settings aside actions Save As button", + }, + }), + w = s({ + url: "", + selectors: { + tabItems: function (e) { + return "Edit panel tab item ".concat(e); + }, + }, + }), + O = { + QueryTab: s({ + url: "", + selectors: { scenarioSelect: "Test Data Query scenario select" }, + }), + }, + x = { + VisualizationTab: s({ + url: "", + selectors: { xAxisSection: "X-Axis section" }, + }), + }, + k = s({ + url: "", + selectors: { + save: "Dashboard settings Save Dashboard Modal Save button", + saveVariables: + "Dashboard settings Save Dashboard Modal Save variables checkbox", + saveTimerange: + "Dashboard settings Save Dashboard Modal Save timerange checkbox", + }, + }), + j = s({ + url: "", + selectors: { + title: function (e) { + return "Panel header title item ".concat(e); + }, + headerItems: function (e) { + return "Panel header item ".concat(e); + }, + }, + }), + S = s({ + url: "", + selectors: { linkToRenderedImage: "Link to rendered image" }, + }), + E = s({ + url: "", + selectors: { + addVariableCTA: "Call to action button Add variable", + newButton: "Variable editor New variable button", + table: "Variable editor Table", + tableRowNameFields: function (e) { + return "Variable editor Table Name field ".concat(e); + }, + tableRowDefinitionFields: function (e) { + return "Variable editor Table Definition field ".concat(e); + }, + tableRowArrowUpButtons: function (e) { + return "Variable editor Table ArrowUp button ".concat(e); + }, + tableRowArrowDownButtons: function (e) { + return "Variable editor Table ArrowDown button ".concat(e); + }, + tableRowDuplicateButtons: function (e) { + return "Variable editor Table Duplicate button ".concat(e); + }, + tableRowRemoveButtons: function (e) { + return "Variable editor Table Remove button ".concat(e); + }, + }, + }), + C = s({ + url: "", + selectors: { + submenuItem: "Dashboard template variables submenu item", + submenuItemLabels: function (e) { + return "Dashboard template variables submenu Label ".concat(e); + }, + submenuItemValueDropDownValueLinkTexts: function (e) { + return "Dashboard template variables Variable Value DropDown value link text ".concat( + e + ); + }, + submenuItemValueDropDownDropDown: + "Dashboard template variables Variable Value DropDown DropDown", + submenuItemValueDropDownOptionTexts: function (e) { + return "Dashboard template variables Variable Value DropDown option text ".concat( + e + ); + }, + }, + }), + P = s({ + url: "", + selectors: { + headerLink: "Variable editor Header link", + modeLabelNew: "Variable editor Header mode New", + modeLabelEdit: "Variable editor Header mode Edit", + generalNameInput: "Variable editor Form Name field", + generalTypeSelect: "Variable editor Form Type select", + generalLabelInput: "Variable editor Form Label field", + generalHideSelect: "Variable editor Form Hide select", + selectionOptionsMultiSwitch: "Variable editor Form Multi switch", + selectionOptionsIncludeAllSwitch: + "Variable editor Form IncludeAll switch", + selectionOptionsCustomAllInput: + "Variable editor Form IncludeAll field", + previewOfValuesOption: "Variable editor Preview of Values option", + addButton: "Variable editor Add button", + updateButton: "Variable editor Update button", + }, + }), + T = s({ + url: "", + selectors: { + queryOptionsDataSourceSelect: + "Variable editor Form Query DataSource select", + queryOptionsRefreshSelect: + "Variable editor Form Query Refresh select", + queryOptionsRegExInput: "Variable editor Form Query RegEx field", + queryOptionsSortSelect: "Variable editor Form Query Sort select", + queryOptionsQueryInput: + "Variable editor Form Default Variable Query Editor textarea", + valueGroupsTagsEnabledSwitch: + "Variable editor Form Query UseTags switch", + valueGroupsTagsTagsQueryInput: + "Variable editor Form Query TagsQuery field", + valueGroupsTagsTagsValuesQueryInput: + "Variable editor Form Query TagsValuesQuery field", + }, + }), + D = s({ + url: "", + selectors: { + constantOptionsQueryInput: + "Variable editor Form Constant Query field", + }, + }), + A = { + env: function (e) { + return Cypress.env(e); + }, + config: function () { + return Cypress.config(); + }, + blobToBase64String: function (e) { + return Cypress.Blob.blobToBase64String(e); + }, + imgSrcToBlob: function (e) { + return Cypress.Blob.imgSrcToBlob(e); + }, + scenario: function (e) { + return (function (e) { + var t = e.describeName, + n = e.itName, + r = e.scenario, + a = e.skipScenario, + o = void 0 !== a && a, + i = e.addScenarioDataSource, + l = void 0 !== i && i, + s = e.addScenarioDashBoard, + c = void 0 !== s && s; + describe(t, function () { + o + ? it.skip(n, function () { + expect(!1).equals(!0); + }) + : (beforeEach(function () { + _.flows.login("admin", "admin"), + l && _.flows.addDataSource("TestData DB"), + c && _.flows.addDashboard(); + }), + afterEach(function () { + _.context().get("lastAddedDataSource") && + _.flows.deleteDataSource( + _.context().get("lastAddedDataSource") + ), + _.context().get("lastAddedDashboardUid") && + _.flows.deleteDashboard( + _.context().get("lastAddedDashboardUid") + ); + }), + it(n, function () { + r(); + })); + }); + })(e); + }, + context: function () { + return { + get: function (e) { + return c[e]; + }, + set: function (e, t) { + c[e] = t; + }, + }; + }, + pages: { + Login: u, + DataSource: d, + DataSources: p, + AddDataSource: f, + ConfirmModal: h, + AddDashboard: m, + Dashboard: { + visit: function (e) { + return g.visit(e); + }, + Toolbar: g, + SubMenu: C, + Settings: { + General: y, + Variables: { + List: E, + Edit: { General: P, QueryVariable: T, ConstantVariable: D }, + }, + }, + Panels: { + Panel: j, + EditPanel: w, + DataSource: { TestData: O }, + Visualization: { Graph: x }, + }, + }, + Dashboards: v, + SaveDashboardAsModal: b, + SaveDashboardModal: k, + SharePanelModal: S, + }, + flows: { + login: function (e, t) { + _().logToConsole("Trying to login with:", { + username: e, + password: t, + }), + _.pages.Login.visit(), + _.pages.Login.username().should("be.visible").type(e), + _.pages.Login.password().type(t), + _.pages.Login.submit().click(), + _.pages.Login.skip().should("be.visible").click(), + _().get(".login-page").should("not.exist"), + _().logToConsole("Logged in with", { + username: e, + password: t, + }); + }, + addDataSource: function (e) { + (e = e || "TestData DB"), + _().logToConsole("Adding data source with pluginName:", e), + _.pages.AddDataSource.visit(), + _.pages.AddDataSource.dataSourcePlugins(e) + .scrollIntoView() + .should("be.visible") + .click(); + var t = "e2e-".concat(new Date().getTime()); + return ( + _.pages.DataSource.name().clear(), + _.pages.DataSource.name().type(t), + _.pages.DataSource.saveAndTest().click(), + _.pages.DataSource.alert().should("exist"), + _.pages.DataSource.alertMessage().should( + "contain.text", + "Data source is working" + ), + _().logToConsole("Added data source with name:", t), + _.context().set("lastAddedDataSource", t), + t + ); + }, + deleteDataSource: function (e) { + _().logToConsole("Deleting data source with name:", e), + _().request("DELETE", a("/api/datasources/name/".concat(e))); + }, + addDashboard: function () { + _().logToConsole("Adding dashboard"), + _.pages.AddDashboard.visit(); + var e = _.flows.saveNewDashboard(); + _().logToConsole("Added dashboard with title:", e), + _() + .url() + .then(function (t) { + _.context().set("lastAddedDashboard", e), + _.context().set("lastAddedDashboardUid", o(t)); + }); + }, + assertSuccessNotification: function () { + _().get(".alert-success").should("exist"); + }, + deleteDashboard: function (e) { + _().logToConsole("Deleting dashboard with uid:", e), + _().request("DELETE", a("/api/dashboards/uid/".concat(e))); + }, + openDashboard: function (e) { + _.pages.Dashboard.visit(e); + }, + saveNewDashboard: function () { + _.pages.Dashboard.Toolbar.toolbarItems("Save dashboard").click(); + var e = "e2e-".concat(new Date().getTime()); + return ( + _.pages.SaveDashboardAsModal.newName().clear(), + _.pages.SaveDashboardAsModal.newName().type(e), + _.pages.SaveDashboardAsModal.save().click(), + _.flows.assertSuccessNotification(), + e + ); + }, + saveDashboard: function () { + _.pages.Dashboard.Toolbar.toolbarItems("Save dashboard").click(), + _.pages.SaveDashboardModal.save().click(), + _.flows.assertSuccessNotification(); + }, + }, + }, + _ = Object.assign(function () { + return cy; + }, A); + n.d(t, "a", function () { + return _; + }); + }, + "1kYe": function (e, t) { + var n = "public/app/plugins/datasource/mssql/partials/config.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<h3 class=page-heading>MSSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:1433 bs-typeahead="{{[\'localhost\', \'localhost:1433\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n <div class=gf-form>\n <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class="gf-form-label width-7">Encrypt</label>\n\t\t<div class="gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.encrypt ng-options="mode for mode in [\'disable\', \'false\', \'true\']" ng-init=ctrl.current.jsonData.encrypt></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tDetermines whether or to which extent a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t\t<ul>\n\t\t\t\t\t<li><i>disable</i> - Data sent between client and server is not encrypted.</li>\n\t\t\t\t\t<li><i>false</i> - Data sent between client and server is not encrypted beyond the login packet. (default)</li>\n\t\t\t\t\t<li><i>true</i> - Data sent between client and server is encrypted.</li>\n\t\t\t\t</ul>\n\t\t\t\tIf you\'re using an older version of Microsoft SQL Server like 2008 and 2008R2 you may need to disable encryption to be able to connect.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MSSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MSSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + "1yDb": function (e, t) { + var n = "public/app/features/admin/partials/edit_org.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<h3 class=page-sub-heading>Edit Organization</h3>\n\n\t<form name=orgDetailsForm class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Name</span>\n\t\t\t<input type=text required ng-model=org.name class="gf-form-input max-width-14">\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary" ng-click=update() ng-show=!createMode>Update</button>\n\t\t</div>\n\t</form>\n\n\t<h3 class=page-heading>Organization Users</h3>\n\n\t<table class=filter-table>\n\t\t<tr>\n\t\t\t<th>Username</th>\n\t\t\t<th>Email</th>\n\t\t\t<th>Role</th>\n\t\t\t<th></th>\n\t\t</tr>\n\t\t<tr ng-repeat="orgUser in orgUsers">\n\t\t\t<td>{{orgUser.login}}</td>\n\t\t\t<td>{{orgUser.email}}</td>\n\t\t\t<td>\n <div class=gf-form>\n <span class=gf-form-select-wrapper>\n <select type=text ng-model=orgUser.role class="gf-form-input max-width-8" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']" ng-change=updateOrgUser(orgUser)>\n </select>\n </span>\n </div>\n\t\t\t</td>\n\t\t\t<td style=width:1%>\n\t\t\t\t<a ng-click=removeOrgUser(orgUser) class="btn btn-danger btn-small">\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + "2KQq": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }); + var r = function (e) { + return function (t) { + return t.finally(e.$evalAsync); + }; + }; + }, + "2L+O": function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "b", function () { + return r; + }), + n.d(t, "a", function () { + return a; + }), + n.d(t, "c", function () { + return o; + }), + (function (e) { + (e.Home = "home-dashboard"), + (e.New = "new-dashboard"), + (e.Normal = "normal-dashboard"), + (e.Scripted = "scripted-dashboard"); + })(r || (r = {})), + (function (e) { + (e.NotStarted = "Not started"), + (e.Fetching = "Fetching"), + (e.Services = "Services"), + (e.Failed = "Failed"), + (e.Completed = "Completed"); + })(a || (a = {})); + var o = "tv"; + }, + "2L8i": function (e, t) { + var n, r, a, o, i; + (n = document), + (r = n.createElement("STYLE")), + (a = "addEventListener" in n), + (o = function (e, t) { + a ? n.addEventListener(e, t) : n.attachEvent("on" + e, t); + }), + (i = function (e) { + r.styleSheet ? (r.styleSheet.cssText = e) : (r.innerHTML = e); + }), + n.getElementsByTagName("HEAD")[0].appendChild(r), + o("mousedown", function () { + i(":focus{outline:0 !important}::-moz-focus-inner{border:0;}"); + }), + o("keydown", function () { + i(""); + }); + }, + "2euF": function (e, t) { + var n = "public/app/plugins/panel/singlestat/mappings.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n <div class=gf-form-group>\n <div class=gf-form>\n <span class=gf-form-label>\n Type\n </span>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.panel.mappingType ng-options="f.value as f.name for f in ctrl.panel.mappingTypes" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n </div>\n</div>\n<div class=editor-row ng-if="ctrl.panel.mappingType==1">\n <h5 class=section-heading>Set value mappings</h5>\n <div class=gf-form-group>\n <div class=gf-form ng-repeat="map in ctrl.panel.valueMaps">\n <span class=gf-form-label>\n <i class="fa fa-remove pointer" ng-click=ctrl.removeValueMap(map)></i>\n </span>\n <input type=text ng-model=map.value placeholder=value class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n <span class=gf-form-label>\n <i class="fa fa-arrow-right"></i>\n </span>\n <input type=text placeholder=text ng-model=map.text class="gf-form-input max-width-8" ng-blur=ctrl.refresh()>\n </div>\n\n <div class=gf-form-button-row>\n <button class="btn btn-inverse" ng-click=ctrl.addValueMap();>\n <i class="fa fa-plus"></i>\n Add a value mapping\n </button>\n </div>\n </div>\n</div>\n<div class=editor-row ng-if="ctrl.panel.mappingType==2">\n <h5 class=section-heading>Set range mappings</h5>\n <div class=gf-form-group>\n <div class=gf-form ng-repeat="rangeMap in ctrl.panel.rangeMaps">\n <span class=gf-form-label>\n <i class="fa fa-remove pointer" ng-click=ctrl.removeRangeMap(rangeMap)></i>\n </span>\n <span class=gf-form-label>From</span>\n <input type=text ng-model=rangeMap.from class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n <span class=gf-form-label>To</span>\n <input type=text ng-model=rangeMap.to class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n <span class=gf-form-label>Text</span>\n <input type=text ng-model=rangeMap.text class="gf-form-input max-width-8" ng-blur=ctrl.refresh()>\n </div>\n\n <div class=gf-form-button-row>\n <button class="btn btn-inverse" ng-click=ctrl.addRangeMap()>\n <i class="fa fa-plus"></i>\n Add a range mapping\n </button>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "2k1X": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("Obii"), + i = n("kDLi"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = (function (e) { + function t() { + var e, n; + s(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = u( + this, + (e = f(t)).call.apply(e, [this].concat(a)) + )).onUserSync = function () { + n.props.onUserSync(); + }), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.ldapSyncInfo, + n = e.user, + r = Object(o.dateTime)(t.nextSync).format( + "dddd YYYY-MM-DD HH:mm zz" + ), + l = t && t.prevSync, + s = l + ? Object(o.dateTime)(t.prevSync.started).format( + "dddd YYYY-MM-DD HH:mm zz" + ) + : "", + c = "".concat("/admin/ldap", "?user=").concat(n && n.login); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "LDAP Synchronisation" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("td", null, "External sync"), + a.a.createElement( + "td", + null, + "User synced via LDAP – some changes must be done in LDAP or mappings." + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "span", + { className: "label label-tag" }, + "LDAP" + ) + ) + ), + a.a.createElement( + "tr", + null, + t.enabled + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "td", + null, + "Next scheduled synchronisation" + ), + a.a.createElement("td", { colSpan: 2 }, r) + ) + : a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "td", + null, + "Next scheduled synchronisation" + ), + a.a.createElement( + "td", + { colSpan: 2 }, + "Not enabled" + ) + ) + ), + a.a.createElement( + "tr", + null, + l + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "td", + null, + "Last synchronisation" + ), + a.a.createElement("td", null, s), + a.a.createElement("td", null, "Successful") + ) + : a.a.createElement( + "td", + { colSpan: 3 }, + "Last synchronisation" + ) + ) + ) + ) + ), + a.a.createElement( + "div", + { className: "gf-form-button-row" }, + a.a.createElement( + i.Button, + { variant: "secondary", onClick: this.onUserSync }, + "Sync user" + ), + a.a.createElement( + i.LinkButton, + { variant: "inverse", href: c }, + "Debug LDAP Mapping" + ) + ) + ) + ); + }, + }, + ]) && c(n.prototype, r), + l && c(n, l), + t + ); + })(r.PureComponent); + }, + "2kIT": function (e, t, n) { + "use strict"; + function r(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function a(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return o; + }); + var o = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.init = t), + (this.ordered = []), + (this.byId = new Map()), + (this.initialized = !1), + (this.setInit = function (e) { + if (n.initialized) + throw new Error("Registry already initialized"); + n.init = e; + }); + } + var t, n, o; + return ( + (t = e), + (n = [ + { + key: "getIfExists", + value: function (e) { + if (!this.initialized) { + if (this.init) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.init()[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + this.register(i); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + } + this.sort(), (this.initialized = !0); + } + if (e) return this.byId.get(e); + }, + }, + { + key: "get", + value: function (e) { + var t = this.getIfExists(e); + if (!t) throw new Error("Undefined: " + e); + return t; + }, + }, + { + key: "selectOptions", + value: function (e, t) { + this.initialized || this.getIfExists("xxx"); + var n = { options: [], current: [] }, + r = {}; + if (e) { + var a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) + r[l.value] = !0; + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + } + var c = !0, + u = !1, + f = void 0; + try { + for ( + var d, p = this.ordered[Symbol.iterator](); + !(c = (d = p.next()).done); + c = !0 + ) { + var h = d.value; + if (!h.excludeFromPicker && (!t || t(h))) { + var m = { + value: h.id, + label: h.name, + description: h.description, + }; + n.options.push(m), r[h.id] && n.current.push(m); + } + } + } catch (e) { + (u = !0), (f = e); + } finally { + try { + c || null == p.return || p.return(); + } finally { + if (u) throw f; + } + } + return n; + }, + }, + { + key: "list", + value: function (e) { + if (e) { + var t = [], + n = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(n = (i = l.next()).done); + n = !0 + ) { + var s = i.value, + c = this.getIfExists(s); + c && t.push(c); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return t; + } + return ( + this.initialized || this.getIfExists("xxx"), r(this.ordered) + ); + }, + }, + { + key: "register", + value: function (e) { + if (this.byId.has(e.id)) + throw new Error("Duplicate Key:" + e.id); + if ( + (this.byId.set(e.id, e), this.ordered.push(e), e.aliasIds) + ) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = e.aliasIds[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + this.byId.has(i) || this.byId.set(i, e); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + } + this.initialized && this.sort(); + }, + }, + { key: "sort", value: function () {} }, + ]) && a(t.prototype, n), + o && a(t, o), + e + ); + })(); + }, + "2l57": function (e, t, n) { + "use strict"; + var r; + !(function (e) { + (e.DashHitDB = "dash-db"), + (e.DashHitHome = "dash-home"), + (e.DashHitFolder = "dash-folder"); + })(r || (r = {})); + }, + "2nhE": function (e, t, n) { + "use strict"; + function r(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + n.d(t, "b", function () { + return a; + }), + n.d(t, "a", function () { + return o; + }); + var a = function () { + return { + type: "query", + query: { params: ["A", "5m", "now"] }, + reducer: { type: "avg", params: [] }, + evaluator: { type: "gt", params: [null] }, + operator: { type: "and" }, + }; + }, + o = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t, n, r, a) { + var o, i, l, s, c, u, f, d, p, h; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (0 !== n.length) { + e.next = 2; + break; + } + return e.abrupt( + "return", + "Could not find any metric queries" + ); + case 2: + if (!t || !t.length) { + e.next = 4; + break; + } + return e.abrupt( + "return", + "Transformations are not supported in alert queries" + ); + case 4: + (o = 0), + (i = 0), + (l = !0), + (s = !1), + (c = void 0), + (e.prev = 9), + (u = n[Symbol.iterator]()); + case 11: + if ((l = (f = u.next()).done)) { + e.next = 21; + break; + } + return ( + (d = f.value), + (p = d.datasource || a), + (e.next = 16), + r.get(p) + ); + case 16: + (h = e.sent).meta.alerting + ? h.targetContainsTemplate && + h.targetContainsTemplate(d) && + i++ + : o++; + case 18: + (l = !0), (e.next = 11); + break; + case 21: + e.next = 27; + break; + case 23: + (e.prev = 23), + (e.t0 = e.catch(9)), + (s = !0), + (c = e.t0); + case 27: + (e.prev = 27), + (e.prev = 28), + l || null == u.return || u.return(); + case 30: + if (((e.prev = 30), !s)) { + e.next = 33; + break; + } + throw c; + case 33: + return e.finish(30); + case 34: + return e.finish(27); + case 35: + if (o !== n.length) { + e.next = 37; + break; + } + return e.abrupt( + "return", + "The datasource does not support alerting queries" + ); + case 37: + if (i !== n.length) { + e.next = 39; + break; + } + return e.abrupt( + "return", + "Template variables are not supported in alert queries" + ); + case 39: + return e.abrupt("return", ""); + case 40: + case "end": + return e.stop(); + } + }, + e, + null, + [ + [9, 23, 27, 35], + [28, , 30, 34], + ] + ); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (a, o) { + var i = e.apply(t, n); + function l(e) { + r(i, a, o, l, s, "next", e); + } + function s(e) { + r(i, a, o, l, s, "throw", e); + } + l(void 0); + }); + }); + return function (e, n, r, a) { + return t.apply(this, arguments); + }; + })(); + }, + "2r/H": function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + e.GroupTitle = "GroupTitle"; + })(r || (r = {})); + }, + "2rVl": function (e, t) { + var n = + "public/app/plugins/datasource/graphite/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-12">Graphite query</span>\n <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder="Example: statsd.application.counters.*.count">\n </div>\n\n\t<h5 class=section-heading>Or</h5>\n\n <div class=gf-form>\n <span class="gf-form-label width-12">Graphite events tags</span>\n <input type=text class=gf-form-input ng-model=ctrl.annotation.tags placeholder="Example: event_tag_name">\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "2t1j": function (e, t, n) { + "use strict"; + var r = n("+2Rf"), + a = n.n(r), + o = n("LvDl"), + i = n.n(o), + l = n("KHwQ"), + s = n.n(l), + c = n("1gCF"), + u = n("HJRA"), + f = n("ZFWI"), + d = n("NXk7"), + p = n("GQ3c"), + h = n("Obii"), + m = n("2KQq"), + g = n("UIT+"); + function b(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var v = (function () { + function e(t, n, r, a, o) { + var i = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.$route = n), + (this.$location = r), + (this.$rootScope = a), + (this.dashboardSrv = o), + (this.onFolderChange = function (e) { + (i.dashboard.meta.folderId = e.id), + (i.dashboard.meta.folderTitle = e.title), + (i.hasUnsavedFolderChange = !0); + }), + (this.getDashboard = function () { + return i.dashboard; + }), + (t.dashboard = this.dashboard), + this.$scope.$on("$destroy", function () { + i.dashboard.updateSubmenuVisibility(), + setTimeout(function () { + i.$rootScope.appEvent(p.CoreEvents.dashScroll, { + restore: !0, + }), + i.dashboard.startRefresh(); + }); + }), + (this.canSaveAs = u.b.hasEditPermissionInFolders), + (this.canSave = this.dashboard.meta.canSave), + (this.canDelete = this.dashboard.meta.canSave), + this.buildSectionList(), + this.onRouteUpdated(), + this.$rootScope.onAppEvent( + p.CoreEvents.routeUpdated, + this.onRouteUpdated.bind(this), + t + ), + this.$rootScope.appEvent(p.CoreEvents.dashScroll, { + animate: !1, + pos: 0, + }), + u.a.on(p.CoreEvents.dashboardSaved, this.onPostSave.bind(this), t), + (this.selectors = c.a.pages.Dashboard.Settings.General.selectors), + (this.useAngularTemplating = !Object(f.c)().featureToggles + .newVariables); + } + var t, n, r; + return ( + (e.$inject = [ + "$scope", + "$route", + "$location", + "$rootScope", + "dashboardSrv", + ]), + (t = e), + (n = [ + { + key: "buildSectionList", + value: function () { + (this.sections = []), + this.dashboard.meta.canEdit && + (this.sections.push({ + title: "General", + id: "settings", + icon: "gicon gicon-preferences", + }), + this.sections.push({ + title: "Annotations", + id: "annotations", + icon: "gicon gicon-annotation", + }), + this.sections.push({ + title: "Variables", + id: "templating", + icon: "gicon gicon-variable", + }), + this.sections.push({ + title: "Links", + id: "links", + icon: "gicon gicon-link", + })), + this.dashboard.id && + this.dashboard.meta.canSave && + this.sections.push({ + title: "Versions", + id: "versions", + icon: "fa fa-fw fa-history", + }), + this.dashboard.id && + this.dashboard.meta.canAdmin && + this.sections.push({ + title: "Permissions", + id: "permissions", + icon: "fa fa-fw fa-lock", + }), + this.dashboard.meta.canMakeEditable && + this.sections.push({ + title: "General", + icon: "gicon gicon-preferences", + id: "make_editable", + }), + this.sections.push({ + title: "JSON Model", + id: "dashboard_json", + icon: "gicon gicon-json", + }); + var e = this.$location.search(), + t = this.$location.path(), + n = !0, + r = !1, + o = void 0; + try { + for ( + var l, s = this.sections[Symbol.iterator](); + !(n = (l = s.next()).done); + n = !0 + ) { + var c = l.value, + u = i.a.defaults({ editview: c.id }, e); + c.url = Object(f.c)().appSubUrl + t + "?" + a.a.param(u); + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == s.return || s.return(); + } finally { + if (r) throw o; + } + } + }, + }, + { + key: "onRouteUpdated", + value: function () { + (this.viewId = this.$location.search().editview), + this.viewId && + (this.json = s.a.toJson( + this.dashboard.getSaveModelClone(), + !0 + )), + "settings" === this.viewId && + this.dashboard.meta.canMakeEditable && + (this.viewId = "make_editable"), + i.a.find(this.sections, { id: this.viewId }) || + (this.sections.unshift({ + title: "Not found", + id: "404", + icon: "fa fa-fw fa-warning", + }), + (this.viewId = "404")); + }, + }, + { + key: "saveDashboardJson", + value: function () { + var e = this; + this.dashboardSrv + .saveJSONDashboard(this.json) + .then(function () { + e.$route.reload(); + }); + }, + }, + { + key: "onPostSave", + value: function () { + this.hasUnsavedFolderChange = !1; + }, + }, + { + key: "hideSettings", + value: function () { + var e = this, + t = this.$location.search(); + delete t.editview, + setTimeout(function () { + e.$rootScope.$apply(function () { + e.$location.search(t); + }); + }); + }, + }, + { + key: "makeEditable", + value: function () { + (this.dashboard.editable = !0), + (this.dashboard.meta.canMakeEditable = !1), + (this.dashboard.meta.canEdit = !0), + (this.dashboard.meta.canSave = !0), + (this.canDelete = !0), + (this.viewId = "settings"), + this.buildSectionList(); + var e = i.a.find(this.sections, { id: this.viewId }); + this.$location.url(g.b.stripBaseFromUrl(e.url)); + }, + }, + { + key: "deleteDashboard", + value: function () { + var e = this, + t = "", + n = this.dashboard.title; + if (this.dashboard.meta.provisioned) + u.a.emit(p.CoreEvents.showConfirmModal, { + title: "Cannot delete provisioned dashboard", + text: + "\n This dashboard is managed by Grafanas provisioning and cannot be deleted. Remove the dashboard from the\n config file to delete it.\n ", + text2: '\n <i>See <a class="external-link" href="http://docs.grafana.org/administration/provisioning/#dashboards" target="_blank">\n documentation</a> for more information about provisioning.</i>\n </br>\n File path: '.concat( + this.dashboard.meta.provisionedExternalId, + "\n " + ), + text2htmlBind: !0, + icon: "fa-trash", + noText: "OK", + }); + else { + var r = i.a.sumBy(this.dashboard.panels, function (e) { + return e.alert ? 1 : 0; + }); + r > 0 && + ((t = "DELETE"), + (n = "This dashboard contains ".concat( + r, + " alerts. Deleting this dashboard will also delete those alerts" + ))), + u.a.emit(p.CoreEvents.showConfirmModal, { + title: "Delete", + text: "Do you want to delete this dashboard?", + text2: n, + icon: "fa-trash", + confirmText: t, + yesText: "Delete", + onConfirm: function () { + (e.dashboard.meta.canSave = !1), + e.deleteDashboardConfirmed(); + }, + }); + } + }, + }, + { + key: "deleteDashboardConfirmed", + value: function () { + var e = this; + Object(m.a)(this.$scope)( + d.b.deleteDashboard(this.dashboard.uid, !1).then(function () { + u.a.emit(h.AppEvents.alertSuccess, [ + "Dashboard Deleted", + e.dashboard.title + " has been deleted", + ]), + e.$location.url("/"); + }) + ); + }, + }, + { + key: "getFolder", + value: function () { + return { + id: this.dashboard.meta.folderId, + title: this.dashboard.meta.folderTitle, + url: this.dashboard.meta.folderUrl, + }; + }, + }, + ]) && b(t.prototype, n), + r && b(t, r), + e + ); + })(); + u.c.directive("dashboardSettings", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/dashboard/components/DashboardSettings/template.html", + controller: v, + bindToController: !0, + controllerAs: "ctrl", + transclude: !0, + scope: { dashboard: "=" }, + }; + }); + var y = n("q1tI"), + w = n.n(y), + O = n("t8hP"); + function x(e) { + return (x = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function k(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function j(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function S(e, t) { + return !t || ("object" !== x(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function E(e) { + return (E = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function C(e, t) { + return (C = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var P = (function (e) { + function t() { + return k(this, t), S(this, E(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && C(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = Object(O.getAngularLoader)(), + t = { dashboard: this.props.dashboard }; + this.angularCmp = e.load( + this.element, + t, + '<dashboard-settings dashboard="dashboard" class="dashboard-settings" />' + ); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.angularCmp && this.angularCmp.destroy(); + }, + }, + { + key: "render", + value: function () { + var e = this; + return w.a.createElement("div", { + className: "panel-height-helper", + ref: function (t) { + return (e.element = t); + }, + }); + }, + }, + ]) && j(n.prototype, r), + a && j(n, a), + t + ); + })(y.PureComponent), + T = n("txxJ"), + D = n("PbtU"); + function A(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var _ = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panel = this.dashboard.timepicker), + (this.panel.refresh_intervals = this.panel.refresh_intervals || [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d", + ]), + f.a.minRefreshInterval && + (this.panel.refresh_intervals = this.filterRefreshRates( + this.panel.refresh_intervals + )); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "filterRefreshRates", + value: function (e) { + return e.filter(function (e) { + return ( + D.a.interval_to_ms(e) > + D.a.interval_to_ms(f.a.minRefreshInterval) + ); + }); + }, + }, + ]) && A(t.prototype, n), + r && A(t, r), + e + ); + })(); + T.c.directive("gfTimePickerSettings", function () { + return { + restrict: "E", + template: + '\n<div class="editor-row">\n\t<h5 class="section-heading">Time Options</h5>\n\n <div class="gf-form-group">\n\t\t<div class="gf-form">\n\t\t\t<label class="gf-form-label width-10">Timezone</label>\n\t\t\t<div class="gf-form-select-wrapper">\n\t\t\t\t<select ng-model="ctrl.dashboard.timezone" class=\'gf-form-input\' ng-options="f.value as f.text for f in\n\t\t\t\t [{value: \'\', text: \'Default\'}, {value: \'browser\', text: \'Local browser time\'},{value: \'utc\', text: \'UTC\'}]">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="gf-form">\n\t\t\t<span class="gf-form-label width-10">Auto-refresh</span>\n\t\t\t<input type="text" class="gf-form-input max-width-25" ng-model="ctrl.panel.refresh_intervals" array-join>\n\t\t</div>\n\t\t<div class="gf-form">\n\t\t\t<span class="gf-form-label width-10">Now delay now-</span>\n\t\t\t<input type="text" class="gf-form-input max-width-25" ng-model="ctrl.panel.nowDelay"\n\t\t\t placeholder="0m"\n\t\t\t valid-time-span\n\t\t\t bs-tooltip="\'Enter 1m to ignore the last minute (because it can contain incomplete metrics)\'"\n \t\t\t\t data-placement="right">\n\t\t</div>\n\n\t\t<gf-form-switch class="gf-form" label="Hide time picker" checked="ctrl.panel.hidden" label-class="width-10">\n\t\t</gf-form-switch>\n\t</div>\n</div>\n', + controller: _, + bindToController: !0, + controllerAs: "ctrl", + scope: { dashboard: "=" }, + }; + }), + n.d(t, "a", function () { + return P; + }); + }, + "2wGe": function (e, t, n) { + "use strict"; + var r, a, o, i; + !(function (e) { + (e.anyMatch = "anyMatch"), + (e.allMatch = "allMatch"), + (e.invertMatch = "invertMatch"), + (e.alwaysMatch = "alwaysMatch"), + (e.neverMatch = "neverMatch"); + })(r || (r = {})), + (function (e) { + (e.numeric = "numeric"), + (e.time = "time"), + (e.byType = "byType"), + (e.byName = "byName"); + })(a || (a = {})), + (function (e) { + (e.byName = "byName"), + (e.byRefId = "byRefId"), + (e.byIndex = "byIndex"), + (e.byLabel = "byLabel"); + })(o || (o = {})), + (function (e) { + (e.append = "append"), + (e.reduce = "reduce"), + (e.filterFields = "filterFields"), + (e.filterFieldsByName = "filterFieldsByName"), + (e.filterFrames = "filterFrames"), + (e.filterByRefId = "filterByRefId"), + (e.noop = "noop"); + })(i || (i = {})); + var l = { + id: r.anyMatch, + name: "Any", + description: "Any child matches (OR)", + excludeFromPicker: !0, + defaultOptions: [], + get: function (e) { + var t = e.map(function (e) { + return M(e); + }); + return function (e) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + if ((0, o.value)(e)) return !0; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return !1; + }; + }, + getOptionsDisplayText: function (e) { + var t = "", + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t.length > 0 && (t += " OR "); + var s = _.get(l.id); + t += s.getOptionsDisplayText + ? s.getOptionsDisplayText(l) + : s.name; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + s = { + id: r.anyMatch, + name: "Any", + description: "Any child matches (OR)", + excludeFromPicker: !0, + defaultOptions: [], + get: function (e) { + var t = e.map(function (e) { + return I(e); + }); + return function (e) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + if ((0, o.value)(e)) return !0; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return !1; + }; + }, + getOptionsDisplayText: function (e) { + var t = "", + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t.length > 0 && (t += " OR "); + var s = N.get(l.id); + t += s.getOptionsDisplayText + ? s.getOptionsDisplayText(l) + : s.name; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + c = { + id: r.allMatch, + name: "All", + description: "Everything matches (AND)", + excludeFromPicker: !0, + defaultOptions: [], + get: function (e) { + var t = e.map(function (e) { + return M(e); + }); + return function (e) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + if (!(0, o.value)(e)) return !1; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return !0; + }; + }, + getOptionsDisplayText: function (e) { + var t = "", + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t.length > 0 && (t += " AND "); + var s = _.get(l.id); + t += s.getOptionsDisplayText + ? s.getOptionsDisplayText(l) + : s.name; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + u = { + id: r.allMatch, + name: "All", + description: "Everything matches (AND)", + excludeFromPicker: !0, + defaultOptions: [], + get: function (e) { + var t = e.map(function (e) { + return I(e); + }); + return function (e) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + if (!(0, o.value)(e)) return !1; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return !0; + }; + }, + getOptionsDisplayText: function (e) { + var t = "", + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t.length > 0 && (t += " AND "); + var s = N.get(l.id); + t += s.getOptionsDisplayText + ? s.getOptionsDisplayText(l) + : s.name; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + f = { + id: r.invertMatch, + name: "NOT", + description: "Inverts other matchers", + excludeFromPicker: !0, + get: function (e) { + var t = M(e); + return function (e) { + return !t(e); + }; + }, + getOptionsDisplayText: function (e) { + var t = _.get(e.id); + return ( + "NOT " + + (t.getOptionsDisplayText + ? t.getOptionsDisplayText(e.options) + : t.name) + ); + }, + }, + d = { + id: r.invertMatch, + name: "NOT", + description: "Inverts other matchers", + excludeFromPicker: !0, + get: function (e) { + var t = I(e); + return function (e) { + return !t(e); + }; + }, + getOptionsDisplayText: function (e) { + var t = N.get(e.id); + return ( + "NOT " + + (t.getOptionsDisplayText + ? t.getOptionsDisplayText(e.options) + : t.name) + ); + }, + }, + p = function (e) { + return !0; + }, + h = function (e) { + return !0; + }, + m = function (e) { + return !1; + }, + g = function (e) { + return !1; + }, + b = { + id: r.alwaysMatch, + name: "All Fields", + description: "Always Match", + get: function (e) { + return p; + }, + getOptionsDisplayText: function (e) { + return "Always"; + }, + }, + v = { + id: r.alwaysMatch, + name: "All Frames", + description: "Always Match", + get: function (e) { + return h; + }, + getOptionsDisplayText: function (e) { + return "Always"; + }, + }, + y = { + id: r.neverMatch, + name: "No Fields", + description: "Never Match", + excludeFromPicker: !0, + get: function (e) { + return m; + }, + getOptionsDisplayText: function (e) { + return "Never"; + }, + }, + w = { + id: r.neverMatch, + name: "No Frames", + description: "Never Match", + get: function (e) { + return g; + }, + getOptionsDisplayText: function (e) { + return "Never"; + }, + }; + var O = n("oOjz"), + x = { + id: a.byName, + name: "Field Name", + description: "match the field name", + defaultOptions: "/.*/", + get: function (e) { + var t = Object(O.c)(e); + return function (e) { + return t.test(e.name); + }; + }, + getOptionsDisplayText: function (e) { + return "Field name: ".concat(e); + }, + }, + k = { + id: o.byName, + name: "Frame Name", + description: "match the frame name", + defaultOptions: "/.*/", + get: function (e) { + var t = Object(O.c)(e); + return function (e) { + return t.test(e.name || ""); + }; + }, + getOptionsDisplayText: function (e) { + return "Frame name: ".concat(e); + }, + }; + var j = n("HJqT"), + S = { + id: a.byType, + name: "Field Type", + description: "match based on the field type", + defaultOptions: j.a.number, + get: function (e) { + return function (t) { + return e === t.type; + }; + }, + getOptionsDisplayText: function (e) { + return "Field type: ".concat(e); + }, + }, + E = { + id: a.numeric, + name: "Numeric Fields", + description: "Fields with type number", + get: function () { + return S.get(j.a.number); + }, + getOptionsDisplayText: function () { + return "Numeric Fields"; + }, + }, + C = { + id: a.time, + name: "Time Fields", + description: "Fields with type time", + get: function () { + return S.get(j.a.time); + }, + getOptionsDisplayText: function () { + return "Time Fields"; + }, + }; + var P = n("Cawo"), + T = { + id: o.byRefId, + name: "Query refId", + description: "match the refId", + defaultOptions: "A", + get: function (e) { + var t = Object(P.h)(e); + return function (e) { + return t.test(e.refId || ""); + }; + }, + getOptionsDisplayText: function (e) { + return "RefID: ".concat(e); + }, + }; + var D = n("2kIT"); + function A(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var _ = new D.a(function () { + return [].concat(A([l, c, f, b, y]), A([S, E, C]), A([x])); + }), + N = new D.a(function () { + return [].concat(A([s, u, d, v, w]), A([k]), A([T])); + }); + function M(e) { + var t = _.get(e.id); + if (!t) throw new Error("Unknown Matcher: " + e.id); + return t.get(e.options); + } + function I(e) { + var t = N.get(e.id); + if (!t) throw new Error("Unknown Matcher: " + e.id); + return t.get(e.options); + } + var R = n("ir79"); + function F(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function L(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function V(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? L(Object(n), !0).forEach(function (t) { + B(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : L(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function B(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var $ = { + id: i.append, + name: "Append", + description: + "Append values into a single DataFrame. This uses the name as the key", + defaultOptions: {}, + transformer: function (e) { + return function (e) { + if (e.length < 2) return e; + var t = new R.b(), + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[0].fields[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t.addField(V({}, l, { values: F(l.values.toArray()) })); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + for (var s = 1; s < e.length; s++) { + for ( + var c = e[s], u = c.length, f = 0; + f < c.fields.length; + f++ + ) { + var d = c.fields[f], + p = t.values[d.name]; + p || (p = t.addField(V({}, d, { values: [] }), u).values); + for (var h = 0; h < c.length; h++) p.add(d.values.get(h)); + } + t.validate(); + } + return [t]; + }; + }, + }, + q = n("ZSVY"), + U = n("0uOV"), + z = n("0v62"); + function H(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function G(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? H(Object(n), !0).forEach(function (t) { + W(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : H(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function W(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Q = { + id: i.reduce, + name: "Reducer", + description: "Return a DataFrame with the reduction results", + defaultOptions: { reducers: [q.a.min, q.a.max, q.a.mean, q.a.last] }, + transformer: function (e) { + var t = e.fields ? M(e.fields) : p, + n = e.reducers && e.reducers.length ? q.b.list(e.reducers) : [], + r = n.map(function (e) { + return e.id; + }); + return function (e) { + var a = [], + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = e[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value, + f = [], + d = [], + p = {}; + f.push(new U.a()), + d.push({ + name: "Field", + type: j.a.string, + values: f[0], + config: {}, + }); + var h = !0, + m = !1, + g = void 0; + try { + for ( + var b, v = n[Symbol.iterator](); + !(h = (b = v.next()).done); + h = !0 + ) { + var y = b.value, + w = new U.a(); + (p[y.id] = w), + f.push(w), + d.push({ + name: y.id, + type: j.a.other, + values: f[f.length - 1], + config: { title: y.name }, + }); + } + } catch (e) { + (m = !0), (g = e); + } finally { + try { + h || null == v.return || v.return(); + } finally { + if (m) throw g; + } + } + for (var O = 0; O < u.fields.length; O++) { + var x = u.fields[O]; + if (t(x)) { + var k = Object(q.c)({ field: x, reducers: r }); + f[0].buffer.push(x.name); + var S = !0, + E = !1, + C = void 0; + try { + for ( + var P, T = n[Symbol.iterator](); + !(S = (P = T.next()).done); + S = !0 + ) { + var D = P.value, + A = k[D.id]; + p[D.id].buffer.push(A); + } + } catch (e) { + (E = !0), (C = e); + } finally { + try { + S || null == T.return || T.return(); + } finally { + if (E) throw C; + } + } + } + } + for (var _ = 0, N = d; _ < N.length; _++) { + var M = N[_], + I = Object(z.c)(M); + I && (M.type = I); + } + a.push(G({}, u, { fields: d, length: f[0].length })); + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + return a; + }; + }, + }, + Y = { + id: i.noop, + name: "noop", + description: "No-operation transformer", + defaultOptions: {}, + transformer: function (e) { + return function (e) { + return e; + }; + }, + }; + function K(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function J(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? K(Object(n), !0).forEach(function (t) { + Z(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : K(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Z(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var X = { + id: i.filterFields, + name: "Filter Fields", + description: "select a subset of fields", + defaultOptions: { include: { id: a.numeric } }, + transformer: function (e) { + if (!e.include && !e.exclude) return Y.transformer({}); + var t = e.include ? M(e.include) : null, + n = e.exclude ? M(e.exclude) : null; + return function (e) { + var r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + for ( + var c = l.value, u = [], f = 0; + f < c.fields.length; + f++ + ) { + var d = c.fields[f]; + if (n) { + if (n(d)) continue; + t || u.push(d); + } + t && t(d) && u.push(d); + } + if (u.length) { + var p = J({}, c, { fields: u }); + r.push(p); + } + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return r; + }; + }, + }, + ee = { + id: i.filterFrames, + name: "Filter Frames", + description: "select a subset of frames", + defaultOptions: {}, + transformer: function (e) { + if (!e.include && !e.exclude) return Y.transformer({}); + var t = e.include ? I(e.include) : null, + n = e.exclude ? I(e.exclude) : null; + return function (e) { + var r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + if (n) { + if (n(c)) continue; + t || r.push(c); + } + t && t(c) && r.push(c); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return r; + }; + }, + }, + te = { + id: i.filterFieldsByName, + name: "Filter fields by name", + description: "select a subset of fields", + defaultOptions: {}, + transformer: function (e) { + var t = {}; + return ( + e.include && (t.include = { id: a.byName, options: e.include }), + e.exclude && (t.exclude = { id: a.byName, options: e.exclude }), + X.transformer(t) + ); + }, + }, + ne = { + id: i.filterByRefId, + name: "Filter data by query refId", + description: "select a subset of results", + defaultOptions: {}, + transformer: function (e) { + var t = {}; + return ( + e.include && (t.include = { id: o.byRefId, options: e.include }), + e.exclude && (t.exclude = { id: o.byRefId, options: e.exclude }), + ee.transformer(t) + ); + }, + }; + function re(e) { + return (re = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ae(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function oe(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ie(e, t) { + return !t || ("object" !== re(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function le(e) { + return (le = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function se(e, t) { + return (se = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function ce(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function ue(e, t) { + var n = t, + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value, + c = fe.get(s.id), + u = c.transformer(s.options)(n); + if (u && u !== n) { + var f = !0, + d = !1, + p = void 0; + try { + for ( + var h, m = u[Symbol.iterator](); + !(f = (h = m.next()).done); + f = !0 + ) { + var g = h.value; + g.meta || (g.meta = {}), + g.meta.transformations + ? (g.meta.transformations = [].concat( + ce(g.meta.transformations), + [c.id] + )) + : (g.meta.transformations = [c.id]); + } + } catch (e) { + (d = !0), (p = e); + } finally { + try { + f || null == m.return || m.return(); + } finally { + if (d) throw p; + } + } + n = u; + } + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + } + var fe = new ((function (e) { + function t() { + return ae(this, t), ie(this, le(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && se(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "append", + value: function (e, t) { + return $.transformer(t || $.defaultOptions)(e)[0]; + }, + }, + { + key: "reduce", + value: function (e, t) { + return Q.transformer(t)(e); + }, + }, + ]) && oe(n.prototype, r), + a && oe(n, a), + t + ); + })(D.a))(function () { + return [Y, X, te, ee, ne, $, Q]; + }); + n.d(t, "f", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }), + n.d(t, "e", function () { + return o; + }), + n.d(t, "a", function () { + return i; + }), + n.d(t, "i", function () { + return _; + }), + n.d(t, "k", function () { + return N; + }), + n.d(t, "l", function () { + return M; + }), + n.d(t, "m", function () { + return I; + }), + n.d(t, "o", function () { + return ue; + }), + n.d(t, "p", function () { + return fe; + }), + n.d(t, "h", function () { + return q.a; + }), + n.d(t, "n", function () { + return q.c; + }), + n.d(t, "j", function () { + return q.b; + }), + n.d(t, "c", function () {}), + n.d(t, "d", function () {}), + n.d(t, "g", function () {}); + }, + "38Hk": function (e, t, n) { + "use strict"; + (function (e) { + var r = n("q1tI"), + a = n.n(r), + o = n("YWTM"), + i = n("ZGyg"), + l = n("ZFWI"), + s = n("/MKj"), + c = n("0cfB"); + function u(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function f(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function d() { + return (d = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var p = { + main: { + icon: "gicon gicon-branding", + text: "Sign Up", + subTitle: "Register your Grafana account", + breadcrumbs: [{ title: "Login", url: "login" }], + }, + node: { text: "" }, + }; + t.a = Object(c.hot)(e)( + Object(s.connect)(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(n), !0).forEach(function (t) { + f(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : u(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e.location.routeParams); + })(function (e) { + return a.a.createElement( + i.a, + { navModel: p }, + a.a.createElement( + i.a.Contents, + null, + a.a.createElement( + "h3", + { className: "p-b-1" }, + "You're almost there." + ), + a.a.createElement( + "div", + { className: "p-b-1" }, + "We just need a couple of more bits of", + a.a.createElement("br", null), + " information to finish creating your account." + ), + a.a.createElement( + o.a, + d({}, e, { + verifyEmailEnabled: Object(l.c)().verifyEmailEnabled, + autoAssignOrg: Object(l.c)().autoAssignOrg, + }) + ) + ) + ); + }) + ); + }.call(this, n("3UD+")(e))); + }, + "3CYn": function (e, t) { + var n = + "public/app/plugins/datasource/loki/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<loki-annotations-query-editor expr=ctrl.annotation.expr on-change=ctrl.onQueryChange datasource=ctrl.datasource />\n" + ); + }, + ]), + (e.exports = n); + }, + "3NGh": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return c; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("kDLi"); + function l() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n background: transparent;\n border: none;\n padding: 0;\n margin: 0;\n outline: none;\n box-shadow: none;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n\n &:before {\n content: '';\n display: block;\n opacity: 1;\n position: absolute;\n transition-duration: 0.2s;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n z-index: -1;\n bottom: -10px;\n left: -10px;\n right: -10px;\n top: -10px;\n background: none;\n border-radius: 50%;\n box-sizing: border-box;\n transform: scale(0);\n transition-property: transform, opacity;\n }\n\n .gicon {\n font-size: 26px;\n }\n\n &:hover {\n &:before {\n background-color: ", + ";\n border: none;\n box-shadow: none;\n opacity: 1;\n transform: scale(0.8);\n }\n }\n ", + ]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + return (s = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var c = function (e) { + var t = Object(i.useTheme)(), + n = u(t); + return a.a.createElement( + i.Tooltip, + { content: "Go back (Esc)", placement: "bottom" }, + a.a.createElement( + "button", + s({ className: n.wrapper }, e), + a.a.createElement("i", { className: "gicon gicon-arrow-left" }) + ) + ); + }; + c.displayName = "BackButton"; + var u = Object(i.stylesFactory)(function (e) { + var t = Object(i.selectThemeVariant)( + { dark: e.colors.gray15, light: e.colors.gray85 }, + e.type + ); + return { wrapper: Object(o.css)(l(), t) }; + }); + }, + "3SGO": function (e, t, n) { + "use strict"; + var r = n("vMjj"); + n.d(t, "b", function () { + return r.c; + }), + n.d(t, "a", function () { + return r.b; + }); + var a = n("13X4"); + n.d(t, "c", function () { + return a.b; + }); + var o = n("R9Tc"); + n.d(t, "d", function () { + return o.c; + }); + }, + "3Tvq": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("SMGL"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function s(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function c(e) { + return (c = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function u(e, t) { + return (u = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var f = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = s(this, c(t).call(this, e))).onSaveToStore = function (e) { + var t = n.props.storageKey; + o.a.setObject(t, e), n.setState({ value: e }); + }); + var r = e.storageKey, + a = e.defaultValue; + return (n.state = { value: o.a.getObject(r, a) }), n; + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && u(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.children, + t = this.state.value; + return a.a.createElement( + a.a.Fragment, + null, + e(t, this.onSaveToStore) + ); + }, + }, + ]) && l(n.prototype, r), + i && l(n, i), + t + ); + })(r.PureComponent), + d = n("Obii"), + p = n("3VL2"); + function h(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function m() { + return (m = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + n.d(t, "a", function () { + return g; + }); + var g = function (e) { + return a.a.createElement( + f, + { + storageKey: "grafana.dashboard.timepicker.history", + defaultValue: [], + }, + function (t, n) { + return a.a.createElement( + p.a, + m({}, e, { + history: + ((r = t), + r.map(function (e) { + return Object(d.isDateTime)(e.from) + ? e + : { + from: Object(d.dateTime)(e.from), + to: Object(d.dateTime)(e.to), + raw: e.raw, + }; + })), + onChange: function (r) { + !(function (e, t, n) { + if ( + !(function (e) { + return ( + Object(d.isDateTime)(e.raw.from) || + Object(d.isDateTime)(e.raw.to) + ); + })(e) + ) + return; + var r = (function (e) { + return e.slice(0, 4); + })([e].concat(h(t))); + n(r); + })(r, t, n), + e.onChange(r); + }, + }) + ); + var r; + } + ); + }; + }, + "3VL2": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("5/7A"), + l = n("lSEo"), + s = n("MIBK"), + c = n("Obii"); + function u() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n font-size: ", + ";\n font-weight: ", + ";\n color: ", + ";\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + var f = Object(s.g)(function (e) { + return { + text: Object(o.css)( + u(), + e.typography.size.md, + e.typography.weight.semibold, + e.colors.formLabel + ), + }; + }), + d = Object(r.memo)(function (e) { + var t = e.children, + n = Object(s.h)(), + r = f(n); + return a.a.createElement("span", { className: r.text }, t); + }), + p = function (e, t, n) { + return Object(c.isDateTime)(e) + ? e + : -1 !== e.indexOf("now") + ? (c.dateMath.isValid(e) && c.dateMath.parse(e, t, n)) || + Object(c.dateTime)() + : Object(c.dateTimeForTimeZone)(n, e, c.TIME_FORMAT); + }, + h = function (e, t, n) { + return Object(c.isDateTime)(e) + ? "utc" === n + ? e.utc() + : e + : -1 !== e.indexOf("now") + ? (c.dateMath.isValid(e) && c.dateMath.parse(e, t, n)) || + Object(c.dateTime)() + : Object(c.dateTimeForTimeZone)(n, e, c.TIME_FORMAT); + }, + m = function (e, t) { + return Object(c.isDateTime)(e) + ? "utc" === t + ? e.utc().format(c.TIME_FORMAT) + : e.format(c.TIME_FORMAT) + : e; + }, + g = n("sQeT"), + b = n.n(g), + v = n("lcef"), + y = n("BC3V"), + w = n("eGKl"), + O = function (e) { + return { + border: Object(w.a)( + { light: e.colors.gray4, dark: e.colors.gray25 }, + e.type + ), + background: Object(w.a)( + { dark: e.colors.dark2, light: e.background.dropdown }, + e.type + ), + shadow: Object(w.a)( + { light: e.colors.gray85, dark: e.colors.black }, + e.type + ), + formBackground: Object(w.a)( + { dark: e.colors.gray15, light: e.colors.gray98 }, + e.type + ), + }; + }, + x = n("bTeP"); + function k(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function j() { + var e = M(["\n cursor: pointer;\n font-size: ", ";\n "]); + return ( + (j = function () { + return e; + }), + e + ); + } + function S() { + var e = M([ + "\n background-color: ", + ";\n display: flex;\n justify-content: space-between;\n padding: 7px;\n ", + ]); + return ( + (S = function () { + return e; + }), + e + ); + } + function E() { + var e = M([ + "\n z-index: ", + ";\n background-color: ", + ";\n width: 268px;\n\n .react-calendar__navigation__label,\n .react-calendar__navigation__arrow,\n .react-calendar__navigation {\n padding-top: 4px;\n background-color: inherit;\n color: ", + ";\n border: 0;\n font-weight: ", + ";\n }\n\n .react-calendar__month-view__weekdays {\n background-color: inherit;\n text-align: center;\n color: ", + ";\n\n abbr {\n border: 0;\n text-decoration: none;\n cursor: default;\n display: block;\n padding: 4px 0 4px 0;\n }\n }\n\n .react-calendar__month-view__days {\n background-color: inherit;\n }\n\n .react-calendar__tile,\n .react-calendar__tile--now {\n margin-bottom: 4px;\n background-color: inherit;\n height: 26px;\n }\n\n .react-calendar__navigation__label,\n .react-calendar__navigation > button:focus,\n .time-picker-calendar-tile:focus {\n outline: 0;\n }\n\n .react-calendar__tile--active,\n .react-calendar__tile--active:hover {\n color: ", + ";\n font-weight: ", + ";\n background: ", + ";\n box-shadow: none;\n border: 0px;\n }\n\n .react-calendar__tile--rangeEnd,\n .react-calendar__tile--rangeStart {\n padding: 0;\n border: 0px;\n color: ", + ";\n font-weight: ", + ";\n background: ", + ";\n\n abbr {\n background-color: ", + ";\n border-radius: 100px;\n display: block;\n padding-top: 2px;\n height: 26px;\n }\n }\n\n .react-calendar__tile--rangeStart {\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n }\n\n .react-calendar__tile--rangeEnd {\n border-top-right-radius: 20px;\n border-bottom-right-radius: 20px;\n }\n ", + ]); + return ( + (E = function () { + return e; + }), + e + ); + } + function C() { + var e = M([ + "\n color: ", + "\n background-color: ", + ";\n font-size: ", + ";\n border: 1px solid transparent;\n\n &:hover {\n position: relative;\n }\n ", + ]); + return ( + (C = function () { + return e; + }), + e + ); + } + function P() { + var e = M([ + "\n margin-right: 4px;\n width: 100%;\n justify-content: center;\n ", + ]); + return ( + (P = function () { + return e; + }), + e + ); + } + function T() { + var e = M([ + "\n background-color: ", + ";\n display: flex;\n justify-content: center;\n padding: 10px;\n align-items: stretch;\n ", + ]); + return ( + (T = function () { + return e; + }), + e + ); + } + function D() { + var e = M([ + "\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: #202226;\n opacity: 0.7;\n z-index: ", + ";\n text-align: center;\n ", + ]); + return ( + (D = function () { + return e; + }), + e + ); + } + function A() { + var e = M(["\n margin: 0 auto;\n width: 268px;\n "]); + return ( + (A = function () { + return e; + }), + e + ); + } + function _() { + var e = M([ + "\n position: fixed;\n top: 20%;\n width: 100%;\n z-index: ", + ";\n ", + ]); + return ( + (_ = function () { + return e; + }), + e + ); + } + function N() { + var e = M([ + "\n top: 0;\n position: absolute;\n right: 546px;\n box-shadow: 0px 0px 20px ", + ";\n background-color: ", + ";\n z-index: -1;\n\n &:after {\n display: block;\n background-color: ", + ";\n width: 19px;\n height: 381px;\n content: ' ';\n position: absolute;\n top: 0;\n right: -19px;\n border-left: 1px solid ", + ";\n }\n ", + ]); + return ( + (N = function () { + return e; + }), + e + ); + } + function M(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var I = Object(s.g)(function (e) { + var t = O(e); + return { + container: Object(o.css)( + N(), + t.shadow, + t.background, + t.background, + t.border + ), + modal: Object(o.css)(_(), e.zIndex.modal), + content: Object(o.css)(A()), + backdrop: Object(o.css)(D(), e.zIndex.modalBackdrop), + }; + }), + R = Object(s.g)(function (e) { + var t = O(e); + return { + container: Object(o.css)(T(), t.background), + apply: Object(o.css)(P()), + }; + }), + F = Object(s.g)(function (e) { + var t = O(e); + return { + title: Object(o.css)( + C(), + e.colors.text, + t.background, + e.typography.size.md + ), + body: Object(o.css)( + E(), + e.zIndex.modal, + t.background, + e.colors.text, + e.typography.weight.semibold, + e.colors.blueShade, + e.colors.white, + e.typography.weight.semibold, + e.colors.blue95, + e.colors.white, + e.typography.weight.semibold, + e.colors.blue95, + e.colors.blue77 + ), + }; + }), + L = Object(s.g)(function (e) { + var t = O(e); + return { + container: Object(o.css)(S(), t.background), + close: Object(o.css)(j(), e.typography.size.lg), + }; + }), + V = function (e) { + return e.stopPropagation(); + }, + B = Object(r.memo)(function (e) { + var t = Object(s.h)(), + n = I(t), + r = e.isOpen, + o = e.isFullscreen; + return r + ? o + ? a.a.createElement( + x.a, + { onClick: e.onClose }, + a.a.createElement( + "div", + { className: n.container, onClick: V }, + a.a.createElement(q, e) + ) + ) + : a.a.createElement( + y.a, + null, + a.a.createElement( + "div", + { className: n.modal, onClick: V }, + a.a.createElement( + "div", + { className: n.content }, + a.a.createElement($, e), + a.a.createElement(q, e), + a.a.createElement(U, e) + ) + ), + a.a.createElement("div", { + className: n.backdrop, + onClick: V, + }) + ) + : null; + }), + $ = Object(r.memo)(function (e) { + var t = e.onClose, + n = Object(s.h)(), + r = L(n); + return a.a.createElement( + "div", + { className: r.container }, + a.a.createElement(d, null, "Select a time range"), + a.a.createElement("i", { + className: Object(o.cx)(r.close, "fa", "fa-times"), + onClick: t, + }) + ); + }), + q = Object(r.memo)(function (e) { + var t = e.onChange, + n = e.from, + o = e.to, + i = k(Object(r.useState)(), 2), + l = i[0], + u = i[1], + f = Object(s.h)(), + d = F(f); + return ( + Object(r.useEffect)(function () { + u( + (function (e, t) { + var n = p(e), + r = p(t), + a = n.isValid() ? n.toDate() : new Date(), + o = r.isValid() ? r.toDate() : new Date(); + if (a > o) return [o, a]; + return [a, o]; + })(n, o) + ); + }, []), + a.a.createElement(b.a, { + selectRange: !0, + next2Label: null, + prev2Label: null, + className: d.body, + tileClassName: d.title, + value: l, + nextLabel: a.a.createElement("span", { + className: "fa fa-angle-right", + }), + prevLabel: a.a.createElement("span", { + className: "fa fa-angle-left", + }), + onChange: function (e) { + return (function (e, t) { + var n = k(e, 2), + r = n[0], + a = n[1], + o = Object(c.dateTime)(r).format(c.TIME_FORMAT), + i = Object(c.dateTime)(a).format(c.TIME_FORMAT); + return t(o, i); + })(e, t); + }, + locale: "en", + }) + ); + }), + U = Object(r.memo)(function (e) { + var t = e.onClose, + n = e.onApply, + r = Object(s.h)(), + o = R(r); + return a.a.createElement( + "div", + { className: o.container }, + a.a.createElement( + v.b.Button, + { className: o.apply, onClick: n }, + "Apply time range" + ), + a.a.createElement( + v.b.Button, + { variant: "secondary", onClick: t }, + "Cancel" + ) + ); + }); + function z(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var H = function (e) { + var t = e.value, + n = e.isFullscreen, + o = void 0 !== n && n, + i = e.timeZone, + l = e.roundup, + s = z(Object(r.useState)(W(t.raw.from, !1, i)), 2), + u = s[0], + f = s[1], + d = z(Object(r.useState)(W(t.raw.to, !0, i)), 2), + h = d[0], + m = d[1], + g = z(Object(r.useState)(!1), 2), + b = g[0], + y = g[1], + w = Object(r.useCallback)( + function (e) { + e.preventDefault(), y(!0); + }, + [y] + ), + O = Object(r.useCallback)( + function (e) { + o && w(e); + }, + [o, w] + ), + x = Object(r.useCallback)( + function () { + h.invalid || + u.invalid || + e.onApply( + (function (e, t, n, r) { + var a = p(e, n, r), + o = p(t, n, r); + return c.dateMath.isMathString(e) || + c.dateMath.isMathString(t) + ? { from: a, to: o, raw: { from: e, to: t } } + : { from: a, to: o, raw: { from: a, to: o } }; + })(u.value, h.value, l, i) + ); + }, + [u, h, l, i] + ), + k = Object(r.useCallback)( + function (e, t) { + f(W(e, !1, i)), m(W(t, !0, i)); + }, + [i] + ), + j = o + ? null + : a.a.createElement(v.b.Button, { + icon: "fa fa-calendar", + variant: "secondary", + onClick: w, + }); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + v.b.Field, + { + label: "From", + invalid: u.invalid, + error: 'Please enter a past date or "now"', + }, + a.a.createElement(v.b.Input, { + onClick: function (e) { + return e.stopPropagation(); + }, + onFocus: O, + onChange: function (e) { + return f(G(e, !1, i)); + }, + addonAfter: j, + value: u.value, + }) + ), + a.a.createElement( + v.b.Field, + { + label: "To", + invalid: h.invalid, + error: 'Please enter a past date or "now"', + }, + a.a.createElement(v.b.Input, { + onClick: function (e) { + return e.stopPropagation(); + }, + onFocus: O, + onChange: function (e) { + return m(G(e, !0, i)); + }, + addonAfter: j, + value: h.value, + }) + ), + a.a.createElement(v.b.Button, { onClick: x }, "Apply time range"), + a.a.createElement(B, { + isFullscreen: o, + isOpen: b, + from: u.value, + to: h.value, + onApply: x, + onClose: function () { + return y(!1); + }, + onChange: k, + }) + ); + }; + function G(e, t, n) { + return W(e.currentTarget.value, t, n); + } + function W(e, t, n) { + var r = (function (e) { + if (Object(c.isDateTime)(e)) return e.format(c.TIME_FORMAT); + return e; + })(e); + return { + value: r, + invalid: !(function (e, t, n) { + if (c.dateMath.isMathString(e)) + return (function (e) { + return c.dateMath.isValid(e); + })(e); + return p(e, t, n).isValid(); + })(r, t, n), + }; + } + var Q = n("vkM9"); + function Y() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 7px 9px 7px 9px;\n border-left: 2px solid rgba(255, 255, 255, 0);\n\n &:hover {\n background: ", + ";\n border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n border-image-slice: 1;\n border-style: solid;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left-width: 2px;\n cursor: pointer;\n }\n ", + ]); + return ( + (Y = function () { + return e; + }), + e + ); + } + var K = Object(s.g)(function (e) { + var t = Object(s.e)( + { light: e.colors.gray7, dark: e.colors.dark3 }, + e.type + ); + return { container: Object(o.css)(Y(), t) }; + }), + J = Object(r.memo)(function (e) { + var t = e.value, + n = e.onSelect, + r = e.selected, + o = void 0 !== r && r, + i = Object(s.h)(), + l = K(i); + return a.a.createElement( + "div", + { + className: l.container, + onClick: function () { + return n(t); + }, + tabIndex: -1, + }, + a.a.createElement("span", null, t.display), + o ? a.a.createElement("i", { className: "fa fa-check" }) : null + ); + }); + function Z() { + var e = ee([ + "\n flex-grow: 1;\n align-items: flex-start;\n ", + ]); + return ( + (Z = function () { + return e; + }), + e + ); + } + function X() { + var e = ee([ + "\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px 5px 9px;\n ", + ]); + return ( + (X = function () { + return e; + }), + e + ); + } + function ee(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var te = Object(s.g)(function () { + return { title: Object(o.css)(X()) }; + }), + ne = Object(s.g)(function () { + return { grow: Object(o.css)(Z()) }; + }), + re = function (e) { + var t = te(), + n = e.title, + r = e.options, + o = e.placeholderEmpty; + return void 0 !== o && r.length <= 0 + ? a.a.createElement(a.a.Fragment, null, o) + : n + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: t.title }, + a.a.createElement(d, null, n) + ), + a.a.createElement(ae, e) + ) + : a.a.createElement(ae, e); + }, + ae = function (e) { + var t = e.options, + n = e.value, + r = e.onSelect, + o = e.timeZone, + i = ne(); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + null, + t.map(function (e, t) { + return a.a.createElement(J, { + key: oe(e, t), + value: e, + selected: ie(e, n), + onSelect: function (e) { + return r( + (function (e, t) { + return { + from: h(e.from, !1, t), + to: h(e.to, !0, t), + raw: { from: e.from, to: e.to }, + }; + })(e, o) + ); + }, + }); + }) + ), + a.a.createElement("div", { className: i.grow }) + ); + }; + function oe(e, t) { + return "".concat(e.from, "-").concat(e.to, "-").concat(t); + } + function ie(e, t) { + return !(!t || !e) && t.raw.from === e.from && t.raw.to === e.to; + } + function le(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function se() { + return (se = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function ce() { + var e = Oe(["\n color: ", ";\n "]); + return ( + (ce = function () { + return e; + }), + e + ); + } + function ue() { + var e = Oe([ + "\n background-color: ", + ";\n padding: 12px;\n margin: 12px;\n\n a,\n span {\n font-size: 13px;\n }\n ", + ]); + return ( + (ue = function () { + return e; + }), + e + ); + } + function fe() { + var e = Oe([ + "\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n ", + ]); + return ( + (fe = function () { + return e; + }), + e + ); + } + function de() { + var e = Oe(["\n margin-bottom: 11px;\n "]); + return ( + (de = function () { + return e; + }), + e + ); + } + function pe() { + var e = Oe([ + "\n padding-top: 9px;\n padding-left: 11px;\n padding-right: 20%;\n ", + ]); + return ( + (pe = function () { + return e; + }), + e + ); + } + function he() { + var e = Oe(["\n padding: 7px 9px 7px 9px;\n "]); + return ( + (he = function () { + return e; + }), + e + ); + } + function me() { + var e = Oe([ + "\n border-bottom: 1px solid ", + ";\n background: ", + ";\n box-shadow: inset 0px 2px 2px ", + ";\n ", + ]); + return ( + (me = function () { + return e; + }), + e + ); + } + function ge() { + var e = Oe([ + "\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid ", + ";\n padding: 7px 9px 7px 9px;\n ", + ]); + return ( + (ge = function () { + return e; + }), + e + ); + } + function be() { + var e = Oe(["\n margin-top: 16px;\n "]); + return ( + (be = function () { + return e; + }), + e + ); + } + function ve() { + var e = Oe([ + "\n width: 40% !important;\n\n @media only screen and (max-width: ", + ") {\n width: 100% !important;\n }\n ", + ]); + return ( + (ve = function () { + return e; + }), + e + ); + } + function ye() { + var e = Oe([ + "\n display: flex;\n flex-direction: column;\n border-right: 1px solid ", + ";\n width: 60%;\n overflow: hidden;\n\n @media only screen and (max-width: ", + ") {\n display: none;\n }\n ", + ]); + return ( + (ye = function () { + return e; + }), + e + ); + } + function we() { + var e = Oe([ + "\n display: flex;\n background: ", + ";\n box-shadow: 0px 0px 20px ", + ";\n position: absolute;\n z-index: ", + ";\n width: 546px;\n height: 381px;\n top: 116%;\n margin-left: -322px;\n\n @media only screen and (max-width: ", + ") {\n width: 218px;\n margin-left: 6px;\n }\n\n @media only screen and (max-width: ", + ") {\n width: 264px;\n margin-left: -100px;\n }\n ", + ]); + return ( + (we = function () { + return e; + }), + e + ); + } + function Oe(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var xe = Object(s.g)(function (e) { + var t = O(e); + return { + container: Object(o.css)( + we(), + t.background, + t.shadow, + e.zIndex.modal, + e.breakpoints.lg, + e.breakpoints.sm + ), + leftSide: Object(o.css)(ye(), t.border, e.breakpoints.lg), + rightSide: Object(o.css)(ve(), e.breakpoints.lg), + spacing: Object(o.css)(be()), + }; + }), + ke = Object(s.g)(function (e) { + var t = O(e); + return { + header: Object(o.css)(ge(), t.border), + body: Object(o.css)(me(), t.border, t.formBackground, t.shadow), + form: Object(o.css)(he()), + }; + }), + je = Object(s.g)(function (e) { + return { + container: Object(o.css)(pe()), + title: Object(o.css)(de()), + recent: Object(o.css)(fe()), + }; + }), + Se = Object(s.g)(function (e) { + var t = O(e); + return { + container: Object(o.css)(ue(), t.formBackground), + link: Object(o.css)(ce(), e.colors.linkExternal), + }; + }), + Ee = function (e) { + var t = Object(s.h)(), + n = xe(t), + r = (function (e, t) { + if (!Array.isArray(e) || 0 === e.length) return []; + return e.slice(e.length - 4).map(function (e) { + return (function (e, t) { + var n = h(e.from, !1, t).format(c.TIME_FORMAT), + r = h(e.to, !0, t).format(c.TIME_FORMAT); + return { + from: m(e.from, t), + to: m(e.to, t), + section: 3, + display: "".concat(n, " to ").concat(r), + }; + })(e, t); + }); + })(e.history, e.timeZone), + o = e.quickOptions, + i = void 0 === o ? [] : o, + l = e.otherOptions, + u = void 0 === l ? [] : l, + f = e.isFullscreen; + return a.a.createElement( + "div", + { className: n.container }, + a.a.createElement( + "div", + { className: n.leftSide }, + a.a.createElement( + Te, + se({}, e, { visible: f, historyOptions: r }) + ) + ), + a.a.createElement( + Q.a, + { className: n.rightSide }, + a.a.createElement( + Pe, + se({}, e, { visible: !f, historyOptions: r }) + ), + a.a.createElement(re, { + title: "Relative time ranges", + options: i, + onSelect: e.onChange, + value: e.value, + timeZone: e.timeZone, + }), + a.a.createElement("div", { className: n.spacing }), + a.a.createElement(re, { + title: "Other quick ranges", + options: u, + onSelect: e.onChange, + value: e.value, + timeZone: e.timeZone, + }) + ) + ); + }, + Ce = function (e) { + var t = Object(s.h)(), + n = Object(l.a)("(min-width: ".concat(t.breakpoints.lg, ")")); + return a.a.createElement(Ee, se({}, e, { isFullscreen: n })); + }, + Pe = function (e) { + if (!e.visible) return null; + var t = Object(s.h)(), + n = ke(t), + o = + Object(c.isDateTime)(e.value.raw.from) || + Object(c.isDateTime)(e.value.raw.to), + i = le(Object(r.useState)(o), 2), + l = i[0], + u = i[1]; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { + className: n.header, + onClick: function () { + return u(!l); + }, + }, + a.a.createElement(d, null, "Absolute time range"), + l + ? a.a.createElement("i", { className: "fa fa-caret-up" }) + : a.a.createElement("i", { className: "fa fa-caret-down" }) + ), + l && + a.a.createElement( + "div", + { className: n.body }, + a.a.createElement( + "div", + { className: n.form }, + a.a.createElement(H, { + value: e.value, + onApply: e.onChange, + timeZone: e.timeZone, + isFullscreen: !1, + }) + ), + a.a.createElement(re, { + title: "Recently used absolute ranges", + options: e.historyOptions || [], + onSelect: e.onChange, + value: e.value, + placeholderEmpty: null, + timeZone: e.timeZone, + }) + ) + ); + }, + Te = function (e) { + if (!e.visible) return null; + var t = Object(s.h)(), + n = je(t); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: n.container }, + a.a.createElement( + "div", + { className: n.title }, + a.a.createElement(d, null, "Absolute time range") + ), + a.a.createElement(H, { + value: e.value, + timeZone: e.timeZone, + onApply: e.onChange, + isFullscreen: !0, + }) + ), + a.a.createElement( + "div", + { className: n.recent }, + a.a.createElement(re, { + title: "Recently used absolute ranges", + options: e.historyOptions || [], + onSelect: e.onChange, + value: e.value, + placeholderEmpty: a.a.createElement(De, null), + timeZone: e.timeZone, + }) + ) + ); + }, + De = Object(r.memo)(function () { + var e = Object(s.h)(), + t = Se(e); + return a.a.createElement( + "div", + { className: t.container }, + a.a.createElement( + "div", + null, + a.a.createElement( + "span", + null, + "It looks like you haven't used this timer picker before. As soon as you enter some time intervals, recently used intervals will appear here." + ) + ), + a.a.createElement( + "div", + null, + a.a.createElement( + "a", + { + className: t.link, + href: + "https://grafana.com/docs/grafana/latest/reference/timerange/", + target: "_new", + }, + "Read the documentation" + ), + a.a.createElement( + "span", + null, + " to find out more about how to enter custom time ranges." + ) + ) + ); + }); + var Ae = n("qQGB"), + _e = n("Fts8"); + function Ne(e) { + return (Ne = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Me(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Ie(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Re(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Fe(e, t) { + return !t || ("object" !== Ne(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Le(e) { + return (Le = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ve(e, t) { + return (Ve = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Be() { + var e = Ge([ + "\n color: ", + ";\n font-size: 75%;\n padding: 3px;\n font-weight: ", + ";\n ", + ]); + return ( + (Be = function () { + return e; + }), + e + ); + } + function $e() { + var e = Ge(["\n display: inline-block;\n "]); + return ( + ($e = function () { + return e; + }), + e + ); + } + function qe() { + var e = Ge([ + "\n label: noRightBorderStyle;\n border-right: 0;\n ", + ]); + return ( + (qe = function () { + return e; + }), + e + ); + } + function Ue() { + var e = Ge([ + "\n margin-left: 3px;\n\n i {\n font-size: ", + ";\n }\n ", + ]); + return ( + (Ue = function () { + return e; + }), + e + ); + } + function ze() { + var e = Ge(["\n display: flex;\n "]); + return ( + (ze = function () { + return e; + }), + e + ); + } + function He() { + var e = Ge([ + "\n position: relative;\n display: flex;\n flex-flow: column nowrap;\n ", + ]); + return ( + (He = function () { + return e; + }), + e + ); + } + function Ge(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + n.d(t, "a", function () { + return rt; + }); + var We = [ + { from: "now-5m", to: "now", display: "Last 5 minutes", section: 3 }, + { + from: "now-15m", + to: "now", + display: "Last 15 minutes", + section: 3, + }, + { + from: "now-30m", + to: "now", + display: "Last 30 minutes", + section: 3, + }, + { from: "now-1h", to: "now", display: "Last 1 hour", section: 3 }, + { from: "now-3h", to: "now", display: "Last 3 hours", section: 3 }, + { from: "now-6h", to: "now", display: "Last 6 hours", section: 3 }, + { from: "now-12h", to: "now", display: "Last 12 hours", section: 3 }, + { from: "now-24h", to: "now", display: "Last 24 hours", section: 3 }, + { from: "now-2d", to: "now", display: "Last 2 days", section: 3 }, + { from: "now-7d", to: "now", display: "Last 7 days", section: 3 }, + { from: "now-30d", to: "now", display: "Last 30 days", section: 3 }, + { from: "now-90d", to: "now", display: "Last 90 days", section: 3 }, + { from: "now-6M", to: "now", display: "Last 6 months", section: 3 }, + { from: "now-1y", to: "now", display: "Last 1 year", section: 3 }, + { from: "now-2y", to: "now", display: "Last 2 years", section: 3 }, + { from: "now-5y", to: "now", display: "Last 5 years", section: 3 }, + ], + Qe = [ + { + from: "now-1d/d", + to: "now-1d/d", + display: "Yesterday", + section: 3, + }, + { + from: "now-2d/d", + to: "now-2d/d", + display: "Day before yesterday", + section: 3, + }, + { + from: "now-7d/d", + to: "now-7d/d", + display: "This day last week", + section: 3, + }, + { + from: "now-1w/w", + to: "now-1w/w", + display: "Previous week", + section: 3, + }, + { + from: "now-1M/M", + to: "now-1M/M", + display: "Previous month", + section: 3, + }, + { + from: "now-1y/y", + to: "now-1y/y", + display: "Previous year", + section: 3, + }, + { from: "now/d", to: "now/d", display: "Today", section: 3 }, + { from: "now/d", to: "now", display: "Today so far", section: 3 }, + { from: "now/w", to: "now/w", display: "This week", section: 3 }, + { from: "now/w", to: "now", display: "This week so far", section: 3 }, + { from: "now/M", to: "now/M", display: "This month", section: 3 }, + { + from: "now/M", + to: "now", + display: "This month so far", + section: 3, + }, + { from: "now/y", to: "now/y", display: "This year", section: 3 }, + { from: "now/y", to: "now", display: "This year so far", section: 3 }, + ], + Ye = Object(Ae.a)(function (e) { + return { + container: Object(o.css)(He()), + buttons: Object(o.css)(ze()), + caretIcon: Object(o.css)(Ue(), e.typography.size.md), + noRightBorderStyle: Object(o.css)(qe()), + }; + }), + Ke = Object(Ae.a)(function (e) { + return { + container: Object(o.css)($e()), + utc: Object(o.css)( + Be(), + e.colors.orange, + e.typography.weight.semibold + ), + }; + }), + Je = (function (e) { + function t() { + var e, n; + Ie(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Fe( + this, + (e = Le(t)).call.apply(e, [this].concat(a)) + )).state = { isOpen: !1 }), + (n.onChange = function (e) { + n.props.onChange(e), n.setState({ isOpen: !1 }); + }), + (n.onOpen = function (e) { + var t = n.state.isOpen; + e.stopPropagation(), n.setState({ isOpen: !t }); + }), + (n.onClose = function () { + n.setState({ isOpen: !1 }); + }), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ve(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t = this.props, + n = t.value, + r = t.onMoveBackward, + l = t.onMoveForward, + s = t.onZoom, + u = t.timeZone, + f = t.timeSyncButton, + d = t.isSynced, + p = t.theme, + h = t.history, + m = this.state.isOpen, + g = Ye(p), + b = + Object(c.isDateTime)(n.raw.from) || + Object(c.isDateTime)(n.raw.to), + v = f && d, + y = Object(o.cx)( + "fa fa-clock-o fa-fw", + Me({}, "icon-brand-gradient", v) + ), + w = Object(o.cx)( + "btn navbar-button navbar-button--tight", + (Me( + (e = {}), + "btn--radius-right-0 ".concat(g.noRightBorderStyle), + !!f + ), + Me(e, "explore-active-button", v), + e) + ); + return a.a.createElement( + "div", + { className: g.container }, + a.a.createElement( + "div", + { className: g.buttons }, + b && + a.a.createElement( + "button", + { + className: "btn navbar-button navbar-button--tight", + onClick: r, + }, + a.a.createElement("i", { + className: "fa fa-chevron-left", + }) + ), + a.a.createElement( + "div", + null, + a.a.createElement( + i.b, + { + content: a.a.createElement(Xe, { timeRange: n }), + placement: "bottom", + }, + a.a.createElement( + "button", + { + "aria-label": "TimePicker Open Button", + className: w, + onClick: this.onOpen, + }, + a.a.createElement("i", { className: y }), + a.a.createElement(et, this.props), + a.a.createElement( + "span", + { className: g.caretIcon }, + m + ? a.a.createElement("i", { + className: "fa fa-caret-up fa-fw", + }) + : a.a.createElement("i", { + className: "fa fa-caret-down fa-fw", + }) + ) + ) + ), + m && + a.a.createElement( + x.a, + { onClick: this.onClose }, + a.a.createElement(Ce, { + timeZone: u, + value: n, + onChange: this.onChange, + otherOptions: Qe, + quickOptions: We, + history: h, + }) + ) + ), + f, + b && + a.a.createElement( + "button", + { + className: "btn navbar-button navbar-button--tight", + onClick: l, + }, + a.a.createElement("i", { + className: "fa fa-chevron-right", + }) + ), + a.a.createElement( + i.b, + { content: Ze, placement: "bottom" }, + a.a.createElement( + "button", + { + className: "btn navbar-button navbar-button--zoom", + onClick: s, + }, + a.a.createElement("i", { + className: "fa fa-search-minus", + }) + ) + ) + ) + ); + }, + }, + ]) && Re(n.prototype, r), + l && Re(n, l), + t + ); + })(r.PureComponent), + Ze = function () { + return a.a.createElement( + a.a.Fragment, + null, + "Time range zoom out ", + a.a.createElement("br", null), + " CTRL+Z" + ); + }, + Xe = function (e) { + var t = e.timeRange; + return a.a.createElement( + a.a.Fragment, + null, + t.from.format(c.TIME_FORMAT), + a.a.createElement("div", { className: "text-center" }, "to"), + t.to.format(c.TIME_FORMAT) + ); + }, + et = Object(r.memo)(function (e) { + var t = Object(_e.c)(), + n = Ke(t), + r = "utc" === e.timeZone; + return e.hideText + ? null + : a.a.createElement( + "span", + { className: n.container }, + a.a.createElement("span", null, tt(e.value, r)), + r && a.a.createElement("span", { className: n.utc }, "UTC") + ); + }), + tt = function (e, t) { + var n = { + to: c.dateMath.isMathString(e.raw.to) ? e.raw.to : nt(e.to, t), + from: c.dateMath.isMathString(e.raw.from) + ? e.raw.from + : nt(e.from, t), + }; + return c.rangeUtil.describeTimeRange(n); + }, + nt = function (e, t) { + return t ? e.utc() || null : e.local() || null; + }, + rt = Object(_e.d)(Je); + }, + "3XPa": function (e, t) { + var n = "public/app/features/folders/partials/create_folder.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-cloak>\n\n\t<h3 class=page-sub-heading>New Dashboard Folder</h3>\n\n <form name=ctrl.saveForm ng-submit=ctrl.create() novalidate>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t<label class="gf-form-label width-10">Name</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.title give-focus=true ng-change=ctrl.titleChanged() ng-model-options="{ debounce: 400 }" ng-class="{\'validation-error\': ctrl.nameExists || !ctrl.dash.title}">\n\t\t\t\t<label class="gf-form-label text-success" ng-if="ctrl.titleTouched && !ctrl.hasValidationError">\n\t\t\t\t\t<i class="fa fa-check"></i>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if=ctrl.hasValidationError>\n\t\t\t<div class="gf-form offset-width-10 gf-form--grow">\n\t\t\t\t<label class="gf-form-label text-warning gf-form-label--grow">\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t\t{{ctrl.validationError}}\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary width-12" ng-disabled="!ctrl.titleTouched || ctrl.hasValidationError">\n\t\t\t\tCreate\n\t\t\t</button>\n\t\t</div>\n\t</form>\n\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + "3lkw": function (e, t) { + var n = + "public/app/features/manage-dashboards/components/MoveToFolderModal/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body>\n <div class=modal-header>\n <h2 class=modal-header-title>\n <i class="gicon gicon-folder-new"></i>\n <span class=p-l-1>Choose Dashboard Folder</span>\n </h2>\n\n <a class=modal-header-close ng-click=ctrl.dismiss();>\n <i class="fa fa-remove"></i>\n </a>\n </div>\n\n <form name=ctrl.saveForm ng-submit=ctrl.save() class="modal-content folder-modal" novalidate>\n <p>Move the {{ctrl.dashboards.length}} selected dashboards to the following folder:</p>\n\n <div class=p-t-2>\n <div class=gf-form>\n <folder-picker on-change=ctrl.onFolderChange label-class=width-7 enable-create-new=true folder=ctrl.folder>\n </folder-picker>\n </div>\n </div>\n <div class="gf-form-button-row text-center">\n <button type=submit class="btn btn-primary" ng-disabled="ctrl.saveForm.$invalid || !ctrl.isValidFolderSelection">\n Move\n </button>\n <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n </div>\n </form>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "3oeA": function (e, t) { + !(function (e) { + e.plot.plugins.push({ + init: function (t) { + var n = { + first: { x: -1, y: -1 }, + second: { x: -1, y: -1 }, + show: !1, + active: !1, + }, + r = {}, + a = null; + function o(e) { + n.active && + (f(e), t.getPlaceholder().trigger("plotselecting", [l()])); + } + function i(o) { + 1 == o.which && + (document.body.focus(), + void 0 !== document.onselectstart && + null == r.onselectstart && + ((r.onselectstart = document.onselectstart), + (document.onselectstart = function () { + return !1; + })), + void 0 !== document.ondrag && + null == r.ondrag && + ((r.ondrag = document.ondrag), + (document.ondrag = function () { + return !1; + })), + u(n.first, o), + (n.active = !0), + (a = function (e) { + !(function (e) { + (a = null), + void 0 !== document.onselectstart && + (document.onselectstart = r.onselectstart); + void 0 !== document.ondrag && (document.ondrag = r.ondrag); + (n.active = !1), + f(e), + h() + ? s(e) + : (t.getPlaceholder().trigger("plotunselected", []), + t.getPlaceholder().trigger("plotselecting", [null])); + setTimeout(function () { + t.isSelecting = !1; + }, 10); + })(e); + }), + e(document).one("mouseup", a)); + } + function l() { + if (!h()) return null; + if (!n.show) return null; + var r = {}, + a = n.first, + o = n.second, + i = t.getAxes(); + return ( + e.each(i, function (e, t) { + t.used && (anyUsed = !1); + }), + e.each(i, function (e, t) { + t.used; + var n = t.c2p(a[t.direction]), + i = t.c2p(o[t.direction]); + r[e] = { from: Math.min(n, i), to: Math.max(n, i) }; + }), + r + ); + } + function s(e) { + var n = l(); + (n.ctrlKey = e.ctrlKey), + (n.metaKey = e.metaKey), + t.getPlaceholder().trigger("plotselected", [n]), + n.xaxis && + n.yaxis && + t.getPlaceholder().trigger("selected", [ + { + x1: n.xaxis.from, + y1: n.yaxis.from, + x2: n.xaxis.to, + y2: n.yaxis.to, + }, + ]); + } + function c(e, t, n) { + return t < e ? e : t > n ? n : t; + } + function u(e, r) { + var a = t.getOptions(), + o = t.getPlaceholder().offset(), + i = t.getPlotOffset(); + (e.x = c(0, r.pageX - o.left - i.left, t.width())), + (e.y = c(0, r.pageY - o.top - i.top, t.height())), + "y" == a.selection.mode && (e.x = e == n.first ? 0 : t.width()), + "x" == a.selection.mode && + (e.y = e == n.first ? 0 : t.height()); + } + function f(e) { + null != e.pageX && + (u(n.second, e), + h() + ? ((t.isSelecting = !0), + (n.show = !0), + t.triggerRedrawOverlay()) + : d(!0)); + } + function d(e) { + n.show && + ((n.show = !1), + t.triggerRedrawOverlay(), + e || t.getPlaceholder().trigger("plotunselected", [])); + } + function p(e, n) { + var r, + a, + o, + i, + l = t.getAxes(); + for (var s in l) + if ( + (r = l[s]).direction == n && + (e[(i = n + r.n + "axis")] || 1 != r.n || (i = n + "axis"), + e[i]) + ) { + (a = e[i].from), (o = e[i].to); + break; + } + if ( + (e[i] || + ((r = "x" == n ? t.getXAxes()[0] : t.getYAxes()[0]), + (a = e[n + "1"]), + (o = e[n + "2"])), + null != a && null != o && a > o) + ) { + var c = a; + (a = o), (o = c); + } + return { from: a, to: o, axis: r }; + } + function h() { + var e = t.getOptions().selection.minSize; + return ( + Math.abs(n.second.x - n.first.x) >= e && + Math.abs(n.second.y - n.first.y) >= e + ); + } + (t.clearSelection = d), + (t.setSelection = function (e, r) { + var a, + o = t.getOptions(); + "y" == o.selection.mode + ? ((n.first.x = 0), (n.second.x = t.width())) + : ((a = p(e, "x")), + (n.first.x = a.axis.p2c(a.from)), + (n.second.x = a.axis.p2c(a.to))), + "x" == o.selection.mode + ? ((n.first.y = 0), (n.second.y = t.height())) + : ((a = p(e, "y")), + (n.first.y = a.axis.p2c(a.from)), + (n.second.y = a.axis.p2c(a.to))), + (n.show = !0), + t.triggerRedrawOverlay(), + !r && h() && s(); + }), + (t.getSelection = l), + t.hooks.bindEvents.push(function (e, t) { + null != e.getOptions().selection.mode && + (t.mousemove(o), t.mousedown(i)); + }), + t.hooks.drawOverlay.push(function (t, r) { + if (n.show && h()) { + var a = t.getPlotOffset(), + o = t.getOptions(); + r.save(), r.translate(a.left, a.top); + var i = e.color.parse(o.selection.color); + (r.strokeStyle = i.scale("a", 0.8).toString()), + (r.lineWidth = 1), + (r.lineJoin = o.selection.shape), + (r.fillStyle = i.scale("a", 0.4).toString()); + var l = Math.min(n.first.x, n.second.x) + 0.5, + s = Math.min(n.first.y, n.second.y) + 0.5, + c = Math.abs(n.second.x - n.first.x) - 1, + u = Math.abs(n.second.y - n.first.y) - 1; + r.fillRect(l, s, c, u), r.strokeRect(l, s, c, u), r.restore(); + } + }), + t.hooks.shutdown.push(function (t, n) { + n.unbind("mousemove", o), + n.unbind("mousedown", i), + a && + (e(document).unbind("mouseup", a), + void 0 !== document.onselectstart && + (document.onselectstart = r.onselectstart), + void 0 !== document.ondrag && (document.ondrag = r.ondrag)); + }); + }, + options: { + selection: { + mode: null, + color: "#e8cfac", + shape: "round", + minSize: 5, + }, + }, + name: "selection", + version: "1.1", + }); + })(jQuery); + }, + "3p3q": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("9iwZ"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function p(e) { + var t = e.item; + return t.userAvatarUrl + ? a.a.createElement("img", { + className: "filter-table__avatar", + src: t.userAvatarUrl, + }) + : t.teamAvatarUrl + ? a.a.createElement("img", { + className: "filter-table__avatar", + src: t.teamAvatarUrl, + }) + : "Editor" === t.role + ? a.a.createElement("i", { + style: { width: "25px", height: "25px" }, + className: "gicon gicon-editor", + }) + : a.a.createElement("i", { + style: { width: "25px", height: "25px" }, + className: "gicon gicon-viewer", + }); + } + function h(e) { + var t = e.item; + return t.userId + ? a.a.createElement( + "span", + { className: "filter-table__weak-italic" }, + "(User)" + ) + : t.teamId + ? a.a.createElement( + "span", + { className: "filter-table__weak-italic" }, + "(Team)" + ) + : a.a.createElement( + "span", + { className: "filter-table__weak-italic" }, + "(Role)" + ); + } + var m = (function (e) { + function t() { + var e, n; + s(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = u( + this, + (e = f(t)).call.apply(e, [this].concat(a)) + )).onPermissionChanged = function (e) { + n.props.onPermissionChanged(n.props.item, e.value); + }), + (n.onRemoveItem = function () { + n.props.onRemoveItem(n.props.item); + }), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t = this.props, + n = t.item, + r = t.folderInfo, + l = -1 === n.dashboardId && !n.inherited, + s = i.f.find(function (e) { + return e.value === n.permission; + }); + return a.a.createElement( + "tr", + { + className: ((e = n.inherited), e ? "gf-form-disabled" : ""), + }, + a.a.createElement( + "td", + { style: { width: "1%" } }, + a.a.createElement(p, { item: n }) + ), + a.a.createElement( + "td", + { style: { width: "90%" } }, + n.name, + " ", + a.a.createElement(h, { item: n }) + ), + a.a.createElement( + "td", + null, + n.inherited && + r && + a.a.createElement( + "em", + { className: "muted no-wrap" }, + "Inherited from folder", + " ", + a.a.createElement( + "a", + { + className: "text-link", + href: "".concat(r.url, "/permissions"), + }, + r.title + ), + " " + ), + l && + a.a.createElement( + "em", + { className: "muted no-wrap" }, + "Default Permission" + ) + ), + a.a.createElement( + "td", + { className: "query-keyword" }, + "Can" + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(o.Select, { + isSearchable: !1, + options: i.f, + onChange: this.onPermissionChanged, + isDisabled: n.inherited, + className: "gf-form-select-box__control--menu-right", + value: s, + }) + ) + ), + a.a.createElement( + "td", + null, + n.inherited + ? a.a.createElement( + "button", + { className: "btn btn-inverse btn-small" }, + a.a.createElement("i", { className: "fa fa-lock" }) + ) + : a.a.createElement( + "a", + { + className: "btn btn-danger btn-small", + onClick: this.onRemoveItem, + }, + a.a.createElement("i", { className: "fa fa-remove" }) + ) + ) + ); + }, + }, + ]) && c(n.prototype, r), + l && c(n, l), + t + ); + })(r.PureComponent); + function g(e) { + return (g = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function b(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function v(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function y(e, t) { + return !t || ("object" !== g(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function w(e) { + return (w = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function O(e, t) { + return (O = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var x = (function (e) { + function t() { + return b(this, t), y(this, w(t).apply(this, arguments)); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && O(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.item, + t = i.f.find(function (t) { + return t.value === e.permission; + }); + return a.a.createElement( + "tr", + { className: "gf-form-disabled" }, + a.a.createElement( + "td", + { style: { width: "1%" } }, + a.a.createElement("i", { + style: { width: "25px", height: "25px" }, + className: "gicon gicon-shield", + }) + ), + a.a.createElement( + "td", + { style: { width: "90%" } }, + e.name, + a.a.createElement( + "span", + { className: "filter-table__weak-italic" }, + " (Role)" + ) + ), + a.a.createElement("td", null), + a.a.createElement( + "td", + { className: "query-keyword" }, + "Can" + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(o.Select, { + options: i.f, + onChange: function () {}, + isDisabled: !0, + className: "gf-form-select-box__control--menu-right", + value: t, + }) + ) + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "button", + { className: "btn btn-inverse btn-small" }, + a.a.createElement("i", { className: "fa fa-lock" }) + ) + ) + ); + }, + }, + ]) && v(n.prototype, r), + l && v(n, l), + t + ); + })(r.Component); + function k(e) { + return (k = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function j(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function S(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function E(e, t) { + return !t || ("object" !== k(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function C(e) { + return (C = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function P(e, t) { + return (P = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var T = (function (e) { + function t() { + return j(this, t), E(this, C(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && P(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.items, + n = e.onRemoveItem, + r = e.onPermissionChanged, + o = e.isFetching, + i = e.folderInfo; + return a.a.createElement( + "table", + { className: "filter-table gf-form-group" }, + a.a.createElement( + "tbody", + null, + a.a.createElement(x, { + key: 0, + item: { + name: "Admin", + permission: 4, + icon: "fa fa-fw fa-street-view", + }, + }), + t.map(function (e, t) { + return a.a.createElement(m, { + key: t + 1, + item: e, + onRemoveItem: n, + onPermissionChanged: r, + folderInfo: i, + }); + }), + !0 === o && t.length < 1 + ? a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { colSpan: 4 }, + a.a.createElement( + "em", + null, + "Loading permissions..." + ) + ) + ) + : null, + !1 === o && t.length < 1 + ? a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { colSpan: 4 }, + a.a.createElement( + "em", + null, + "No permissions are set. Will only be accessible by admins." + ) + ) + ) + : null + ) + ); + }, + }, + ]) && S(n.prototype, r), + o && S(n, o), + t + ); + })(r.PureComponent); + t.a = T; + }, + "3ulR": function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("QNPh"), + i = new o.b({ + type: "query", + params: [ + { name: "queryRefId", type: "string", dynamicLookup: !0 }, + { + name: "from", + type: "string", + options: ["10s", "1m", "5m", "10m", "15m", "1h", "24h", "48h"], + }, + { + name: "to", + type: "string", + options: ["now", "now-1m", "now-5m", "now-10m", "now-1h"], + }, + ], + defaultParams: ["#A", "15m", "now", "avg"], + }); + function l(e, t) { + return a.a + .reduce( + e, + function (e, t) { + return ( + void 0 !== t.metric && + void 0 !== t.value && + e.push(t.metric + "=" + t.value), + void 0 !== t.Metric && + void 0 !== t.Value && + e.push(t.Metric + "=" + t.Value), + e + ); + }, + [] + ) + .join(t); + } + t.a = { + alertQueryDef: i, + getStateDisplayModel: function (e) { + switch (e) { + case "ok": + return { + text: "OK", + iconClass: "icon-gf icon-gf-online", + stateClass: "alert-state-ok", + }; + case "alerting": + return { + text: "ALERTING", + iconClass: "icon-gf icon-gf-critical", + stateClass: "alert-state-critical", + }; + case "no_data": + return { + text: "NO DATA", + iconClass: "fa fa-question", + stateClass: "alert-state-warning", + }; + case "paused": + return { + text: "PAUSED", + iconClass: "fa fa-pause", + stateClass: "alert-state-paused", + }; + case "pending": + return { + text: "PENDING", + iconClass: "fa fa-exclamation", + stateClass: "alert-state-warning", + }; + case "unknown": + return { + text: "UNKNOWN", + iconClass: "fa fa-question", + stateClass: "alert-state-paused", + }; + } + throw { message: "Unknown alert state" }; + }, + conditionTypes: [{ text: "Query", value: "query" }], + evalFunctions: [ + { text: "IS ABOVE", value: "gt" }, + { text: "IS BELOW", value: "lt" }, + { text: "IS OUTSIDE RANGE", value: "outside_range" }, + { text: "IS WITHIN RANGE", value: "within_range" }, + { text: "HAS NO VALUE", value: "no_value" }, + ], + evalOperators: [ + { text: "OR", value: "or" }, + { text: "AND", value: "and" }, + ], + noDataModes: [ + { text: "Alerting", value: "alerting" }, + { text: "No Data", value: "no_data" }, + { text: "Keep Last State", value: "keep_state" }, + { text: "Ok", value: "ok" }, + ], + executionErrorModes: [ + { text: "Alerting", value: "alerting" }, + { text: "Keep Last State", value: "keep_state" }, + ], + reducerTypes: [ + { text: "avg()", value: "avg" }, + { text: "min()", value: "min" }, + { text: "max()", value: "max" }, + { text: "sum()", value: "sum" }, + { text: "count()", value: "count" }, + { text: "last()", value: "last" }, + { text: "median()", value: "median" }, + { text: "diff()", value: "diff" }, + { text: "diff_abs()", value: "diff_abs" }, + { text: "percent_diff()", value: "percent_diff" }, + { text: "percent_diff_abs()", value: "percent_diff_abs" }, + { text: "count_non_null()", value: "count_non_null" }, + ], + createReducerPart: function (e) { + var t = new o.b({ type: e.type, defaultParams: [] }); + return new o.a(e, t); + }, + getAlertAnnotationInfo: function (e) { + return a.a.isArray(e.data) + ? l(e.data, ", ") + : a.a.isArray(e.data.evalMatches) + ? l(e.data.evalMatches, ", ") + : e.data.error + ? "Error: " + e.data.error + : ""; + }, + alertStateSortScore: { + alerting: 1, + no_data: 2, + pending: 3, + ok: 4, + paused: 5, + }, + }; + }, + "3x4x": function (e, t, n) { + "use strict"; + var r, + a, + o, + i, + l = function (e) { + r = e; + }, + s = function () { + return r; + }; + function c(e) { + a = e; + } + function u() { + return a; + } + function f(e) { + o = e; + } + function d() { + return o; + } + function p(e) { + i = e; + } + function h() { + return i; + } + var m = n("zlcF"); + n.d(t, "i", function () { + return l; + }), + n.d(t, "c", function () { + return s; + }), + n.d(t, "h", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }), + n.d(t, "j", function () { + return f; + }), + n.d(t, "d", function () { + return d; + }), + n.d(t, "l", function () { + return p; + }), + n.d(t, "f", function () { + return h; + }), + n.d(t, "a", function () { + return m.a; + }), + n.d(t, "k", function () { + return m.d; + }), + n.d(t, "e", function () { + return m.b; + }), + n.d(t, "g", function () { + return m.c; + }); + }, + "4DTL": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return m; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("Xmxp"), + l = n("GQ3c"); + function s(e) { + return (s = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== s(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = function (e) { + var t = e.main, + n = e.customCss, + r = t.children.find(function (e) { + return !0 === e.active; + }); + return a.a.createElement( + "div", + { className: "gf-form-select-wrapper width-20 ".concat(n) }, + a.a.createElement("label", { + className: "gf-form-select-icon ".concat(r.icon), + htmlFor: "page-header-select-nav", + }), + a.a.createElement( + "select", + { + className: "gf-select-nav gf-form-input", + value: r.url, + onChange: function (e) { + var t = e.target, + n = t.options[t.selectedIndex].value; + i.b.emit(l.CoreEvents.locationChange, { href: n }); + }, + id: "page-header-select-nav", + }, + t.children.map(function (e) { + return e.hideFromTabs + ? null + : a.a.createElement( + "option", + { key: e.url, value: e.url }, + e.text + ); + }) + ) + ); + }, + h = function (e) { + var t = e.main; + return a.a.createElement( + "nav", + null, + a.a.createElement(p, { + customCss: "page-header__select-nav", + main: t, + }), + a.a.createElement( + o.TabsBar, + { className: "page-header__tabs", hideBorder: !0 }, + t.children.map(function (e, n) { + return ( + !e.hideFromTabs && + a.a.createElement(o.Tab, { + label: e.text, + active: e.active, + key: "".concat(e.url, "-").concat(n), + icon: e.icon, + onChangeTab: function () { + return (function (e) { + t.children.forEach(function (t, n) { + n === e && + i.b.emit(l.CoreEvents.locationChange, { + href: t.url, + }); + }); + })(n); + }, + }) + ); + }) + ) + ); + }, + m = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + u(this, f(t).call(this, e)) + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "shouldComponentUpdate", + value: function () { + return !0; + }, + }, + { + key: "renderTitle", + value: function (e, t) { + if (!(e || (t && 0 !== t.length))) return null; + if (!t || 0 === t.length) + return a.a.createElement( + "h1", + { className: "page-header__title" }, + e + ); + var n = [], + r = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = t[Symbol.iterator](); + !(r = (l = s.next()).done); + r = !0 + ) { + var c = l.value; + c.url + ? n.push( + a.a.createElement( + "a", + { + className: "text-link", + key: n.length, + href: c.url, + }, + c.title + ) + ) + : n.push( + a.a.createElement( + "span", + { key: n.length }, + " / ", + c.title + ) + ); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + r || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return ( + n.push( + a.a.createElement("span", { key: t.length + 1 }, " / ", e) + ), + a.a.createElement( + "h1", + { className: "page-header__title" }, + n + ) + ); + }, + }, + { + key: "renderHeaderTitle", + value: function (e) { + return a.a.createElement( + "div", + { className: "page-header__inner" }, + a.a.createElement( + "span", + { className: "page-header__logo" }, + e.icon && + a.a.createElement("i", { + className: "page-header__icon ".concat(e.icon), + }), + e.img && + a.a.createElement("img", { + className: "page-header__img", + src: e.img, + }) + ), + a.a.createElement( + "div", + { className: "page-header__info-block" }, + this.renderTitle(e.text, e.breadcrumbs), + e.subTitle && + a.a.createElement( + "div", + { className: "page-header__sub-title" }, + e.subTitle + ) + ) + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props.model; + if (!e) return null; + var t = e.main; + return a.a.createElement( + "div", + { className: "page-header-canvas" }, + a.a.createElement( + "div", + { className: "page-container" }, + a.a.createElement( + "div", + { className: "page-header" }, + this.renderHeaderTitle(t), + t.children && a.a.createElement(h, { main: t }) + ) + ) + ); + }, + }, + ]) && c(n.prototype, r), + o && c(n, o), + t + ); + })(a.a.Component); + }, + "4Qg+": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }), + n.d(t, "b", function () { + return d; + }), + n.d(t, "f", function () { + return p; + }), + n.d(t, "d", function () { + return h; + }), + n.d(t, "e", function () { + return m; + }), + n.d(t, "c", function () { + return g; + }); + var r = n("kDDq"); + function a() { + var e = u(["\n width: ", ";\n "]); + return ( + (a = function () { + return e; + }), + e + ); + } + function o() { + var e = u(["\n width: ", ";\n "]); + return ( + (o = function () { + return e; + }), + e + ); + } + function i() { + var e = u(["\n width: ", ";\n "]); + return ( + (i = function () { + return e; + }), + e + ); + } + function l() { + var e = u(["\n width: ", ";\n "]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + var e = u([ + "\n background-color: ", + ";\n line-height: ", + ";\n font-size: ", + ";\n color: ", + ";\n border: 1px solid ", + ";\n padding: 0 ", + " 0 ", + ";\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover {\n /* Welcome to 2005. This is a HACK to get rid od Chromes default autofill styling */\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0), inset 0 0 0 100px ", + "!important;\n }\n\n &:-webkit-autofill:focus {\n /* Welcome to 2005. This is a HACK to get rid od Chromes default autofill styling */\n box-shadow: 0 0 0 2px ", + ", 0 0 0px 4px ", + ",\n inset 0 0 0 1px rgba(255, 255, 255, 0), inset 0 0 0 100px ", + "!important;\n }\n\n &:hover {\n border-color: ", + ";\n }\n\n &:focus {\n outline: none;\n }\n\n &:disabled {\n background-color: ", + ";\n color: ", + ";\n }\n\n &::placeholder {\n color: ", + ";\n opacity: 1;\n }\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = u(["\n &:focus {\n ", "\n }\n"]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var f = function (e) { + return "\n outline: 2px dotted transparent;\n outline-offset: 2px;\n box-shadow: 0 0 0 2px " + .concat(e.colors.pageBg, ", 0 0 0px 4px ") + .concat( + e.colors.formFocusOutline, + ";\n transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n" + ); + }, + d = function (e) { + return Object(r.css)(c(), f(e)); + }, + p = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = e.colors, + a = t ? n.redBase : n.formInputBorder; + return Object(r.css)( + s(), + n.formInputBg, + e.typography.lineHeight.md, + e.typography.size.md, + n.formInputText, + a, + e.spacing.sm, + e.spacing.sm, + n.formInputBg, + e.colors.pageBg, + e.colors.formFocusOutline, + n.formInputBg, + a, + n.formInputBgDisabled, + n.formInputDisabledText, + n.formInputPlaceholderText + ); + }, + h = function () { + return { + sm: Object(r.css)(l(), m("sm")), + md: Object(r.css)(i(), m("md")), + lg: Object(r.css)(o(), m("lg")), + auto: Object(r.css)(a(), m("auto")), + }; + }, + m = function (e) { + switch (e) { + case "sm": + return "200px"; + case "md": + return "320px"; + case "lg": + return "580px"; + case "auto": + default: + return "auto"; + } + }, + g = function (e, t) { + switch (t) { + case "sm": + return { + padding: "0 ".concat(e.spacing.sm), + fontSize: e.typography.size.sm, + height: e.height.sm, + }; + case "md": + return { + padding: "0 ".concat(e.spacing.md), + fontSize: e.typography.size.md, + height: "".concat(e.spacing.formButtonHeight, "px"), + }; + case "lg": + return { + padding: "0 ".concat(e.spacing.lg), + fontSize: e.typography.size.lg, + height: e.height.lg, + }; + default: + return { + padding: "0 ".concat(e.spacing.md), + fontSize: e.typography.size.base, + height: e.height.md, + }; + } + }; + }, + "4RCQ": function (e, t, n) { + "use strict"; + var r = n("6blF"), + a = n("p+Sq"), + o = n("Obii"); + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function s(e) { + if (!e) return !1; + if ("-- Dashboard --" === e) return !0; + var t = e; + return t.meta && "-- Dashboard --" === t.meta.name; + } + function c(e) { + return new r.a(function (t) { + var n = Object(a.a)().getCurrent(), + r = (function (e) { + if (!e || !e.length) return; + return e[0].panelId; + })(e.queries); + if (!r) return t.next(u("Missing panel reference ID")), null; + var o = n.getPanelById(e.panelId), + s = n.getPanelById(r); + if (!s) return t.next(u("Unknown Panel: " + r)), null; + var c = s.getQueryRunner(), + f = c.getData(!1).subscribe({ + next: function (e) { + t.next(e); + }, + }); + if (o.fullscreen) { + var d = s.datasource, + p = s.targets, + h = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { datasource: d, panelId: r, queries: p }); + c.run(h); + } + return function () { + console.log("runSharedRequest unsubscribe"), f.unsubscribe(); + }; + }); + } + function u(e) { + return { + state: o.LoadingState.Error, + series: [], + error: { message: e }, + timeRange: o.DefaultTimeRange, + }; + } + var f = n("q1tI"), + d = n.n(f), + p = n("kDLi"), + h = n("ZFWI"), + m = n("kDDq"), + g = n("WnbS"), + b = n("O945"); + function v(e) { + return (v = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function y(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function w(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + y(o, r, a, i, l, "next", e); + } + function l(e) { + y(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function O(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function x(e, t) { + return !t || ("object" !== v(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function k(e) { + return (k = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function j(e, t) { + return (j = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function S(e) { + return JSON.stringify(e); + } + var E = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = x(this, k(t).call(this, e))).onPanelChanged = function (e) { + var t = n.props.onChange, + r = n.getQuery(); + (r.panelId = e), t(r), n.props.panel.refresh(); + }), + (n.getPanelDescription = function (e) { + var t = n.state.defaultDatasource, + r = e.datasource ? e.datasource : t; + return 1 === e.targets.length + ? "1 query to " + r + : e.targets.length + " queries to " + r; + }), + (n.state = { defaultDatasource: "", results: [] }), + n + ); + } + var n, r, o, i, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && j(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getQuery", + value: function () { + return this.props.panel.targets[0]; + }, + }, + { + key: "componentDidMount", + value: + ((l = w( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + this.componentDidUpdate(null); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return l.apply(this, arguments); + }), + }, + { + key: "componentDidUpdate", + value: + ((i = w( + regeneratorRuntime.mark(function e(t) { + var n, r, o, i, l, s, c, u, f, d, p, h, m, v, y, w, O; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = this.props.panelData), + t && t.panelData === n) + ) { + e.next = 52; + break; + } + return ( + (r = this.props.panel.targets[0]), + (e.next = 5), + Object(g.a)().get(null) + ); + case 5: + if ( + ((o = e.sent), + (i = Object(a.a)().getCurrent()), + (l = i.getPanelById(r.panelId))) + ) { + e.next = 11; + break; + } + return ( + this.setState({ defaultDatasource: o.name }), + e.abrupt("return") + ); + case 11: + return ( + (e.next = 13), Object(g.a)().get(l.datasource) + ); + case 13: + (s = e.sent), + (c = []), + (u = !0), + (f = !1), + (d = void 0), + (e.prev = 18), + (p = l.targets[Symbol.iterator]()); + case 20: + if ((u = (h = p.next()).done)) { + e.next = 37; + break; + } + if (!(m = h.value).datasource) { + e.next = 28; + break; + } + return ( + (e.next = 25), Object(g.a)().get(m.datasource) + ); + case 25: + (e.t0 = e.sent), (e.next = 29); + break; + case 28: + e.t0 = s; + case 29: + (v = e.t0), + (y = v.getQueryDisplayText + ? v.getQueryDisplayText + : S), + (w = Object(b.b)(n, m.refId)), + (O = w || n), + c.push({ + refId: m.refId, + query: y(m), + img: v.meta.info.logos.small, + data: O.series, + error: O.error, + }); + case 34: + (u = !0), (e.next = 20); + break; + case 37: + e.next = 43; + break; + case 39: + (e.prev = 39), + (e.t1 = e.catch(18)), + (f = !0), + (d = e.t1); + case 43: + (e.prev = 43), + (e.prev = 44), + u || null == p.return || p.return(); + case 46: + if (((e.prev = 46), !f)) { + e.next = 49; + break; + } + throw d; + case 49: + return e.finish(46); + case 50: + return e.finish(43); + case 51: + this.setState({ + defaultDatasource: o.name, + results: c, + }); + case 52: + case "end": + return e.stop(); + } + }, + e, + this, + [ + [18, 39, 43, 51], + [44, , 46, 50], + ] + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "renderQueryData", + value: function (e) { + var t = this.state.results; + return d.a.createElement( + "div", + null, + t.map(function (t, n) { + return d.a.createElement( + "div", + { className: "query-editor-row__header", key: n }, + d.a.createElement( + "div", + { className: "query-editor-row__ref-id" }, + d.a.createElement("img", { + src: t.img, + width: 16, + className: Object(m.css)({ marginRight: "8px" }), + }), + t.refId, + ":" + ), + d.a.createElement( + "div", + { className: "query-editor-row__collapsed-text" }, + d.a.createElement( + "a", + { href: e }, + t.query, + " ", + d.a.createElement("i", { + className: "fa fa-external-link", + }) + ) + ) + ); + }) + ); + }, + }, + { + key: "render", + value: function () { + var e, + t = this, + n = Object(a.a)().getCurrent(), + r = this.getQuery(), + o = [], + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = n.panels[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = c.value, + g = h.b.panels[f.type]; + if (g && f.targets && "-- Dashboard --" !== f.datasource) { + var b = { + value: f.id, + label: f.title ? f.title : "Panel " + f.id, + description: this.getPanelDescription(f), + imgUrl: g.info.logos.small, + }; + o.push(b), r.panelId === f.id && (e = b); + } + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + if (o.length < 1) + return d.a.createElement( + "div", + { className: Object(m.css)({ padding: "10px" }) }, + "This dashboard does not have other panels. Add queries to other panels and try again" + ); + var v = "d/" + .concat(n.uid, "/") + .concat(n.title, "?&fullscreen&edit&panelId=") + .concat(r.panelId); + return d.a.createElement( + "div", + null, + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "div", + { className: "gf-form-label" }, + "Use results from panel" + ), + d.a.createElement(p.Select, { + placeholder: "Choose Panel", + isSearchable: !0, + options: o, + value: e, + onChange: function (e) { + return t.onPanelChanged(e.value); + }, + }) + ), + d.a.createElement( + "div", + { className: Object(m.css)({ padding: "16px" }) }, + r.panelId && this.renderQueryData(v) + ) + ); + }, + }, + ]) && O(n.prototype, r), + o && O(n, o), + t + ); + })(f.PureComponent); + n.d(t, "b", function () { + return s; + }), + n.d(t, "c", function () { + return c; + }), + n.d(t, "a", function () { + return E; + }); + }, + "4Umt": function (e, t) { + !(function (e) { + function t(e, t) { + return t * Math.floor(e / t); + } + function n(e, t, n, r) { + if ("function" == typeof e.strftime) return e.strftime(t); + var a, + o = function (e, t) { + return ( + (t = "" + (null == t ? "0" : t)), + 1 == (e = "" + e).length ? t + e : e + ); + }, + i = [], + l = !1, + s = e.getHours(), + c = s < 12; + null == n && + (n = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", + ]), + null == r && + (r = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), + (a = s > 12 ? s - 12 : 0 == s ? 12 : s); + for (var u = 0; u < t.length; ++u) { + var f = t.charAt(u); + if (l) { + switch (f) { + case "a": + f = "" + r[e.getDay()]; + break; + case "b": + f = "" + n[e.getMonth()]; + break; + case "d": + f = o(e.getDate(), ""); + break; + case "e": + f = o(e.getDate(), " "); + break; + case "h": + case "H": + f = o(s); + break; + case "I": + f = o(a); + break; + case "l": + f = o(a, " "); + break; + case "m": + f = o(e.getMonth() + 1, ""); + break; + case "M": + f = o(e.getMinutes()); + break; + case "q": + f = "" + (Math.floor(e.getMonth() / 3) + 1); + break; + case "S": + f = o(e.getSeconds()); + break; + case "y": + f = o(e.getFullYear() % 100); + break; + case "Y": + f = "" + e.getFullYear(); + break; + case "p": + f = c ? "am" : "pm"; + break; + case "P": + f = c ? "AM" : "PM"; + break; + case "w": + f = "" + e.getDay(); + } + i.push(f), (l = !1); + } else "%" == f ? (l = !0) : i.push(f); + } + return i.join(""); + } + function r(e) { + function t(e, t, n, r) { + e[t] = function () { + return n[r].apply(n, arguments); + }; + } + var n = { date: e }; + null != e.strftime && t(n, "strftime", e, "strftime"), + t(n, "getTime", e, "getTime"), + t(n, "setTime", e, "setTime"); + for ( + var r = [ + "Date", + "Day", + "FullYear", + "Hours", + "Milliseconds", + "Minutes", + "Month", + "Seconds", + ], + a = 0; + a < r.length; + a++ + ) + t(n, "get" + r[a], e, "getUTC" + r[a]), + t(n, "set" + r[a], e, "setUTC" + r[a]); + return n; + } + function a(e, t) { + if ("browser" == t.timezone) return new Date(e); + if (t.timezone && "utc" != t.timezone) { + if ( + "undefined" != typeof timezoneJS && + void 0 !== timezoneJS.Date + ) { + var n = new timezoneJS.Date(); + return n.setTimezone(t.timezone), n.setTime(e), n; + } + return r(new Date(e)); + } + return r(new Date(e)); + } + var o = { + second: 1e3, + minute: 6e4, + hour: 36e5, + day: 864e5, + month: 2592e6, + quarter: 7776e6, + year: 525949.2 * 60 * 1e3, + }, + i = [ + [1, "second"], + [2, "second"], + [5, "second"], + [10, "second"], + [30, "second"], + [1, "minute"], + [2, "minute"], + [5, "minute"], + [10, "minute"], + [30, "minute"], + [1, "hour"], + [2, "hour"], + [4, "hour"], + [8, "hour"], + [12, "hour"], + [1, "day"], + [2, "day"], + [3, "day"], + [0.25, "month"], + [0.5, "month"], + [1, "month"], + [2, "month"], + ], + l = i.concat([ + [3, "month"], + [6, "month"], + [1, "year"], + ]), + s = i.concat([ + [1, "quarter"], + [2, "quarter"], + [1, "year"], + ]); + e.plot.plugins.push({ + init: function (r) { + r.hooks.processOptions.push(function (r, i) { + e.each(r.getAxes(), function (e, r) { + var i = r.options; + "time" == i.mode && + ((r.tickGenerator = function (e) { + var n = [], + r = a(e.min, i), + c = 0, + u = + (i.tickSize && "quarter" === i.tickSize[1]) || + (i.minTickSize && "quarter" === i.minTickSize[1]) + ? s + : l; + null != i.minTickSize && + (c = + "number" == typeof i.tickSize + ? i.tickSize + : i.minTickSize[0] * o[i.minTickSize[1]]); + for ( + var f = 0; + f < u.length - 1 && + !( + e.delta < + (u[f][0] * o[u[f][1]] + + u[f + 1][0] * o[u[f + 1][1]]) / + 2 && u[f][0] * o[u[f][1]] >= c + ); + ++f + ); + var d = u[f][0], + p = u[f][1]; + if ("year" == p) { + if (null != i.minTickSize && "year" == i.minTickSize[1]) + d = Math.floor(i.minTickSize[0]); + else { + var h = Math.pow( + 10, + Math.floor(Math.log(e.delta / o.year) / Math.LN10) + ), + m = e.delta / o.year / h; + (d = m < 1.5 ? 1 : m < 3 ? 2 : m < 7.5 ? 5 : 10), + (d *= h); + } + d < 1 && (d = 1); + } + e.tickSize = i.tickSize || [d, p]; + var g = e.tickSize[0]; + p = e.tickSize[1]; + var b = g * o[p]; + "second" == p + ? r.setSeconds(t(r.getSeconds(), g)) + : "minute" == p + ? r.setMinutes(t(r.getMinutes(), g)) + : "hour" == p + ? r.setHours(t(r.getHours(), g)) + : "month" == p + ? r.setMonth(t(r.getMonth(), g)) + : "quarter" == p + ? r.setMonth(3 * t(r.getMonth() / 3, g)) + : "year" == p && r.setFullYear(t(r.getFullYear(), g)), + r.setMilliseconds(0), + b >= o.minute && r.setSeconds(0), + b >= o.hour && r.setMinutes(0), + b >= o.day && r.setHours(0), + b >= 4 * o.day && r.setDate(1), + b >= 2 * o.month && r.setMonth(t(r.getMonth(), 3)), + b >= 2 * o.quarter && r.setMonth(t(r.getMonth(), 6)), + b >= o.year && r.setMonth(0); + var v, + y = 0, + w = Number.NaN; + do { + if ( + ((v = w), + (w = r.getTime()), + n.push(w), + "month" == p || "quarter" == p) + ) + if (g < 1) { + r.setDate(1); + var O = r.getTime(); + r.setMonth(r.getMonth() + ("quarter" == p ? 3 : 1)); + var x = r.getTime(); + r.setTime(w + y * o.hour + (x - O) * g), + (y = r.getHours()), + r.setHours(0); + } else + r.setMonth( + r.getMonth() + g * ("quarter" == p ? 3 : 1) + ); + else + "year" == p + ? r.setFullYear(r.getFullYear() + g) + : r.setTime(w + b); + } while (w < e.max && w != v); + return n; + }), + (r.tickFormatter = function (e, t) { + var r = a(e, t.options); + if (null != i.timeformat) + return n(r, i.timeformat, i.monthNames, i.dayNames); + var l = + (t.options.tickSize && + "quarter" == t.options.tickSize[1]) || + (t.options.minTickSize && + "quarter" == t.options.minTickSize[1]), + s = t.tickSize[0] * o[t.tickSize[1]], + c = t.max - t.min, + u = i.twelveHourClock ? " %p" : "", + f = i.twelveHourClock ? "%I" : "%H"; + return n( + r, + s < o.minute + ? f + ":%M:%S" + u + : s < o.day + ? c < 2 * o.day + ? f + ":%M" + u + : "%b %d " + f + ":%M" + u + : s < o.month + ? "%b %d" + : (l && s < o.quarter) || (!l && s < o.year) + ? c < o.year + ? "%b" + : "%b %Y" + : l && s < o.year + ? c < o.year + ? "Q%q" + : "Q%q %Y" + : "%Y", + i.monthNames, + i.dayNames + ); + })); + }); + }); + }, + options: { + xaxis: { + timezone: null, + timeformat: null, + twelveHourClock: !1, + monthNames: null, + }, + }, + name: "time", + version: "1.0", + }), + (e.plot.formatDate = n); + })(jQuery); + }, + "4aoj": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = n("zlcF"), + a = function (e) { + Object(r.b)().addEvent({ type: r.a.MetaAnalytics, payload: e }); + }; + }, + "4qJB": function (e, t, n) { + "use strict"; + n.d(t, "h", function () { + return c; + }), + n.d(t, "e", function () { + return f; + }), + n.d(t, "g", function () { + return d; + }), + n.d(t, "b", function () { + return i; + }), + n.d(t, "a", function () { + return l; + }), + n.d(t, "c", function () { + return s; + }), + n.d(t, "i", function () { + return p; + }), + n.d(t, "f", function () { + return h; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("PSiG"); + n.d(t, "d", function () { + return o.a; + }); + var i, + l, + s, + c = /\$(\w+)|\[\[([\s\S]+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::(\w+))?}/g, + u = function (e) { + return (c.lastIndex = 0), c.exec(e); + }, + f = function (e) { + return ( + !(!e || "string" != typeof e) && -1 !== e.indexOf("__searchFilter") + ); + }, + d = function (e) { + var t = e.query, + n = e.wildcardChar; + if (!f(t)) return {}; + var r = e.options; + return { + __searchFilter: { + value: (r = r || { searchFilter: "" }).searchFilter + ? "".concat(r.searchFilter).concat(n) + : "".concat(n), + text: "", + }, + }; + }; + !(function (e) { + (e[(e.never = 0)] = "never"), + (e[(e.onDashboardLoad = 1)] = "onDashboardLoad"), + (e[(e.onTimeRangeChanged = 2)] = "onTimeRangeChanged"); + })(i || (i = {})), + (function (e) { + (e[(e.dontHide = 0)] = "dontHide"), + (e[(e.hideLabel = 1)] = "hideLabel"), + (e[(e.hideVariable = 2)] = "hideVariable"); + })(l || (l = {})), + (function (e) { + (e[(e.disabled = 0)] = "disabled"), + (e[(e.alphabeticalAsc = 1)] = "alphabeticalAsc"), + (e[(e.alphabeticalDesc = 2)] = "alphabeticalDesc"), + (e[(e.numericalAsc = 3)] = "numericalAsc"), + (e[(e.numericalDesc = 4)] = "numericalDesc"), + (e[(e.alphabeticalCaseInsensitiveAsc = 5)] = + "alphabeticalCaseInsensitiveAsc"), + (e[(e.alphabeticalCaseInsensitiveDesc = 6)] = + "alphabeticalCaseInsensitiveDesc"); + })(s || (s = {})); + var p = {}; + function h() { + for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) + t[n] = arguments[n]; + var r = t[t.length - 1]; + t[0] = a.a.isString(t[0]) ? t[0] : Object.values(t[0]).join(" "); + var o = t.slice(0, -1).join(" "), + i = o.match(c), + l = + null !== i && + i.find(function (e) { + var t = u(e); + return null !== t && t.indexOf(r) > -1; + }); + return !!l; + } + }, + "4x4p": function (e, t) { + var n = "public/app/features/playlist/partials/playlist_search.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=playlist-search-field-wrapper>\n <span style=position:relative>\n <input type=text placeholder="Find dashboards by name" tabindex=1 ng-keydown=ctrl.keyDown($event) ng-model=ctrl.query.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.searchDashboards() />\n\t\t<div class=playlist-search-switches>\n\t\t\t<i class="fa fa-filter"></i>\n\t\t\t<a class=pointer href="javascript:void 0;" ng-click=ctrl.showStarred() tabindex=2>\n\t\t\t\t<i class="fa fa-remove" ng-show=ctrl.query.starred></i>\n\t\t\t\tstarred\n\t\t\t</a> |\n\t\t\t<a class=pointer href="javascript:void 0;" ng-click=ctrl.getTags() tabindex=3>\n\t\t\t\t<i class="fa fa-remove" ng-show=ctrl.tagsMode></i>\n\t\t\t\ttags\n\t\t\t</a>\n\t\t\t<span ng-if=ctrl.query.tag.length>\n\t\t\t\t|\n\t\t\t\t<span ng-repeat="tagName in ctrl.query.tag">\n\t\t\t\t\t<a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name=ctrl.tagName class="label label-tag">\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t\t{{tagName}}\n\t\t\t\t\t</a>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\t</span>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "5/7A": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("uomI"), + i = n("rEbV"); + function l() { + return (l = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function u(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var f = function (e) { + var t = e.children, + n = e.theme, + f = u(e, ["children", "theme"]), + d = Object(r.createRef)(), + p = "popper__background" + (n ? " popper__background--" + n : ""); + return a.a.createElement(i.a, f, function (e, n, r) { + var i = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, r, { show: void 0 !== f.show ? f.show : r.show }); + return a.a.createElement( + a.a.Fragment, + null, + d.current && + a.a.createElement( + o.a, + l({}, i, { + onMouseEnter: e, + onMouseLeave: n, + referenceElement: d.current, + wrapperClassName: "popper", + className: p, + renderArrow: function (e) { + var t = e.arrowProps, + n = e.placement; + return a.a.createElement( + "div", + l({ className: "popper__arrow", "data-placement": n }, t) + ); + }, + }) + ), + a.a.cloneElement(t, { ref: d, onMouseEnter: e, onMouseLeave: n }) + ); + }); + }; + }, + "5C3A": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return i; + }), + n.d(t, "a", function () { + return s; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("ZFWI"), + i = function () { + return [ + { + text: "Documentation", + icon: "fa fa-file-code-o", + url: + "https://grafana.com/docs/grafana/latest/?utm_source=grafana_footer", + target: "_blank", + }, + { + text: "Support", + icon: "fa fa-support", + url: + "https://grafana.com/products/enterprise/?utm_source=grafana_footer", + target: "_blank", + }, + { + text: "Community", + icon: "fa fa-comments-o", + url: "https://community.grafana.com/?utm_source=grafana_footer", + target: "_blank", + }, + ]; + }, + l = function () { + var e = o.b.buildInfo, + t = o.b.licenseInfo, + n = [], + r = t.stateInfo ? " (".concat(t.stateInfo, ")") : ""; + return ( + n.push({ text: "".concat(e.edition).concat(r), url: t.licenseUrl }), + n.push({ text: "v".concat(e.version, " (").concat(e.commit, ")") }), + e.hasUpdate && + n.push({ + text: "New version available!", + icon: "fa fa-download", + url: + "https://grafana.com/grafana/download?utm_source=grafana_footer", + target: "_blank", + }), + n + ); + }; + var s = a.a.memo(function () { + var e = i().concat(l()); + return a.a.createElement( + "footer", + { className: "footer" }, + a.a.createElement( + "div", + { className: "text-center" }, + a.a.createElement( + "ul", + null, + e.map(function (e) { + return a.a.createElement( + "li", + { key: e.text }, + a.a.createElement( + "a", + { href: e.url, target: e.target, rel: "noopener" }, + a.a.createElement("i", { className: e.icon }), + " ", + e.text + ) + ); + }) + ) + ) + ); + }); + }, + "5VON": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return r; + }), + n.d(t, "c", function () { + return a; + }), + n.d(t, "a", function () { + return o; + }); + var r = "browser", + a = "YYYY-MM-DD HH:mm:ss", + o = { from: {}, to: {}, raw: { from: "6h", to: "now" } }; + }, + "5kRJ": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return g; + }); + var r = n("PbtU"), + a = n("LvDl"), + o = n.n(a), + i = n("4qJB"), + l = n("VX0D"), + s = n("Yyu/"), + c = n("iODs"), + u = n("ZFWI"); + function f(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? f(Object(n), !0).forEach(function (t) { + p(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : f(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function p(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function h(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function m(e) { + return e.replace( + /([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g, + "\\$1" + ); + } + var g = (function () { + function e() { + var t = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.regex = i.h), + (this.index = {}), + (this.grafanaVariables = {}), + (this.builtIns = {}), + (this.timeRange = null), + (this.fieldAccessorCache = {}), + (this.getVariableAtIndex = function (e) { + if (e) + return Object(u.c)().featureToggles.newVariables && !t.index[e] + ? Object(s.c)(e, Object(c.b)()) + : t.index[e]; + }), + (this.builtIns.__interval = { text: "1s", value: "1s" }), + (this.builtIns.__interval_ms = { text: "100", value: "100" }), + (this.variables = []); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "init", + value: function (e, t) { + (this.variables = e), (this.timeRange = t), this.updateIndex(); + }, + }, + { + key: "getBuiltInIntervalValue", + value: function () { + return this.builtIns.__interval.value; + }, + }, + { + key: "updateIndex", + value: function () { + if ( + ((this.index = this.variables.reduce(function (e, t) { + var n; + return ( + t.current && + (t.current.isNone || + (n = t.current.value) || + "" === n) && + (e[t.name] = t), + e + ); + }, {})), + this.timeRange) + ) { + var e, + t = this.timeRange.from.valueOf().toString(), + n = this.timeRange.to.valueOf().toString(); + this.index = d( + {}, + this.index, + (p((e = {}), "__from", { current: { value: t, text: t } }), + p(e, "__to", { current: { value: n, text: n } }), + e) + ); + } + }, + }, + { + key: "updateTimeRange", + value: function (e) { + (this.timeRange = e), this.updateIndex(); + }, + }, + { + key: "variableInitialized", + value: function (e) { + this.index[e.name] = e; + }, + }, + { + key: "getAdhocFilters", + value: function (e) { + var t = []; + if (this.variables) + for (var n = 0; n < this.variables.length; n++) { + var r = this.variables[n]; + "adhoc" === r.type && + (null === r.datasource || r.datasource === e + ? (t = t.concat(r.filters)) + : 0 === r.datasource.indexOf("$") && + this.replace(r.datasource) === e && + (t = t.concat(r.filters))); + } + return t; + }, + }, + { + key: "luceneFormat", + value: function (e) { + return "string" == typeof e + ? m(e) + : e instanceof Array && 0 === e.length + ? "__empty__" + : "(" + + o.a + .map(e, function (e) { + return '"' + m(e) + '"'; + }) + .join(" OR ") + + ")"; + }, + }, + { + key: "encodeURIComponentStrict", + value: function (e) { + return encodeURIComponent(e).replace(/[!'()*]/g, function (e) { + return "%" + e.charCodeAt(0).toString(16).toUpperCase(); + }); + }, + }, + { + key: "formatValue", + value: function (e, t, n) { + if (((n = n || {}), "function" == typeof t)) + return t(e, n, this.formatValue); + switch (t) { + case "regex": + if ("string" == typeof e) return r.a.regexEscape(e); + var a = o.a.map(e, r.a.regexEscape); + return 1 === a.length ? a[0] : "(" + a.join("|") + ")"; + case "lucene": + return this.luceneFormat(e); + case "pipe": + return "string" == typeof e ? e : e.join("|"); + case "distributed": + return "string" == typeof e + ? e + : this.distributeVariable(e, n.name); + case "csv": + return o.a.isArray(e) ? e.join(",") : e; + case "html": + return o.a.isArray(e) + ? Object(l.a)(e.join(", ")) + : Object(l.a)(e); + case "json": + return JSON.stringify(e); + case "percentencode": + return o.a.isArray(e) + ? this.encodeURIComponentStrict("{" + e.join(",") + "}") + : this.encodeURIComponentStrict(e); + default: + return o.a.isArray(e) && e.length > 1 + ? "{" + e.join(",") + "}" + : e; + } + }, + }, + { + key: "setGrafanaVariable", + value: function (e, t) { + this.grafanaVariables[e] = t; + }, + }, + { + key: "setGlobalVariable", + value: function (e, t) { + this.index = d({}, this.index, p({}, e, { current: t })); + }, + }, + { + key: "getVariableName", + value: function (e) { + this.regex.lastIndex = 0; + var t = this.regex.exec(e); + return t + ? t.slice(1).find(function (e) { + return void 0 !== e; + }) + : null; + }, + }, + { + key: "variableExists", + value: function (e) { + var t = this.getVariableName(e); + return t && void 0 !== this.getVariableAtIndex(t); + }, + }, + { + key: "highlightVariablesAsHtml", + value: function (e) { + var t = this; + return e && o.a.isString(e) + ? ((e = o.a.escape(e)), + (this.regex.lastIndex = 0), + e.replace(this.regex, function (e, n, r, a, o) { + return t.getVariableAtIndex(n || r || o) || + t.builtIns[n || r || o] + ? '<span class="template-variable">' + e + "</span>" + : e; + })) + : e; + }, + }, + { + key: "getAllValue", + value: function (e) { + if (e.allValue) return e.allValue; + for (var t = [], n = 1; n < e.options.length; n++) + t.push(e.options[n].value); + return t; + }, + }, + { + key: "getFieldAccessor", + value: function (e) { + var t = this.fieldAccessorCache[e]; + return t || (this.fieldAccessorCache[e] = o.a.property(e)); + }, + }, + { + key: "getVariableValue", + value: function (e, t, n) { + var r = n[e]; + return r + ? t + ? this.getFieldAccessor(t)(r.value) + : r.value + : null; + }, + }, + { + key: "replace", + value: function (e, t, n) { + var r = this; + return e + ? ((this.regex.lastIndex = 0), + e.replace(this.regex, function (e, a, o, i, l, s, c) { + var u = a || o || l, + f = r.getVariableAtIndex(u), + d = i || c || n; + if (t) { + var h = r.getVariableValue(u, s, t); + if (null != h) return r.formatValue(h, d, f); + } + if (!f) return e; + var m = r.grafanaVariables[f.current.value]; + if (m) return r.formatValue(m, d, f); + var g = f.current.value; + if ( + r.isAllValue(g) && + ((g = r.getAllValue(f)), f.allValue) + ) + return r.replace(g); + if (s) { + var b = r.getVariableValue( + u, + s, + p({}, u, { value: g, text: "" }) + ); + if (null != b) return r.formatValue(b, d, f); + } + return r.formatValue(g, d, f); + })) + : e; + }, + }, + { + key: "isAllValue", + value: function (e) { + return ( + "$__all" === e || (Array.isArray(e) && "$__all" === e[0]) + ); + }, + }, + { + key: "replaceWithText", + value: function (e, t) { + var n, + r = this; + return e + ? ((this.regex.lastIndex = 0), + e.replace(this.regex, function (e, a, o, i, l) { + if (t) { + var s = t[a || o || l]; + if (s) return s.text; + } + if (!(n = r.getVariableAtIndex(a || o || l))) return e; + var c = r.grafanaVariables[n.current.value]; + return "string" == typeof c ? c : n.current.text; + })) + : e; + }, + }, + { + key: "fillVariableValuesForUrl", + value: function (e, t) { + o.a.each(this.variables, function (n) { + if (t && void 0 !== t[n.name]) { + if (t[n.name].skipUrlSync) return; + e["var-" + n.name] = t[n.name].value; + } else { + if (n.skipUrlSync) return; + e["var-" + n.name] = n.getValueForUrl(); + } + }); + }, + }, + { + key: "distributeVariable", + value: function (e, t) { + return (e = o.a.map(e, function (e, n) { + return 0 !== n ? t + "=" + e : e; + })).join(","); + }, + }, + ]) && h(t.prototype, n), + a && h(t, a), + e + ); + })(); + t.b = new g(); + }, + "5m9O": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = new Set(); + function a(e) { + if (r.has(e)) + throw new Error( + "There is already an event defined with type '".concat(e, "'") + ); + return r.add(e), { name: e }; + } + }, + "66yP": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return s; + }); + var r = n("kDLi"), + a = n("Obii"); + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = function (e, t, n, o, l, s) { + var c, + u = [], + f = Object(a.getDisplayProcessor)({ + field: { + config: { + unit: + null == s + ? void 0 + : null === (c = s.defaults) || void 0 === c + ? void 0 + : c.unit, + decimals: l.decimals, + }, + }, + }), + d = -1, + p = !0, + h = !1, + m = void 0; + try { + for ( + var g, b = e[Symbol.iterator](); + !(p = (g = b.next()).done); + p = !0 + ) { + var v = g.value, + y = Object(a.getTimeField)(v).timeField; + if (y) { + var w = !0, + O = !1, + x = void 0; + try { + for ( + var k, j = v.fields[Symbol.iterator](); + !(w = (k = j.next()).done); + w = !0 + ) { + var S = k.value; + if (S.type === a.FieldType.number) { + d++; + var E = Object(a.getFlotPairs)({ + xField: y, + yField: S, + nullValueMode: a.NullValueMode.Null, + }); + E.length > 0 && + (function () { + var e, + o = Object(a.reduceField)({ + field: S, + reducers: l.stats, + }), + c = void 0; + l.stats && + (c = l.stats.map(function (e) { + return i({}, f(o[e]), { title: e }); + })); + var p = void 0; + (p = + n[S.name] && n[S.name].color + ? { + mode: a.FieldColorMode.Fixed, + fixedColor: n[S.name].color, + } + : S.config && S.config.color + ? S.config.color + : { + mode: a.FieldColorMode.Fixed, + fixedColor: + r.colors[u.length % r.colors.length], + }), + (S.config = i( + {}, + S.config, + s + ? { + unit: s.defaults.unit, + decimals: s.defaults.decimals, + color: p, + } + : { color: p } + )), + (S.display = Object(a.getDisplayProcessor)({ + field: S, + })); + var h = Object(a.getSeriesTimeStep)(y), + m = Object(a.hasMsResolution)(y); + (y.display = Object(a.getDisplayProcessor)({ + timeZone: t, + field: i({}, y, { + type: y.type, + config: { + unit: "time:".concat( + m + ? a.MS_DATE_TIME_FORMAT + : a.DEFAULT_DATE_TIME_FORMAT + ), + }, + }), + })), + u.push({ + label: S.name, + data: E, + color: + null === (e = S.config.color) || void 0 === e + ? void 0 + : e.fixedColor, + info: c, + isVisible: !0, + yAxis: { + index: (n[S.name] && n[S.name].yAxis) || 1, + }, + seriesIndex: d, + timeField: i({}, y), + valueField: i({}, S), + timeStep: h, + }); + })(); + } + } + } catch (e) { + (O = !0), (x = e); + } finally { + try { + w || null == j.return || j.return(); + } finally { + if (O) throw x; + } + } + } + } + } catch (e) { + (h = !0), (m = e); + } finally { + try { + p || null == b.return || b.return(); + } finally { + if (h) throw m; + } + } + return u; + }; + }, + "6V0m": function (e, t) { + var n = "public/app/features/templating/partials/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-controller=VariableEditorCtrl ng-init=init()>\n <div class=page-action-bar>\n <h3 class=dashboard-settings__header>\n <a ng-click="setMode(\'list\')" aria-label={{::selectors.headerLink}}>Variables</a>\n <span ng-show="mode === \'new\'"><i class="fa fa-fw fa-chevron-right" aria-label={{::selectors.modeLabelNew}}></i> New</span>\n <span ng-show="mode === \'edit\'"><i class="fa fa-fw fa-chevron-right" aria-label={{::selectors.modeLabelEdit}}></i> Edit</span>\n </h3>\n\n <div class=page-action-bar__spacer></div>\n <a type=button class="btn btn-primary" ng-click="setMode(\'new\');" ng-if="variables.length > 0" ng-hide="mode === \'edit\' || mode === \'new\'" aria-label={{::selectors.newButton}}>\n New\n </a>\n </div>\n\n <div ng-if="mode === \'list\'">\n <div ng-if="variables.length === 0">\n <empty-list-cta on-click=setNewMode title=emptyListCta.title infobox=emptyListCta.infoBox infoboxtitle=emptyListCta.infoBoxTitle buttontitle=emptyListCta.buttonTitle buttonicon=emptyListCta.buttonIcon />\n </div>\n\n <div ng-if=variables.length>\n <table class="filter-table filter-table--hover" aria-label={{::selectors.table}}>\n <thead>\n <tr>\n <th>Variable</th>\n <th>Definition</th>\n <th colspan=5></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="variable in variables">\n <td style=width:1%>\n <span ng-click=edit(variable) class="pointer template-variable" aria-label={{::selectors.tableRowNameFields(variable.name)}}>\n ${{ variable.name }}\n </span>\n </td>\n <td style=max-width:200px ng-click=edit(variable) class="pointer max-width" aria-label={{::selectors.tableRowDefinitionFields(variable.name)}}>\n {{ variable.definition ? variable.definition : variable.query }}\n </td>\n <td style=width:1%>\n <i ng-click=_.move(variables,$index,$index-1) ng-hide=$first class="pointer fa fa-arrow-up" aria-label={{::selectors.tableRowArrowUpButtons(variable.name)}}></i>\n </td>\n <td style=width:1%>\n <i ng-click=_.move(variables,$index,$index+1) ng-hide=$last class="pointer fa fa-arrow-down" aria-label={{::selectors.tableRowArrowDownButtons(variable.name)}}></i>\n </td>\n <td style=width:1%>\n <a ng-click=duplicate(variable) class="btn btn-inverse btn-small" aria-label={{::selectors.tableRowDuplicateButtons(variable.name)}}>\n Duplicate\n </a>\n </td>\n <td style=width:1%>\n <a ng-click=removeVariable(variable) class="btn btn-danger btn-small" aria-label={{::selectors.tableRowRemoveButtons(variable.name)}}>\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n\n <form ng-if="mode === \'edit\' || mode === \'new\'" name=ctrl.form aria-label="Variable editor Form">\n <h5 class=section-heading>General</h5>\n <div class=gf-form-group>\n <div class=gf-form-inline>\n <div class="gf-form max-width-19">\n <span class="gf-form-label width-6">Name</span>\n <input type=text class=gf-form-input name=name placeholder=name ng-model=current.name required ng-pattern=namePattern aria-label={{::selectors.generalNameInput}} />\n </div>\n <div class="gf-form max-width-19">\n <span class="gf-form-label width-6">\n Type\n <info-popover mode=right-normal>\n {{ variableTypes[current.type].description }}\n </info-popover>\n </span>\n <div class="gf-form-select-wrapper max-width-17">\n <select class=gf-form-input ng-model=current.type ng-options="k as v.name for (k, v) in variableTypes" ng-change=typeChanged() aria-label={{::selectors.generalTypeSelect}}></select>\n </div>\n </div>\n </div>\n\n <div class=gf-form ng-show=ctrl.form.name.$error.pattern>\n <span class="gf-form-label gf-form-label--error">Template names cannot begin with \'__\', that\'s reserved for Grafana\'s global variables</span>\n </div>\n\n <div class=gf-form-inline>\n <div class="gf-form max-width-19">\n <span class="gf-form-label width-6">Label</span>\n <input type=text class=gf-form-input ng-model=current.label placeholder="optional display name" aria-label={{::selectors.generalLabelInput}} />\n </div>\n <div class="gf-form max-width-19">\n <span class="gf-form-label width-6">Hide</span>\n <div class="gf-form-select-wrapper max-width-15">\n <select class=gf-form-input ng-model=current.hide ng-options="f.value as f.text for f in hideOptions" aria-label={{::selectors.generalHideSelect}}></select>\n </div>\n </div>\n </div>\n </div>\n\n <div ng-if="current.type === \'interval\'" class=gf-form-group>\n <h5 class=section-heading>Interval Options</h5>\n\n <div class=gf-form>\n <span class="gf-form-label width-9">Values</span>\n <input type=text class=gf-form-input ng-model=current.query placeholder=1m,10m,1h,6h,1d,7d ng-model-onblur ng-change=runQuery() required aria-label="Variable editor Form Interval Query field"/>\n </div>\n\n <div class=gf-form-inline>\n <gf-form-switch class=gf-form label="Auto Option" label-class=width-9 checked=current.auto on-change=runQuery() aria-label="Variable editor Form Interval AutoOption switch">\n </gf-form-switch>\n\n <div class=gf-form>\n <span class="gf-form-label width-9" ng-show=current.auto>\n Step count <tip>How many times should the current time range be divided to calculate the value</tip>\n </span>\n <div class="gf-form-select-wrapper max-width-10" ng-show=current.auto>\n <select class=gf-form-input ng-model=current.auto_count ng-options="f for f in [1,2,3,4,5,10,20,30,40,50,100,200,300,400,500]" ng-change=runQuery() aria-label="Variable editor Form Interval AutoCount select"></select>\n </div>\n </div>\n <div class=gf-form>\n <span class=gf-form-label ng-show=current.auto>\n Min interval <tip>The calculated value will not go below this threshold</tip>\n </span>\n <input type=text class="gf-form-input max-width-10" ng-show=current.auto ng-model=current.auto_min ng-change=runQuery() placeholder=10s aria-label="Variable editor Form Interval AutoMin field"/>\n </div>\n </div>\n </div>\n\n <div ng-if="current.type === \'custom\'" class=gf-form-group>\n <h5 class=section-heading>Custom Options</h5>\n <div class=gf-form>\n <span class="gf-form-label width-14">Values separated by comma</span>\n <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="1, 10, 20, myvalue, escaped\\,value" required aria-label="Variable editor Form Custom Query field"/>\n </div>\n </div>\n\n <div ng-if="current.type === \'constant\'" class=gf-form-group>\n <h5 class=section-heading>Constant options</h5>\n <div class=gf-form>\n <span class=gf-form-label>Value</span>\n <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="your metric prefix" aria-label={{::selectors.constantOptionsQueryInput}} />\n </div>\n </div>\n\n <div ng-if="current.type === \'textbox\'" class=gf-form-group>\n <h5 class=section-heading>Text options</h5>\n <div class=gf-form>\n <span class=gf-form-label>Default value</span>\n <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="default value, if any" aria-label="Variable editor Form TextBox Query field"/>\n </div>\n </div>\n\n <div ng-if="current.type === \'query\'" class=gf-form-group>\n <h5 class=section-heading>Query Options</h5>\n\n <div class=gf-form-inline>\n <div class="gf-form max-width-21">\n <span class="gf-form-label width-10">Data source</span>\n <div class="gf-form-select-wrapper max-width-14">\n <select class=gf-form-input ng-model=current.datasource ng-options="f.value as f.name for f in datasources" ng-change=datasourceChanged() required aria-label={{::selectors.queryOptionsDataSourceSelect}}>\n <option value="" ng-if=false></option>\n </select>\n </div>\n </div>\n\n <div class="gf-form max-width-22">\n <span class="gf-form-label width-10">\n Refresh\n <info-popover mode=right-normal>\n When to update the values of this variable.\n </info-popover>\n </span>\n <div class="gf-form-select-wrapper width-15">\n <select class=gf-form-input ng-model=current.refresh ng-options="f.value as f.text for f in refreshOptions" aria-label={{::selectors.queryOptionsRefreshSelect}}></select>\n </div>\n </div>\n </div>\n\n <rebuild-on-change property=currentDatasource>\n <variable-query-editor-loader> </variable-query-editor-loader>\n </rebuild-on-change>\n\n <div class=gf-form>\n <span class="gf-form-label width-10">\n Regex\n <info-popover mode=right-normal>\n Optional, if you want to extract part of a series name or metric node segment.\n </info-popover>\n </span>\n <input type=text class=gf-form-input ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() aria-label={{::selectors.queryOptionsRegExInput}} />\n </div>\n <div class="gf-form max-width-21">\n <span class="gf-form-label width-10">\n Sort\n <info-popover mode=right-normal>\n How to sort the values of this variable.\n </info-popover>\n </span>\n <div class="gf-form-select-wrapper max-width-14">\n <select class=gf-form-input ng-model=current.sort ng-options="f.value as f.text for f in sortOptions" ng-change=runQuery() aria-label={{::selectors.queryOptionsSortSelect}}></select>\n </div>\n </div>\n </div>\n\n <div ng-show="current.type === \'datasource\'" class=gf-form-group>\n <h5 class=section-heading>Data source options</h5>\n\n <div class=gf-form>\n <label class="gf-form-label width-12">Type</label>\n <div class="gf-form-select-wrapper max-width-18">\n <select class=gf-form-input ng-model=current.query ng-options="f.value as f.text for f in datasourceTypes" ng-change=runQuery() aria-label="Variable editor Form DataSource Query field"></select>\n </div>\n </div>\n\n <div class=gf-form>\n <label class="gf-form-label width-12">\n Instance name filter\n <info-popover mode=right-normal>\n Regex filter for which data source instances to choose from in the variable value dropdown. Leave empty for\n all.\n <br/><br/>\n Example: <code>/^prod/</code>\n </info-popover>\n </label>\n <input type=text class="gf-form-input max-width-18" ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() aria-label="Variable editor Form DataSource RegEx field"/>\n </div>\n </div>\n\n <div ng-if="current.type === \'adhoc\'" class=gf-form-group>\n <h5 class=section-heading>Options</h5>\n <div class="gf-form max-width-21">\n <span class="gf-form-label width-8">Data source</span>\n <div class="gf-form-select-wrapper max-width-14">\n <select class=gf-form-input ng-model=current.datasource ng-options="f.value as f.name for f in datasources" required ng-change=validate() aria-label="Variable editor Form AdHoc DataSource select">\n <option value="" ng-if=false></option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group" ng-show=variableTypes[current.type].supportsMulti>\n <h5 class=section-heading>Selection Options</h5>\n <div class=section>\n <gf-form-switch class=gf-form label=Multi-value label-class=width-10 tooltip="Enables multiple values to be selected at the same time" checked=current.multi on-change=runQuery() aria-label={{::selectors.selectionOptionsMultiSwitch}}>\n </gf-form-switch>\n <gf-form-switch class=gf-form label="Include All option" label-class=width-10 checked=current.includeAll on-change=runQuery() aria-label={{::selectors.selectionOptionsIncludeAllSwitch}}>\n </gf-form-switch>\n </div>\n <div class=gf-form ng-if=current.includeAll>\n <span class="gf-form-label width-10">Custom all value</span>\n <input type=text class="gf-form-input max-width-15" ng-model=current.allValue placeholder="blank = auto" aria-label={{::selectors.selectionOptionsCustomAllInput}} />\n </div>\n </div>\n\n <div class=gf-form-group ng-if="current.type === \'query\'">\n <h5>Value groups/tags (Experimental feature)</h5>\n <gf-form-switch class=gf-form label=Enabled label-class=width-10 checked=current.useTags on-change=runQuery() aria-label={{::selectors.valueGroupsTagsEnabledSwitch}}>\n </gf-form-switch>\n <div class="gf-form last" ng-if=current.useTags>\n <span class="gf-form-label width-10">Tags query</span>\n <input type=text class=gf-form-input ng-model=current.tagsQuery placeholder="metric name or tags query" ng-model-onblur aria-label={{::selectors.valueGroupsTagsTagsQueryInput}} />\n </div>\n <div class=gf-form ng-if=current.useTags>\n <li class="gf-form-label width-10">Tag values query</li>\n <input type=text class=gf-form-input ng-model=current.tagValuesQuery placeholder=apps.$tag.* ng-model-onblur aria-label={{::selectors.valueGroupsTagsTagsValuesQueryInput}} />\n </div>\n </div>\n\n <div class=gf-form-group ng-show=current.options.length>\n <h5>Preview of values</h5>\n <div class=gf-form-inline>\n <div class=gf-form ng-repeat="option in current.options | limitTo: optionsLimit">\n <span class=gf-form-label aria-label={{::selectors.previewOfValuesOption}}>{{ option.text }}</span>\n </div>\n <div class=gf-form ng-if="current.options.length > optionsLimit">\n <a class="gf-form-label btn-secondary" ng-click=showMoreOptions() aria-label="Variable editor Preview of Values Show More link">\n Show more\n </a>\n </div>\n </div>\n </div>\n\n <div class="alert alert-info gf-form-group" ng-if=infoText aria-label="Variable editor Form Alert">\n {{ infoText }}\n </div>\n\n <div class="gf-form-button-row p-y-0">\n <button type=submit class="btn btn-primary" ng-show="mode === \'edit\'" ng-click=update(); aria-label={{::selectors.updateButton}}>\n Update\n </button>\n <button type=submit class="btn btn-primary" ng-show="mode === \'new\'" ng-click=add(); aria-label={{::selectors.addButton}}>\n Add\n </button>\n </div>\n </form>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "6WZ+": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return s; + }), + n.d(t, "b", function () { + return u; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("fL47"); + function l(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var s = "New dashboard", + c = function (e) { + var t = e.getSaveModelClone(); + return ( + (t.id = null), + (t.uid = ""), + (t.title += " Copy"), + (t.editable = !0), + (t.hideControls = !1), + e.id > 0 && + t.panels.forEach(function (e) { + "graph" === e.type && e.alert && delete e.thresholds, + delete e.alert; + }), + delete t.autoUpdate, + t + ); + }, + u = function (e) { + var t = e.dashboard, + n = e.onSubmit, + r = e.onCancel, + s = e.onSuccess, + u = { + title: "".concat(t.title, " Copy"), + $folder: { id: t.meta.folderId, title: t.meta.folderTitle }, + copyTags: !1, + }; + return a.a.createElement( + o.Forms.Form, + { + defaultValues: u, + onSubmit: (function () { + var e, + r = + ((e = regeneratorRuntime.mark(function e(r) { + var a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + ((a = c(t)).title = r.title), + r.copyTags || (a.tags = []), + (e.next = 5), + n(a, { folderId: r.$folder.id }, t) + ); + case 5: + "success" === e.sent.status && s(); + case 7: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + l(o, r, a, i, s, "next", e); + } + function s(e) { + l(o, r, a, i, s, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return r.apply(this, arguments); + }; + })(), + }, + function (e) { + var n = e.register, + l = e.control, + s = e.errors; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + o.Forms.Field, + { + label: "Dashboard name", + invalid: !!s.title, + error: "Dashboard name is required", + }, + a.a.createElement(o.Forms.Input, { + name: "title", + ref: n({ required: !0 }), + "aria-label": "Save dashboard title field", + autoFocus: !0, + }) + ), + a.a.createElement( + o.Forms.Field, + { label: "Folder" }, + a.a.createElement(o.Forms.InputControl, { + as: i.a, + control: l, + name: "$folder", + dashboardId: t.id, + initialFolderId: t.meta.folderId, + initialTitle: t.meta.folderTitle, + enableCreateNew: !0, + useNewForms: !0, + }) + ), + a.a.createElement( + o.Forms.Field, + { label: "Copy tags" }, + a.a.createElement(o.Forms.Switch, { + name: "copyTags", + ref: n, + }) + ), + a.a.createElement( + o.HorizontalGroup, + null, + a.a.createElement( + o.Button, + { type: "submit", "aria-label": "Save dashboard button" }, + "Save" + ), + a.a.createElement( + o.Forms.Button, + { variant: "secondary", onClick: r }, + "Cancel" + ) + ) + ); + } + ); + }; + }, + "6edu": function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e[(e.ValueToText = 1)] = "ValueToText"), + (e[(e.RangeToText = 2)] = "RangeToText"); + })(r || (r = {})); + }, + "6iRR": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("4Qg+"), + l = n("MIBK"), + s = n("Vt59"); + function c(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var u = function () { + var e = c(Object(r.useState)(null), 2), + t = e[0], + n = e[1]; + return [ + t, + Object(r.useCallback)(function (e) { + null !== e && n(e.getBoundingClientRect()); + }, []), + ]; + }; + function f() { + return (f = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function d(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function p(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function h() { + var e = k([ + "\n & + * {\n margin-left: ", + ";\n }\n ", + ]); + return ( + (h = function () { + return e; + }), + e + ); + } + function m() { + var e = k([ + "\n label: input-suffix;\n padding-right: ", + ";\n padding-left: ", + ";\n border-left: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n right: 0;\n ", + ]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g() { + var e = k([ + "\n label: input-prefix;\n padding-left: ", + ";\n padding-right: ", + ";\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n ", + ]); + return ( + (g = function () { + return e; + }), + e + ); + } + function b() { + var e = k([ + "\n label: input-addon;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-grow: 0;\n flex-shrink: 0;\n position: relative;\n\n &:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n > :last-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n > :first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n > *:focus {\n /* we want anything that has focus and is an addon to be above input */\n z-index: 2;\n }\n ", + ]); + return ( + (b = function () { + return e; + }), + e + ); + } + function v() { + var e = k([ + "\n background-color: ", + ";\n color: ", + ";\n ", + ]); + return ( + (v = function () { + return e; + }), + e + ); + } + function y() { + var e = k([ + "\n label: input-input;\n position: relative;\n z-index: 0;\n flex-grow: 1;\n border-radius: ", + ";\n height: 100%;\n width: 100%;\n ", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w() { + var e = k([ + "\n label: input-inputWrapper;\n position: relative;\n flex-grow: 1;\n /* we want input to be above addons, especially for focused state */\n z-index: 1;\n\n /* when input rendered with addon before only*/\n &:not(:first-child):last-child {\n > input {\n border-left: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n\n /* when input rendered with addon after only*/\n &:first-child:not(:last-child) {\n > input {\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n\n /* when rendered with addon before and after */\n &:not(:first-child):not(:last-child) {\n > input {\n border-right: none;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n\n input {\n /* paddings specified for classes used outside React component */\n &:not(:first-child) {\n padding-left: ", + ";\n }\n &:not(:last-child) {\n padding-right: ", + ";\n }\n &[readonly] {\n cursor: default;\n }\n }\n ", + ]); + return ( + (w = function () { + return e; + }), + e + ); + } + function O() { + var e = k([ + "\n label: input-wrapper;\n display: flex;\n width: 100%;\n height: ", + ";\n border-radius: ", + ";\n &:hover {\n > .prefix,\n .suffix,\n .input {\n border-color: ", + ";\n }\n\n // only show number buttons on hover\n input[type='number'] {\n -moz-appearance: number-input;\n -webkit-appearance: number-input;\n appearance: textfield;\n }\n\n input[type='number']::-webkit-inner-spin-button,\n input[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: inner-spin-button !important;\n opacity: 1;\n }\n }\n ", + ]); + return ( + (O = function () { + return e; + }), + e + ); + } + function x() { + var e = k([ + "\n position: absolute;\n top: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 0;\n flex-shrink: 0;\n font-size: ", + ";\n height: 100%;\n /* Min width specified for prefix/suffix classes used outside React component*/\n min-width: ", + ";\n ", + ]); + return ( + (x = function () { + return e; + }), + e + ); + } + function k(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + n.d(t, "b", function () { + return j; + }), + n.d(t, "a", function () { + return S; + }); + var j = Object(l.g)(function (e) { + var t = e.theme, + n = e.invalid, + r = void 0 !== n && n, + a = t.colors, + l = t.border.radius.sm, + s = t.spacing.formInputHeight, + c = Object(o.css)(x(), t.typography.size.md, "28px"); + return { + wrapper: Object(o.cx)( + Object(o.css)(O(), s, l, r ? a.redBase : a.formInputBorder) + ), + inputWrapper: Object(o.css)(w(), "28px", "28px"), + input: Object(o.cx)( + Object(i.b)(t), + Object(i.f)(t, r), + Object(o.css)(y(), l) + ), + inputDisabled: Object(o.css)( + v(), + a.formInputBgDisabled, + a.formInputDisabledText + ), + addon: Object(o.css)(b()), + prefix: Object(o.cx)( + c, + Object(o.css)(g(), t.spacing.sm, t.spacing.xs) + ), + suffix: Object(o.cx)( + c, + Object(o.css)(m(), t.spacing.sm, t.spacing.xs) + ), + loadingIndicator: Object(o.css)(h(), t.spacing.xs), + }; + }), + S = a.a.forwardRef(function (e, t) { + var n = e.addonAfter, + r = e.addonBefore, + c = e.prefix, + h = e.suffix, + m = e.invalid, + g = e.loading, + b = e.size, + v = void 0 === b ? "auto" : b, + y = p(e, [ + "addonAfter", + "addonBefore", + "prefix", + "suffix", + "invalid", + "loading", + "size", + ]), + w = d(u(), 2), + O = w[0], + x = w[1], + k = d(u(), 2), + S = k[0], + E = k[1], + C = Object(l.h)(), + P = j({ theme: C, invalid: !!m }); + return a.a.createElement( + "div", + { className: Object(o.cx)(P.wrapper, Object(i.d)()[v]) }, + !!r && a.a.createElement("div", { className: P.addon }, r), + a.a.createElement( + "div", + { className: P.inputWrapper }, + c && a.a.createElement("div", { className: P.prefix, ref: x }, c), + a.a.createElement( + "input", + f({ ref: t, className: P.input }, y, { + style: { + paddingLeft: O ? O.width : void 0, + paddingRight: S ? S.width : void 0, + }, + }) + ), + (h || g) && + a.a.createElement( + "div", + { className: P.suffix, ref: E }, + g && + a.a.createElement(s.a, { + name: "spinner", + className: Object(o.cx)("fa-spin", P.loadingIndicator), + }), + h + ) + ), + !!n && a.a.createElement("div", { className: P.addon }, n) + ); + }); + }, + "6rcN": function (e, t) { + var n = "public/app/features/admin/partials/styleguide.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n\t<h3 class=page-heading>Buttons</h3>\n\n\t<div class=tab-pane>\n\t\t<div ng-repeat="variant in ctrl.buttonVariants" class=row>\n\t\t\t<div ng-repeat="btnSize in ctrl.buttonSizes" class="style-guide-button-list p-a-2 col-md-4">\n\t\t\t\t<button ng-repeat="buttonName in ctrl.buttonNames" class="btn btn{{variant}}{{buttonName}} {{btnSize}}">\n\t\t\t\t\tbtn{{variant}}{{buttonName}}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h3 class=page-heading>Forms</h3>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Label</label>\n\t\t\t<input type=text class=gf-form-input />\n\t\t</div>\n\t</div>\n\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + "7Nqv": function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "b", function () { + return o; + }), + n.d(t, "a", function () { + return i; + }), + n.d(t, "c", function () { + return l; + }), + n.d(t, "d", function () { + return s; + }), + n.d(t, "e", function () { + return c; + }), + (function (e) { + (e.METRIC_KIND_UNSPECIFIED = "METRIC_KIND_UNSPECIFIED"), + (e.GAUGE = "GAUGE"), + (e.DELTA = "DELTA"), + (e.CUMULATIVE = "CUMULATIVE"); + })(r || (r = {})), + (function (e) { + (e.VALUE_TYPE_UNSPECIFIED = "VALUE_TYPE_UNSPECIFIED"), + (e.BOOL = "BOOL"), + (e.INT64 = "INT64"), + (e.DOUBLE = "DOUBLE"), + (e.STRING = "STRING"), + (e.DISTRIBUTION = "DISTRIBUTION"), + (e.MONEY = "MONEY"); + })(a || (a = {})); + var o = [ + { + text: "delta", + value: "ALIGN_DELTA", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.CUMULATIVE, r.DELTA], + }, + { + text: "rate", + value: "ALIGN_RATE", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.CUMULATIVE, r.DELTA], + }, + { + text: "interpolate", + value: "ALIGN_INTERPOLATE", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE], + }, + { + text: "next older", + value: "ALIGN_NEXT_OLDER", + valueTypes: [ + a.INT64, + a.DOUBLE, + a.MONEY, + a.DISTRIBUTION, + a.STRING, + a.VALUE_TYPE_UNSPECIFIED, + a.BOOL, + ], + metricKinds: [r.GAUGE], + }, + { + text: "min", + value: "ALIGN_MIN", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "max", + value: "ALIGN_MAX", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "mean", + value: "ALIGN_MEAN", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "count", + value: "ALIGN_COUNT", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.BOOL], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "sum", + value: "ALIGN_SUM", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "stddev", + value: "ALIGN_STDDEV", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "count true", + value: "ALIGN_COUNT_TRUE", + valueTypes: [a.BOOL], + metricKinds: [r.GAUGE], + }, + { + text: "count false", + value: "ALIGN_COUNT_FALSE", + valueTypes: [a.BOOL], + metricKinds: [r.GAUGE], + }, + { + text: "fraction true", + value: "ALIGN_FRACTION_TRUE", + valueTypes: [a.BOOL], + metricKinds: [r.GAUGE], + }, + { + text: "percentile 99", + value: "ALIGN_PERCENTILE_99", + valueTypes: [a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "percentile 95", + value: "ALIGN_PERCENTILE_95", + valueTypes: [a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "percentile 50", + value: "ALIGN_PERCENTILE_50", + valueTypes: [a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "percentile 05", + value: "ALIGN_PERCENTILE_05", + valueTypes: [a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "percent change", + value: "ALIGN_PERCENT_CHANGE", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [r.GAUGE, r.DELTA], + }, + ], + i = [ + { + text: "none", + value: "REDUCE_NONE", + valueTypes: [ + a.INT64, + a.DOUBLE, + a.MONEY, + a.DISTRIBUTION, + a.BOOL, + a.STRING, + ], + metricKinds: [ + r.GAUGE, + r.DELTA, + r.CUMULATIVE, + r.METRIC_KIND_UNSPECIFIED, + ], + }, + { + text: "mean", + value: "REDUCE_MEAN", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "min", + value: "REDUCE_MIN", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [ + r.GAUGE, + r.DELTA, + r.CUMULATIVE, + r.METRIC_KIND_UNSPECIFIED, + ], + }, + { + text: "max", + value: "REDUCE_MAX", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY], + metricKinds: [ + r.GAUGE, + r.DELTA, + r.CUMULATIVE, + r.METRIC_KIND_UNSPECIFIED, + ], + }, + { + text: "sum", + value: "REDUCE_SUM", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [ + r.GAUGE, + r.DELTA, + r.CUMULATIVE, + r.METRIC_KIND_UNSPECIFIED, + ], + }, + { + text: "std. dev.", + value: "REDUCE_STDDEV", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [ + r.GAUGE, + r.DELTA, + r.CUMULATIVE, + r.METRIC_KIND_UNSPECIFIED, + ], + }, + { + text: "count", + value: "REDUCE_COUNT", + valueTypes: [ + a.INT64, + a.DOUBLE, + a.MONEY, + a.DISTRIBUTION, + a.BOOL, + a.STRING, + ], + metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE], + }, + { + text: "count true", + value: "REDUCE_COUNT_TRUE", + valueTypes: [a.BOOL], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "count false", + value: "REDUCE_COUNT_FALSE", + valueTypes: [a.BOOL], + metricKinds: [r.GAUGE, r.DELTA], + }, + { + text: "99th percentile", + value: "REDUCE_PERCENTILE_99", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE], + }, + { + text: "95th percentile", + value: "REDUCE_PERCENTILE_95", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE], + }, + { + text: "50th percentile", + value: "REDUCE_PERCENTILE_50", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE], + }, + { + text: "5th percentile", + value: "REDUCE_PERCENTILE_05", + valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION], + metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE], + }, + ], + l = [ + { text: "grafana auto", value: "grafana-auto" }, + { text: "stackdriver auto", value: "stackdriver-auto" }, + { text: "1m", value: "+60s" }, + { text: "2m", value: "+120s" }, + { text: "5m", value: "+300s" }, + { text: "10m", value: "+600s" }, + { text: "30m", value: "+1800s" }, + { text: "1h", value: "+3600s" }, + { text: "3h", value: "+7200s" }, + { text: "6h", value: "+21600s" }, + { text: "1d", value: "+86400s" }, + { text: "3d", value: "+259200s" }, + { text: "1w", value: "+604800s" }, + ], + s = { + bit: "bits", + By: "bytes", + s: "s", + min: "m", + h: "h", + d: "d", + us: "µs", + ms: "ms", + ns: "ns", + percent: "percent", + MiBy: "mbytes", + "By/s": "Bps", + GBy: "decgbytes", + }, + c = [ + "metadata.system_labels.cloud_account", + "metadata.system_labels.name", + "metadata.system_labels.region", + "metadata.system_labels.state", + "metadata.system_labels.instance_group", + "metadata.system_labels.node_name", + "metadata.system_labels.service_name", + "metadata.system_labels.top_level_controller_type", + "metadata.system_labels.top_level_controller_name", + "metadata.system_labels.container_image", + ]; + }, + "7dpV": function (e, t) { + var n = "public/app/plugins/panel/pluginlist/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Mode</span>\n\t\t\t<div class="gf-form-select-wrapper max-width-10">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options="f for f in ctrl.modes" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form ng-show="ctrl.panel.mode === \'recently viewed\'">\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class="grafana-tip fa fa-question-circle ng-scope" bs-tooltip="\'WARNING: This list will be cleared when clearing browser cache\'" data-original-title="" title=""></i>\n\t\t\t</span>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.panel.mode === \'search\'">\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Search options</span>\n\t\t\t<span class=gf-form-label>Query</span>\n\n\t\t\t<input type=text class=gf-form-input placeholder="title query" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Limit number to</span>\n\t\t\t<input class=gf-form-input type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n\t\t</div>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "7teh": function (e, t) { + var n = "public/app/partials/signup_invited.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<h3 class=page-sub-heading>Hello {{greeting}}.</h3>\n\n\t<div class="modal-tagline p-b-2">\n\t\t<em>{{invitedBy}}</em> has invited you to join Grafana and the organization <span class=highlight-word>{{contextSrv.user.orgName}}</span><br>Please complete the following and choose a password to accept your invitation and continue:\n\t</div>\n\n\t<form name=inviteForm class="login-form gf-form-group">\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Email</span>\n\t\t\t<input type=email name=email class="gf-form-input max-width-21" required ng-model=formModel.email placeholder=Email>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Name</span>\n\t\t\t<input type=text name=name class="gf-form-input max-width-21" ng-model=formModel.name placeholder="Name (optional)">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Username</span>\n\t\t\t<input type=text name=username class="gf-form-input max-width-21" required ng-model=formModel.username placeholder=Username>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Password</span>\n\t\t\t<input type=password name=password class="gf-form-input max-width-21" required ng-model=formModel.password id=inputPassword placeholder=password>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary" ng-click=submit(); ng-disable=!inviteForm.$valid>\n\t\t\t\tSign Up\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + "7wpZ": function (e, t) { + var n = + "public/app/plugins/datasource/stackdriver/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n <stackdriver-query-editor target=ctrl.target events=ctrl.panelCtrl.events datasource=ctrl.datasource template-srv=ctrl.templateSrv on-query-change=(ctrl.onQueryChange) on-execute-query=(ctrl.onExecuteQuery)></stackdriver-query-editor>\n</query-editor-row>\n" + ); + }, + ]), + (e.exports = n); + }, + "7ym3": function (e, t) { + var n = "public/app/plugins/datasource/mysql/partials/config.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<h3 class=page-heading>MySQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:3306 bs-typeahead="{{[\'localhost:3306\', \'localhost:3307\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n\t\t<div class=gf-form>\n <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label="TLS Client Auth" label-class=width-10 checked=ctrl.current.jsonData.tlsAuth switch-class=max-width-6></gf-form-checkbox>\n\t\t\t<gf-form-checkbox class=gf-form label="With CA Cert" tooltip="Needed for\n\t\t\t\tverifing self-signed TLS Certs" checked=ctrl.current.jsonData.tlsAuthWithCACert label-class=width-11 switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label="Skip TLS Verify" label-class=width-10 checked=ctrl.current.jsonData.tlsSkipVerify switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t</div>\n\n<datasource-tls-auth-settings current=ctrl.current ng-if="(ctrl.current.jsonData.tlsAuth || ctrl.current.jsonData.tlsAuthWithCACert)">\n</datasource-tls-auth-settings>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.<br/><br/>\n\t\t\tThis should always be lower than configured <a href=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout target=_blank>wait_timeout</a> in MySQL.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MySQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MySQL user with restricted permissions.\n\n\t\t\tCheckout the <a class=external-link target=_blank href=http://docs.grafana.org/features/datasources/mysql/ >MySQL Data Source Docs</a> for more information.\n\t\t</p>\n\t</div>\n</div>\n</div>' + ); + }, + ]), + (e.exports = n); + }, + "8//q": function (e, t, n) { + "use strict"; + var r = n("if1/"), + a = n("Obii"); + function o(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var u = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.fields = []), + (this.fieldByName = {}), + (this.fieldByType = {}), + (this.fields = t.fields.map(function (e, t) { + return l({}, e, { index: t }); + })); + for (var n = 0; n < t.fields.length; n++) { + var r = t.fields[n]; + if (r.type === a.FieldType.other) { + var o = Object(a.guessFieldTypeForField)(r); + o && (r.type = o); + } + this.fieldByType[r.type] || (this.fieldByType[r.type] = []), + this.fieldByType[r.type].push(l({}, r, { index: n })), + this.fieldByName[r.name] + ? console.warn("Duplicate field names in DataFrame: ", r.name) + : (this.fieldByName[r.name] = l({}, r, { index: n })); + } + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getFields", + value: function (e) { + if (!e) return o(this.fields); + var t = this.fieldByType[e]; + return t ? o(t) : []; + }, + }, + { + key: "hasFieldOfType", + value: function (e) { + var t = this.fieldByType[e]; + return t && t.length > 0; + }, + }, + { + key: "getFirstFieldOfType", + value: function (e) { + var t = this.fieldByType[e]; + if (t && t.length > 0) return t[0]; + }, + }, + { + key: "hasFieldNamed", + value: function (e) { + return !!this.fieldByName[e]; + }, + }, + { + key: "getFieldByName", + value: function (e) { + return this.fieldByName[e]; + }, + }, + ]) && c(t.prototype, n), + r && c(t, r), + e + ); + })(), + f = n("ir79"), + d = n("Rabt"); + function p(e) { + return (p = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function h(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function m(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function g(e, t) { + return !t || ("object" !== p(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function b(e) { + return (b = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function v(e, t) { + return (v = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var y = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + g( + this, + b(t).call(this, void 0, function (t) { + return new d.a( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? h(Object(n), !0).forEach(function (t) { + m(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : h(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { buffer: t }) + ); + }) + ) + ); + } + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && v(e, t); + })(t, e), + t + ); + })(f.b), + w = n("0v62"), + O = function (e, t) { + return { name: e, columns: t }; + }, + x = function (e) { + return e.columns; + }, + k = function (e, t) { + return e.columns[t]; + }, + j = function (e, t, n) { + return e.columns[t].values.get(n); + }, + S = function (e, t, n) { + return e.columns.map(function (e) { + return e.values.get(n); + }); + }, + E = function (e, t) { + return e[t]; + }, + C = n("JL5c"); + n.d(t, "b", function () { + return r.a; + }), + n.d(t, "c", function () { + return u; + }), + n.d(t, "a", function () { + return y; + }), + n.d(t, "d", function () { + return f.a; + }), + n.d(t, "e", function () { + return f.b; + }), + n.d(t, "r", function () { + return w.d; + }), + n.d(t, "q", function () { + return w.c; + }), + n.d(t, "s", function () { + return w.e; + }), + n.d(t, "u", function () { + return w.g; + }), + n.d(t, "t", function () { + return w.f; + }), + n.d(t, "y", function () { + return w.j; + }), + n.d(t, "A", function () { + return w.l; + }), + n.d(t, "x", function () { + return w.i; + }), + n.d(t, "w", function () { + return w.h; + }), + n.d(t, "n", function () { + return w.b; + }), + n.d(t, "l", function () { + return w.a; + }), + n.d(t, "z", function () { + return w.k; + }), + n.d(t, "h", function () { + return O; + }), + n.d(t, "k", function () { + return x; + }), + n.d(t, "j", function () { + return k; + }), + n.d(t, "o", function () { + return j; + }), + n.d(t, "i", function () { + return S; + }), + n.d(t, "m", function () { + return E; + }), + n.d(t, "g", function () { + return C.base64StringToArrowTable; + }), + n.d(t, "f", function () { + return C.arrowTableToDataFrame; + }), + n.d(t, "p", function () { + return C.grafanaDataFrameToArrowTable; + }), + n.d(t, "v", function () { + return C.resultsToDataFrames; + }); + }, + "85rF": function (e, t) { + !(function (e) { + (e.color = {}), + (e.color.make = function (t, n, r, a) { + var o = {}; + return ( + (o.r = t || 0), + (o.g = n || 0), + (o.b = r || 0), + (o.a = null != a ? a : 1), + (o.add = function (e, t) { + for (var n = 0; n < e.length; ++n) o[e.charAt(n)] += t; + return o.normalize(); + }), + (o.scale = function (e, t) { + for (var n = 0; n < e.length; ++n) o[e.charAt(n)] *= t; + return o.normalize(); + }), + (o.toString = function () { + return o.a >= 1 + ? "rgb(" + [o.r, o.g, o.b].join(",") + ")" + : "rgba(" + [o.r, o.g, o.b, o.a].join(",") + ")"; + }), + (o.normalize = function () { + function e(e, t, n) { + return t < e ? e : t > n ? n : t; + } + return ( + (o.r = e(0, parseInt(o.r), 255)), + (o.g = e(0, parseInt(o.g), 255)), + (o.b = e(0, parseInt(o.b), 255)), + (o.a = e(0, o.a, 1)), + o + ); + }), + (o.clone = function () { + return e.color.make(o.r, o.b, o.g, o.a); + }), + o.normalize() + ); + }), + (e.color.extract = function (t, n) { + var r; + do { + if ("" != (r = t.css(n).toLowerCase()) && "transparent" != r) + break; + t = t.parent(); + } while (t.length && !e.nodeName(t.get(0), "body")); + return ( + "rgba(0, 0, 0, 0)" == r && (r = "transparent"), e.color.parse(r) + ); + }), + (e.color.parse = function (n) { + var r, + a = e.color.make; + if ( + (r = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec( + n + )) + ) + return a( + parseInt(r[1], 10), + parseInt(r[2], 10), + parseInt(r[3], 10) + ); + if ( + (r = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec( + n + )) + ) + return a( + parseInt(r[1], 10), + parseInt(r[2], 10), + parseInt(r[3], 10), + parseFloat(r[4]) + ); + if ( + (r = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec( + n + )) + ) + return a( + 2.55 * parseFloat(r[1]), + 2.55 * parseFloat(r[2]), + 2.55 * parseFloat(r[3]) + ); + if ( + (r = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec( + n + )) + ) + return a( + 2.55 * parseFloat(r[1]), + 2.55 * parseFloat(r[2]), + 2.55 * parseFloat(r[3]), + parseFloat(r[4]) + ); + if ( + (r = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n)) + ) + return a( + parseInt(r[1], 16), + parseInt(r[2], 16), + parseInt(r[3], 16) + ); + if ((r = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n))) + return a( + parseInt(r[1] + r[1], 16), + parseInt(r[2] + r[2], 16), + parseInt(r[3] + r[3], 16) + ); + var o = e.trim(n).toLowerCase(); + return "transparent" == o + ? a(255, 255, 255, 0) + : a((r = t[o] || [0, 0, 0])[0], r[1], r[2]); + }); + var t = { + aqua: [0, 255, 255], + azure: [240, 255, 255], + beige: [245, 245, 220], + black: [0, 0, 0], + blue: [0, 0, 255], + brown: [165, 42, 42], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgrey: [169, 169, 169], + darkgreen: [0, 100, 0], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkviolet: [148, 0, 211], + fuchsia: [255, 0, 255], + gold: [255, 215, 0], + green: [0, 128, 0], + indigo: [75, 0, 130], + khaki: [240, 230, 140], + lightblue: [173, 216, 230], + lightcyan: [224, 255, 255], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + navy: [0, 0, 128], + olive: [128, 128, 0], + orange: [255, 165, 0], + pink: [255, 192, 203], + purple: [128, 0, 128], + violet: [128, 0, 128], + red: [255, 0, 0], + silver: [192, 192, 192], + white: [255, 255, 255], + yellow: [255, 255, 0], + }; + })(jQuery), + (function (e) { + var t = Object.prototype.hasOwnProperty; + function n(t, n) { + var r = n.children("." + t)[0]; + if ( + null == r && + (((r = document.createElement("canvas")).className = t), + e(r) + .css({ + direction: "ltr", + position: "absolute", + left: 0, + top: 0, + }) + .appendTo(n), + !r.getContext) + ) { + if (!window.G_vmlCanvasManager) + throw new Error( + "Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode." + ); + r = window.G_vmlCanvasManager.initElement(r); + } + this.element = r; + var a = (this.context = r.getContext("2d")), + o = window.devicePixelRatio || 1, + i = + a.webkitBackingStorePixelRatio || + a.mozBackingStorePixelRatio || + a.msBackingStorePixelRatio || + a.oBackingStorePixelRatio || + a.backingStorePixelRatio || + 1; + (this.pixelRatio = o / i), + this.resize(n.width(), n.height()), + (this.textContainer = null), + (this.text = {}), + (this._textCache = {}), + (this._textSizeCache = window.flotTextSizeCache = + window.flotTextSizeCache || {}); + } + function r(t, r, a, o) { + var i = [], + l = { + colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"], + legend: { + show: !0, + noColumns: 1, + labelFormatter: null, + labelBoxBorderColor: "#ccc", + container: null, + position: "ne", + margin: 5, + backgroundColor: null, + backgroundOpacity: 0.85, + sorted: null, + }, + xaxis: { + show: null, + position: "bottom", + mode: null, + font: null, + color: null, + tickColor: null, + transform: null, + inverseTransform: null, + min: null, + max: null, + autoscaleMargin: null, + ticks: null, + tickFormatter: null, + labelWidth: null, + labelHeight: null, + reserveSpace: null, + tickLength: null, + alignTicksWithAxis: null, + tickDecimals: null, + tickSize: null, + minTickSize: null, + }, + yaxis: { autoscaleMargin: 0.02, position: "left" }, + xaxes: [], + yaxes: [], + series: { + points: { + show: !1, + radius: 3, + lineWidth: 2, + fill: !0, + fillColor: "#ffffff", + symbol: "circle", + }, + lines: { lineWidth: 2, fill: !1, fillColor: null, steps: !1 }, + bars: { + show: !1, + lineWidth: 2, + barWidth: 1, + fill: !0, + fillColor: null, + align: "left", + horizontal: !1, + zero: !0, + }, + shadowSize: 3, + highlightColor: null, + }, + grid: { + show: !0, + aboveData: !1, + color: "#545454", + backgroundColor: null, + borderColor: null, + tickColor: null, + margin: 0, + labelMargin: 5, + eventSectionHeight: 0, + axisMargin: 8, + borderWidth: 2, + minBorderMargin: null, + markings: null, + markingsColor: "#f4f4f4", + markingsLineWidth: 2, + clickable: !1, + hoverable: !1, + autoHighlight: !0, + mouseActiveRadius: 10, + }, + interaction: { redrawOverlayInterval: 1e3 / 60 }, + hooks: {}, + }, + s = null, + c = null, + u = null, + f = null, + d = null, + p = [], + h = [], + m = { left: 0, right: 0, top: 0, bottom: 0 }, + g = 0, + b = 0, + v = { + processOptions: [], + processRawData: [], + processDatapoints: [], + processOffset: [], + processRange: [], + drawBackground: [], + drawSeries: [], + draw: [], + bindEvents: [], + drawOverlay: [], + shutdown: [], + }, + y = this; + function w(e, t) { + t = [y].concat(t); + for (var n = 0; n < e.length; ++n) e[n].apply(this, t); + } + function O(t) { + (i = (function (t) { + for (var n = [], r = 0; r < t.length; ++r) { + var a = e.extend(!0, {}, l.series); + null != t[r].data + ? ((a.data = t[r].data), + delete t[r].data, + e.extend(!0, a, t[r]), + (t[r].data = a.data)) + : (a.data = t[r]), + n.push(a); + } + return n; + })(t)), + (function () { + var t, + n = i.length, + r = -1; + for (t = 0; t < i.length; ++t) { + var a = i[t].color; + null != a && + (n--, "number" == typeof a && a > r && (r = a)); + } + n <= r && (n = r + 1); + var o, + s = [], + c = l.colors, + u = c.length, + f = 0; + for (t = 0; t < n; t++) + (o = e.color.parse(c[t % u] || "#666")), + t % u == 0 && + t && + (f = f >= 0 ? (f < 0.5 ? -f - 0.2 : 0) : -f), + (s[t] = o.scale("rgb", 1 + f)); + var d, + m = 0; + for (t = 0; t < i.length; ++t) { + if ( + (null == (d = i[t]).color + ? ((d.color = s[m].toString()), ++m) + : "number" == typeof d.color && + (d.color = s[d.color].toString()), + null == d.lines.show) + ) { + var g, + b = !0; + for (g in d) + if (d[g] && d[g].show) { + b = !1; + break; + } + b && (d.lines.show = !0); + } + null == d.lines.zero && (d.lines.zero = !!d.lines.fill), + (d.xaxis = S(p, x(d, "x"))), + (d.yaxis = S(h, x(d, "y"))); + } + })(), + (function () { + var t, + n, + r, + a, + o, + l, + s, + c, + u, + f, + d, + p, + h = Number.POSITIVE_INFINITY, + m = Number.NEGATIVE_INFINITY, + g = Number.MAX_VALUE; + function b(e, t, n) { + t < e.datamin && t != -g && (e.datamin = t), + n > e.datamax && n != g && (e.datamax = n); + } + for ( + e.each(k(), function (e, t) { + (t.datamin = h), (t.datamax = m), (t.used = !1); + }), + t = 0; + t < i.length; + ++t + ) + ((o = i[t]).datapoints = { points: [] }), + w(v.processRawData, [o, o.data, o.datapoints]); + for (t = 0; t < i.length; ++t) { + if ( + ((o = i[t]), (d = o.data), !(p = o.datapoints.format)) + ) { + if ( + ((p = []).push({ x: !0, number: !0, required: !0 }), + p.push({ y: !0, number: !0, required: !0 }), + o.stack || + o.bars.show || + (o.lines.show && o.lines.fill)) + ) { + var y = !!( + (o.bars.show && o.bars.zero) || + (o.lines.show && o.lines.zero) + ); + p.push({ + y: !0, + number: !0, + required: !1, + defaultValue: 0, + autoscale: y, + }), + o.bars.horizontal && + (delete p[p.length - 1].y, + (p[p.length - 1].x = !0)); + } + o.datapoints.format = p; + } + if (null == o.datapoints.pointsize) { + (o.datapoints.pointsize = p.length), + (s = o.datapoints.pointsize), + (l = o.datapoints.points); + var O = o.lines.show && o.lines.steps; + for ( + o.xaxis.used = o.yaxis.used = !0, n = r = 0; + n < d.length; + ++n, r += s + ) { + var x = null == (f = d[n]); + if (!x) + for (a = 0; a < s; ++a) + (c = f[a]), + (u = p[a]) && + (u.number && + null != c && + ((c = +c), + isNaN(c) + ? (c = null) + : c == 1 / 0 + ? (c = g) + : c == -1 / 0 && (c = -g)), + null == c && + (u.required && (x = !0), + null != u.defaultValue && + (c = u.defaultValue))), + (l[r + a] = c); + if (x) + for (a = 0; a < s; ++a) + null != (c = l[r + a]) && + !1 !== (u = p[a]).autoscale && + (u.x && b(o.xaxis, c, c), + u.y && b(o.yaxis, c, c)), + (l[r + a] = null); + if (O && r > 0 && (!x || null != l[r - s])) { + for (a = 0; a < s; ++a) l[r + s + a] = l[r + a]; + (l[r + 1] = l[r - s + 1] || 0), + x && (l[r] = f[0]), + (r += s); + } + } + } + } + for (t = 0; t < i.length; ++t) { + if ( + ((o = i[t]), + (l = o.datapoints.points), + (s = o.datapoints.pointsize), + "negative-Y" === o.transform) + ) + for (n = 0; n < l.length; n += s) + null != l[n] && ((c = l[n + 1]), (l[n + 1] = -c)); + w(v.processDatapoints, [o, o.datapoints]); + } + for (t = 0; t < i.length; ++t) { + (o = i[t]), + (l = o.datapoints.points), + (s = o.datapoints.pointsize), + (p = o.datapoints.format); + var j = h, + S = h, + E = m, + C = m; + for (n = 0; n < l.length; n += s) + if (null != l[n]) + for (a = 0; a < s; ++a) + (c = l[n + a]), + (u = p[a]) && + !1 !== u.autoscale && + c != g && + c != -g && + (u.x && (c < j && (j = c), c > E && (E = c)), + u.y && (c < S && (S = c), c > C && (C = c))); + if (o.bars.show) { + var P; + switch (o.bars.align) { + case "left": + P = 0; + break; + case "right": + P = -o.bars.barWidth; + break; + default: + P = -o.bars.barWidth / 2; + } + o.bars.horizontal + ? ((S += P), (C += P + o.bars.barWidth)) + : ((j += P), (E += P + o.bars.barWidth)); + } + b(o.xaxis, j, E), b(o.yaxis, S, C); + } + e.each(k(), function (e, t) { + t.datamin == h && (t.datamin = null), + t.datamax == m && (t.datamax = null); + }); + })(); + } + function x(e, t) { + var n = e[t + "axis"]; + return ( + "object" == typeof n && (n = n.n), + "number" != typeof n && (n = 1), + n + ); + } + function k() { + return e.grep(p.concat(h), function (e) { + return e; + }); + } + function j(e) { + var t, + n, + r = {}; + for (t = 0; t < p.length; ++t) + (n = p[t]) && (r["x" + n.n] = n.c2p(e.left)); + for (t = 0; t < h.length; ++t) + (n = h[t]) && (r["y" + n.n] = n.c2p(e.top)); + return ( + void 0 !== r.x1 && (r.x = r.x1), + void 0 !== r.y1 && (r.y = r.y1), + r + ); + } + function S(t, n) { + return ( + t[n - 1] || + (t[n - 1] = { + n: n, + direction: t == p ? "x" : "y", + options: e.extend(!0, {}, t == p ? l.xaxis : l.yaxis), + }), + t[n - 1] + ); + } + function E() { + $ && clearTimeout($), + u.unbind("mousemove", q), + u.unbind("mouseleave", U), + u.unbind("click", z), + e(document).unbind("touchend", H), + w(v.shutdown, [u]); + } + function C(e) { + for ( + var t = e.options, + n = e.ticks || [], + r = t.labelWidth || 0, + a = t.labelHeight || 0, + o = + r || + ("x" == e.direction + ? Math.floor(s.width / (n.length || 1)) + : null), + i = e.direction + "Axis " + e.direction + e.n + "Axis", + l = + "flot-" + + e.direction + + "-axis flot-" + + e.direction + + e.n + + "-axis " + + i, + c = t.font || "flot-tick-label tickLabel", + u = 0; + u < n.length; + ++u + ) { + var f = n[u]; + if (f.label) { + var d = s.getTextInfo(l, f.label, c, null, o); + (r = Math.max(r, d.width + 1)), (a = Math.max(a, d.height)); + } + } + (e.labelWidth = t.labelWidth || r), + (e.labelHeight = t.labelHeight || a); + } + function P(t) { + var n = t.labelWidth, + r = t.labelHeight, + a = t.options.position, + o = "x" === t.direction, + i = t.options.tickLength, + c = l.grid.axisMargin, + u = l.grid.labelMargin, + f = l.grid.eventSectionHeight, + d = !0, + g = !0, + b = !0, + v = !1; + e.each(o ? p : h, function (e, n) { + n && + (n.show || n.reserveSpace) && + (n === t + ? (v = !0) + : n.options.position === a && (v ? (g = !1) : (d = !1)), + v || (b = !1)); + }), + g && (c = 0), + null == i && (i = b ? "full" : 5), + isNaN(+i) || (u += +i), + o + ? ((r += u), + (r += f), + "bottom" == a + ? ((m.bottom += r + c), + (t.box = { top: s.height - m.bottom, height: r })) + : ((t.box = { top: m.top + c, height: r }), + (m.top += r + c))) + : ((n += u), + "left" == a + ? ((t.box = { left: m.left + c, width: n }), + (m.left += n + c)) + : ((m.right += n + c), + (t.box = { left: s.width - m.right, width: n }))), + (t.position = a), + (t.tickLength = i), + (t.box.padding = u), + (t.box.eventSectionPadding = f), + (t.innermost = d); + } + function T() { + var n = k(), + r = l.grid.show; + for (var a in m) { + var o = l.grid.margin || 0; + m[a] = "number" == typeof o ? o : o[a] || 0; + } + for (var a in (w(v.processOffset, [m]), m)) + "object" == typeof l.grid.borderWidth + ? (m[a] += r ? l.grid.borderWidth[a] : 0) + : (m[a] += r ? l.grid.borderWidth : 0); + if ( + (e.each(n, function (e, t) { + var n = t.options; + (t.show = null == n.show ? t.used : n.show), + (t.reserveSpace = + null == n.reserveSpace ? t.show : n.reserveSpace), + (function (e) { + var t = e.options, + n = +(null != t.min ? t.min : e.datamin), + r = +(null != t.max ? t.max : e.datamax), + a = r - n; + if (0 == a) { + var o = Math.abs(0 == r ? 1 : 0.25 * r); + null == t.min && (n -= o), + (null != t.max && null == t.min) || (r += o); + } else { + var i = t.autoscaleMargin; + null != i && + (null == t.min && + (n -= a * i) < 0 && + null != e.datamin && + e.datamin >= 0 && + (n = 0), + null == t.max && + (r += a * i) > 0 && + null != e.datamax && + e.datamax <= 0 && + (r = 0)); + } + (e.min = n), (e.max = r); + })(t); + }), + w(v.processRange, []), + r) + ) { + for ( + var c = e.grep(n, function (e) { + return e.show || e.reserveSpace; + }), + u = !1, + f = 0; + f < 2 && + (e.each(c, function (e, t) { + D(t), A(t), (u = _(t, t.ticks) || u), C(t); + }), + u && v.processRange.length > 0); + f++ + ) + w(v.processRange, []), (u = !1); + for (f = c.length - 1; f >= 0; --f) P(c[f]); + !(function () { + var t, + n = l.grid.minBorderMargin; + if (null == n) + for (n = 0, t = 0; t < i.length; ++t) + n = Math.max( + n, + 2 * (i[t].points.radius + i[t].points.lineWidth / 2) + ); + var r = { left: n, right: n, top: n, bottom: n }; + e.each(k(), function (e, t) { + t.reserveSpace && + t.ticks && + t.ticks.length && + ("x" === t.direction + ? ((r.left = Math.max(r.left, t.labelWidth / 2)), + (r.right = Math.max(r.right, t.labelWidth / 2))) + : ((r.bottom = Math.max(r.bottom, t.labelHeight / 2)), + (r.top = Math.max(r.top, t.labelHeight / 2)))); + }), + (m.left = Math.ceil(Math.max(r.left, m.left))), + (m.right = Math.ceil(Math.max(r.right, m.right))), + (m.top = Math.ceil(Math.max(r.top, m.top))), + (m.bottom = Math.ceil(Math.max(r.bottom, m.bottom))); + })(), + e.each(c, function (e, t) { + !(function (e) { + "x" == e.direction + ? ((e.box.left = m.left - e.labelWidth / 2), + (e.box.width = + s.width - m.left - m.right + e.labelWidth)) + : ((e.box.top = m.top - e.labelHeight / 2), + (e.box.height = + s.height - m.bottom - m.top + e.labelHeight)); + })(t); + }); + } + (g = s.width - m.left - m.right), + (b = s.height - m.bottom - m.top), + e.each(n, function (e, t) { + !(function (e) { + function t(e) { + return e; + } + var n, + r, + a = e.options.transform || t, + o = e.options.inverseTransform; + "x" == e.direction + ? ((n = e.scale = g / Math.abs(a(e.max) - a(e.min))), + (r = Math.min(a(e.max), a(e.min)))) + : ((n = -(n = e.scale = + b / Math.abs(a(e.max) - a(e.min)))), + (r = Math.max(a(e.max), a(e.min)))), + (e.p2c = + a == t + ? function (e) { + return (e - r) * n; + } + : function (e) { + return (a(e) - r) * n; + }), + (e.c2p = o + ? function (e) { + return o(r + e / n); + } + : function (e) { + return r + e / n; + }); + })(t); + }), + r && + e.each(k(), function (e, t) { + var n, + r, + a, + o, + i, + l = t.box, + c = t.direction + "Axis " + t.direction + t.n + "Axis", + u = + "flot-" + + t.direction + + "-axis flot-" + + t.direction + + t.n + + "-axis " + + c, + f = t.options.font || "flot-tick-label tickLabel"; + if ((s.removeText(u), t.show && 0 != t.ticks.length)) + for (var d = 0; d < t.ticks.length; ++d) + !(n = t.ticks[d]).label || + n.v < t.min || + n.v > t.max || + ("x" == t.direction + ? ((o = "center"), + (r = m.left + t.p2c(n.v)), + "bottom" == t.position + ? (a = + l.top + l.padding + l.eventSectionPadding) + : ((a = l.top + l.height - l.padding), + (i = "bottom"))) + : ((i = "middle"), + (a = m.top + t.p2c(n.v)), + "left" == t.position + ? ((r = l.left + l.width - l.padding), + (o = "right")) + : (r = l.left + l.padding)), + s.addText(u, r, a, n.label, f, null, null, o, i)); + }), + (function () { + null != l.legend.container + ? e(l.legend.container).html("") + : t.find(".legend").remove(); + if (!l.legend.show) return; + for ( + var n, + r, + a = [], + o = [], + s = !1, + c = l.legend.labelFormatter, + u = 0; + u < i.length; + ++u + ) + (n = i[u]).label && + (r = c ? c(n.label, n) : n.label) && + o.push({ label: r, color: n.color }); + if (l.legend.sorted) + if (e.isFunction(l.legend.sorted)) o.sort(l.legend.sorted); + else if ("reverse" == l.legend.sorted) o.reverse(); + else { + var f = "descending" != l.legend.sorted; + o.sort(function (e, t) { + return e.label == t.label + ? 0 + : e.label < t.label != f + ? 1 + : -1; + }); + } + for (u = 0; u < o.length; ++u) { + var d = o[u]; + u % l.legend.noColumns == 0 && + (s && a.push("</tr>"), a.push("<tr>"), (s = !0)), + a.push( + '<td class="legendColorBox"><div style="border:1px solid ' + + l.legend.labelBoxBorderColor + + ';padding:1px"><div style="width:4px;height:0;border:5px solid ' + + d.color + + ';overflow:hidden"></div></div></td><td class="legendLabel">' + + d.label + + "</td>" + ); + } + s && a.push("</tr>"); + if (0 == a.length) return; + var p = + '<table style="font-size:smaller;color:' + + l.grid.color + + '">' + + a.join("") + + "</table>"; + if (null != l.legend.container) e(l.legend.container).html(p); + else { + var h = "", + g = l.legend.position, + b = l.legend.margin; + null == b[0] && (b = [b, b]), + "n" == g.charAt(0) + ? (h += "top:" + (b[1] + m.top) + "px;") + : "s" == g.charAt(0) && + (h += "bottom:" + (b[1] + m.bottom) + "px;"), + "e" == g.charAt(1) + ? (h += "right:" + (b[0] + m.right) + "px;") + : "w" == g.charAt(1) && + (h += "left:" + (b[0] + m.left) + "px;"); + var v = e( + '<div class="legend">' + + p.replace( + 'style="', + 'style="position:absolute;' + h + ";" + ) + + "</div>" + ).appendTo(t); + if (0 != l.legend.backgroundOpacity) { + var y = l.legend.backgroundColor; + null == y && + (((y = + (y = l.grid.backgroundColor) && "string" == typeof y + ? e.color.parse(y) + : e.color.extract(v, "background-color")).a = 1), + (y = y.toString())); + var w = v.children(); + e( + '<div style="position:absolute;width:' + + w.width() + + "px;height:" + + w.height() + + "px;" + + h + + "background-color:" + + y + + ';"> </div>' + ) + .prependTo(v) + .css("opacity", l.legend.backgroundOpacity); + } + } + })(); + } + function D(t) { + var n, + r = t.options; + n = + "number" == typeof r.ticks && r.ticks > 0 + ? r.ticks + : 0.3 * Math.sqrt("x" == t.direction ? s.width : s.height); + var a = (t.max - t.min) / n, + o = -Math.floor(Math.log(a) / Math.LN10), + i = r.tickDecimals; + null != i && o > i && (o = i); + var l, + c = Math.pow(10, -o), + u = a / c; + if ( + (u < 1.5 + ? (l = 1) + : u < 3 + ? ((l = 2), + u > 2.25 && (null == i || o + 1 <= i) && ((l = 2.5), ++o)) + : (l = u < 7.5 ? 5 : 10), + (l *= c), + null != r.minTickSize && + l < r.minTickSize && + (l = r.minTickSize), + (t.delta = a), + (t.tickDecimals = Math.max(0, null != i ? i : o)), + (t.tickSize = r.tickSize || l), + (null !== r.tickDecimals && void 0 !== r.tickDecimals) || + (t.scaledDecimals = t.tickDecimals + o), + "time" == r.mode && !t.tickGenerator) + ) + throw new Error("Time mode requires the flot.time plugin."); + if ( + (t.tickGenerator || + ((t.tickGenerator = function (e) { + var t, + n, + r, + a = [], + o = ((n = e.min), (r = e.tickSize) * Math.floor(n / r)), + i = 0, + l = Number.NaN; + do { + (t = l), (l = o + i * e.tickSize), a.push(l), ++i; + } while (l < e.max && l != t); + return a; + }), + (t.tickFormatter = function (e, t) { + var n = t.tickDecimals ? Math.pow(10, t.tickDecimals) : 1, + r = "" + Math.round(e * n) / n; + if (null != t.tickDecimals) { + var a = r.indexOf("."), + o = -1 == a ? 0 : r.length - a - 1; + if (o < t.tickDecimals) + return ( + (o ? r : r + ".") + + ("" + n).substr(1, t.tickDecimals - o) + ); + } + return r; + })), + e.isFunction(r.tickFormatter) && + (t.tickFormatter = function (e, t) { + return "" + r.tickFormatter(e, t); + }), + null != r.alignTicksWithAxis) + ) { + var f = ("x" == t.direction ? p : h)[r.alignTicksWithAxis - 1]; + if (f && f.used && f != t) { + var d = t.tickGenerator(t); + if ( + (d.length > 0 && + (null == r.min && (t.min = Math.min(t.min, d[0])), + null == r.max && + d.length > 1 && + (t.max = Math.max(t.max, d[d.length - 1]))), + (t.tickGenerator = function (e) { + var t, + n, + r = []; + for (n = 0; n < f.ticks.length; ++n) + (t = (f.ticks[n].v - f.min) / (f.max - f.min)), + (t = e.min + t * (e.max - e.min)), + r.push(t); + return r; + }), + !t.mode && null == r.tickDecimals) + ) { + var m = Math.max( + 0, + 1 - Math.floor(Math.log(t.delta) / Math.LN10) + ), + g = t.tickGenerator(t); + (g.length > 1 && /\..*0$/.test((g[1] - g[0]).toFixed(m))) || + (t.tickDecimals = m); + } + } + } + } + function A(t) { + var n, + r, + a = t.options.ticks, + o = []; + for ( + null == a || ("number" == typeof a && a > 0) + ? (o = t.tickGenerator(t)) + : a && (o = e.isFunction(a) ? a(t) : a), + t.ticks = [], + n = 0; + n < o.length; + ++n + ) { + var i = null, + l = o[n]; + "object" == typeof l + ? ((r = +l[0]), l.length > 1 && (i = l[1])) + : (r = +l), + null == i && (i = t.tickFormatter(r, t)), + isNaN(r) || t.ticks.push({ v: r, label: i }); + } + } + function _(e, t) { + var n = !1; + return ( + e.options.autoscaleMargin && + t.length > 0 && + (null == e.options.min && + ((e.min = Math.min(e.min, t[0].v)), (n = !0)), + null == e.options.max && + t.length > 1 && + ((e.max = Math.max(e.max, t[t.length - 1].v)), (n = !0))), + n + ); + } + function N() { + s.clear(), w(v.drawBackground, [f]); + var e = l.grid; + e.show && + e.backgroundColor && + (f.save(), + f.translate(m.left, m.top), + (f.fillStyle = ee( + l.grid.backgroundColor, + b, + 0, + "rgba(255, 255, 255, 0)" + )), + f.fillRect(0, 0, g, b), + f.restore()), + e.show && !e.aboveData && I(); + for (var t = 0; t < i.length; ++t) + w(v.drawSeries, [f, i[t]]), R(i[t]); + w(v.draw, [f]), e.show && e.aboveData && I(), s.render(), W(); + } + function M(e, t) { + for (var n, r, a, o, i = k(), l = 0; l < i.length; ++l) + if ( + (n = i[l]).direction == t && + (e[(o = t + n.n + "axis")] || 1 != n.n || (o = t + "axis"), + e[o]) + ) { + (r = e[o].from), (a = e[o].to); + break; + } + if ( + (e[o] || + ((n = "x" == t ? p[0] : h[0]), + (r = e[t + "1"]), + (a = e[t + "2"])), + null != r && null != a && r > a) + ) { + var s = r; + (r = a), (a = s); + } + return { from: r, to: a, axis: n }; + } + function I() { + var t, n, r, a; + f.save(), f.translate(m.left, m.top); + var o = l.grid.markings; + if (o) + for ( + e.isFunction(o) && + (((n = y.getAxes()).xmin = n.xaxis.min), + (n.xmax = n.xaxis.max), + (n.ymin = n.yaxis.min), + (n.ymax = n.yaxis.max), + (o = o(n))), + t = 0; + t < o.length; + ++t + ) { + var i = o[t], + s = M(i, "x"), + c = M(i, "y"); + if ( + (null == s.from && (s.from = s.axis.min), + null == s.to && (s.to = s.axis.max), + null == c.from && (c.from = c.axis.min), + null == c.to && (c.to = c.axis.max), + !( + s.to < s.axis.min || + s.from > s.axis.max || + c.to < c.axis.min || + c.from > c.axis.max + )) + ) { + (s.from = Math.max(s.from, s.axis.min)), + (s.to = Math.min(s.to, s.axis.max)), + (c.from = Math.max(c.from, c.axis.min)), + (c.to = Math.min(c.to, c.axis.max)); + var u = s.from === s.to, + d = c.from === c.to; + if (!u || !d) + if ( + ((s.from = Math.floor(s.axis.p2c(s.from))), + (s.to = Math.floor(s.axis.p2c(s.to))), + (c.from = Math.floor(c.axis.p2c(c.from))), + (c.to = Math.floor(c.axis.p2c(c.to))), + u || d) + ) { + var p = i.lineWidth || l.grid.markingsLineWidth, + h = p % 2 ? 0.5 : 0; + f.beginPath(), + (f.strokeStyle = i.color || l.grid.markingsColor), + (f.lineWidth = p), + u + ? (f.moveTo(s.to + h, c.from), + f.lineTo(s.to + h, c.to)) + : (f.moveTo(s.from, c.to + h), + f.lineTo(s.to, c.to + h)), + f.stroke(); + } else + (f.fillStyle = i.color || l.grid.markingsColor), + f.fillRect( + s.from, + c.to, + s.to - s.from, + c.from - c.to + ); + } + } + (n = k()), (r = l.grid.borderWidth); + for (var v = 0; v < n.length; ++v) { + var w, + O, + x, + j, + S = n[v], + E = S.box, + C = S.tickLength; + if (S.show && 0 != S.ticks.length) { + for ( + f.lineWidth = 1, + "x" == S.direction + ? ((w = 0), + (O = + "full" == C + ? "top" == S.position + ? 0 + : b + : E.top - + m.top + + ("top" == S.position ? E.height : 0))) + : ((O = 0), + (w = + "full" == C + ? "left" == S.position + ? 0 + : g + : E.left - + m.left + + ("left" == S.position ? E.width : 0))), + S.innermost || + ((f.strokeStyle = S.options.color), + f.beginPath(), + (x = j = 0), + "x" == S.direction ? (x = g + 1) : (j = b + 1), + 1 == f.lineWidth && + ("x" == S.direction + ? (O = Math.floor(O) + 0.5) + : (w = Math.floor(w) + 0.5)), + f.moveTo(w, O), + f.lineTo(w + x, O + j), + f.stroke()), + f.strokeStyle = S.options.tickColor, + f.beginPath(), + t = 0; + t < S.ticks.length; + ++t + ) { + var P = S.ticks[t].v; + (x = j = 0), + isNaN(P) || + P < S.min || + P > S.max || + ("full" == C && + (("object" == typeof r && r[S.position] > 0) || + r > 0) && + (P == S.min || P == S.max)) || + ("x" == S.direction + ? ((w = S.p2c(P)), + (j = "full" == C ? -b : C), + "top" == S.position && (j = -j)) + : ((O = S.p2c(P)), + (x = "full" == C ? -g : C), + "left" == S.position && (x = -x)), + 1 == f.lineWidth && + ("x" == S.direction + ? (w = Math.floor(w) + 0.5) + : (O = Math.floor(O) + 0.5)), + f.moveTo(w, O), + f.lineTo(w + x, O + j)); + } + f.stroke(); + } + } + r && + ((a = l.grid.borderColor), + "object" == typeof r || "object" == typeof a + ? ("object" != typeof r && + (r = { top: r, right: r, bottom: r, left: r }), + "object" != typeof a && + (a = { top: a, right: a, bottom: a, left: a }), + r.top > 0 && + ((f.strokeStyle = a.top), + (f.lineWidth = r.top), + f.beginPath(), + f.moveTo(0 - r.left, 0 - r.top / 2), + f.lineTo(g, 0 - r.top / 2), + f.stroke()), + r.right > 0 && + ((f.strokeStyle = a.right), + (f.lineWidth = r.right), + f.beginPath(), + f.moveTo(g + r.right / 2, 0 - r.top), + f.lineTo(g + r.right / 2, b), + f.stroke()), + r.bottom > 0 && + ((f.strokeStyle = a.bottom), + (f.lineWidth = r.bottom), + f.beginPath(), + f.moveTo(g + r.right, b + r.bottom / 2), + f.lineTo(0, b + r.bottom / 2), + f.stroke()), + r.left > 0 && + ((f.strokeStyle = a.left), + (f.lineWidth = r.left), + f.beginPath(), + f.moveTo(0 - r.left / 2, b + r.bottom), + f.lineTo(0 - r.left / 2, 0), + f.stroke())) + : ((f.lineWidth = r), + (f.strokeStyle = l.grid.borderColor), + f.strokeRect(-r / 2, -r / 2, g + r, b + r))), + f.restore(); + } + function R(e) { + e.lines.show && + ((function (e) { + function t(e, t, n, r, a) { + var o = e.points, + i = e.pointsize, + l = null, + s = null; + f.beginPath(); + for (var c = i; c < o.length; c += i) { + var u = o[c - i], + d = o[c - i + 1], + p = o[c], + h = o[c + 1]; + if (null != u && null != p) { + if (d <= h && d < a.min) { + if (h < a.min) continue; + (u = ((a.min - d) / (h - d)) * (p - u) + u), + (d = a.min); + } else if (h <= d && h < a.min) { + if (d < a.min) continue; + (p = ((a.min - d) / (h - d)) * (p - u) + u), + (h = a.min); + } + if (d >= h && d > a.max) { + if (h > a.max) continue; + (u = ((a.max - d) / (h - d)) * (p - u) + u), + (d = a.max); + } else if (h >= d && h > a.max) { + if (d > a.max) continue; + (p = ((a.max - d) / (h - d)) * (p - u) + u), + (h = a.max); + } + if (u <= p && u < r.min) { + if (p < r.min) continue; + (d = ((r.min - u) / (p - u)) * (h - d) + d), + (u = r.min); + } else if (p <= u && p < r.min) { + if (u < r.min) continue; + (h = ((r.min - u) / (p - u)) * (h - d) + d), + (p = r.min); + } + if (u >= p && u > r.max) { + if (p > r.max) continue; + (d = ((r.max - u) / (p - u)) * (h - d) + d), + (u = r.max); + } else if (p >= u && p > r.max) { + if (u > r.max) continue; + (h = ((r.max - u) / (p - u)) * (h - d) + d), + (p = r.max); + } + (u == l && d == s) || + f.moveTo(r.p2c(u) + t, a.p2c(d) + n), + (l = p), + (s = h), + f.lineTo(r.p2c(p) + t, a.p2c(h) + n); + } + } + f.stroke(); + } + f.save(), f.translate(m.left, m.top), (f.lineJoin = "round"); + var n = e.lines.lineWidth, + r = e.shadowSize; + if (n > 0 && r > 0) { + (f.lineWidth = r), (f.strokeStyle = "rgba(0,0,0,0.1)"); + var a = Math.PI / 18; + t( + e.datapoints, + Math.sin(a) * (n / 2 + r / 2), + Math.cos(a) * (n / 2 + r / 2), + e.xaxis, + e.yaxis + ), + (f.lineWidth = r / 2), + t( + e.datapoints, + Math.sin(a) * (n / 2 + r / 4), + Math.cos(a) * (n / 2 + r / 4), + e.xaxis, + e.yaxis + ); + } + (f.lineWidth = n), (f.strokeStyle = e.color); + var o = V(e.lines, e.color, 0, b); + o && + ((f.fillStyle = o), + (function (e, t, n) { + for ( + var r = e.points, + a = e.pointsize, + o = Math.min(Math.max(0, n.min), n.max), + i = 0, + l = !1, + s = 1, + c = 0, + u = 0; + !(a > 0 && i > r.length + a); + + ) { + var d = r[(i += a) - a], + p = r[i - a + s], + h = r[i], + m = r[i + s]; + if (l) { + if (a > 0 && null != d && null == h) { + (u = i), (a = -a), (s = 2); + continue; + } + if (a < 0 && i == c + a) { + f.fill(), (l = !1), (s = 1), (i = c = u + (a = -a)); + continue; + } + } + if (null != d && null != h) { + if (d <= h && d < t.min) { + if (h < t.min) continue; + (p = ((t.min - d) / (h - d)) * (m - p) + p), + (d = t.min); + } else if (h <= d && h < t.min) { + if (d < t.min) continue; + (m = ((t.min - d) / (h - d)) * (m - p) + p), + (h = t.min); + } + if (d >= h && d > t.max) { + if (h > t.max) continue; + (p = ((t.max - d) / (h - d)) * (m - p) + p), + (d = t.max); + } else if (h >= d && h > t.max) { + if (d > t.max) continue; + (m = ((t.max - d) / (h - d)) * (m - p) + p), + (h = t.max); + } + if ( + (l || + (f.beginPath(), + f.moveTo(t.p2c(d), n.p2c(o)), + (l = !0)), + p >= n.max && m >= n.max) + ) + f.lineTo(t.p2c(d), n.p2c(n.max)), + f.lineTo(t.p2c(h), n.p2c(n.max)); + else if (p <= n.min && m <= n.min) + f.lineTo(t.p2c(d), n.p2c(n.min)), + f.lineTo(t.p2c(h), n.p2c(n.min)); + else { + var g = d, + b = h; + p <= m && p < n.min && m >= n.min + ? ((d = ((n.min - p) / (m - p)) * (h - d) + d), + (p = n.min)) + : m <= p && + m < n.min && + p >= n.min && + ((h = ((n.min - p) / (m - p)) * (h - d) + d), + (m = n.min)), + p >= m && p > n.max && m <= n.max + ? ((d = ((n.max - p) / (m - p)) * (h - d) + d), + (p = n.max)) + : m >= p && + m > n.max && + p <= n.max && + ((h = ((n.max - p) / (m - p)) * (h - d) + d), + (m = n.max)), + d != g && f.lineTo(t.p2c(g), n.p2c(p)), + f.lineTo(t.p2c(d), n.p2c(p)), + f.lineTo(t.p2c(h), n.p2c(m)), + h != b && + (f.lineTo(t.p2c(h), n.p2c(m)), + f.lineTo(t.p2c(b), n.p2c(m))); + } + } + } + })(e.datapoints, e.xaxis, e.yaxis)); + n > 0 && t(e.datapoints, 0, 0, e.xaxis, e.yaxis); + f.restore(); + })(e), + e.points.show || + e.bars.show || + (function (e) { + for ( + var t = [], + n = null, + r = null, + a = e.datapoints, + o = [], + i = 0; + i < a.pointsize - 2; + i++ + ) + o.push(0); + for (var l = 0; l < a.points.length; l += a.pointsize) { + var s = a.points[l], + c = a.points[l + 1]; + (r = + l === a.points.length - a.pointsize + ? null + : a.points[l + a.pointsize]), + null !== s && + null !== c && + null === n && + null === r && + (t.push(s), t.push(c), t.push.apply(t, o)), + (n = s); + } + var u = a.points; + (a.points = t), + (e.points.radius = e.lines.lineWidth / 2), + F(e), + (a.points = u); + })(e)), + e.bars.show && + (function (e) { + var t; + switch ( + (f.save(), + f.translate(m.left, m.top), + (f.lineWidth = e.bars.lineWidth), + (f.strokeStyle = e.color), + e.bars.align) + ) { + case "left": + t = 0; + break; + case "right": + t = -e.bars.barWidth; + break; + default: + t = -e.bars.barWidth / 2; + } + var n = e.bars.fill + ? function (t, n) { + return V(e.bars, e.color, t, n); + } + : null; + (function (t, n, r, a, o, i) { + for ( + var l = t.points, s = t.pointsize, c = 0; + c < l.length; + c += s + ) + null != l[c] && + L( + l[c], + l[c + 1], + l[c + 2], + n, + r, + a, + o, + i, + f, + e.bars.horizontal, + e.bars.lineWidth + ); + })( + e.datapoints, + t, + t + e.bars.barWidth, + n, + e.xaxis, + e.yaxis + ), + f.restore(); + })(e), + e.points.show && F(e); + } + function F(e) { + function t(e, t, n, r, a, o, i, l) { + for ( + var s = e.points, c = e.pointsize, u = 0; + u < s.length; + u += c + ) { + var d = s[u], + p = s[u + 1]; + null == d || + d < o.min || + d > o.max || + p < i.min || + p > i.max || + (f.beginPath(), + (d = o.p2c(d)), + (p = i.p2c(p) + r), + "circle" == l + ? f.arc(d, p, t, 0, a ? Math.PI : 2 * Math.PI, !1) + : l(f, d, p, t, a), + f.closePath(), + n && ((f.fillStyle = n), f.fill()), + f.stroke()); + } + } + f.save(), f.translate(m.left, m.top); + var n = e.points.lineWidth, + r = e.shadowSize, + a = e.points.radius, + o = e.points.symbol; + if ((0 == n && (n = 1e-4), n > 0 && r > 0)) { + var i = r / 2; + (f.lineWidth = i), + (f.strokeStyle = "rgba(0,0,0,0.1)"), + t(e.datapoints, a, null, i + i / 2, !0, e.xaxis, e.yaxis, o), + (f.strokeStyle = "rgba(0,0,0,0.2)"), + t(e.datapoints, a, null, i / 2, !0, e.xaxis, e.yaxis, o); + } + (f.lineWidth = n), + (f.strokeStyle = e.color), + t( + e.datapoints, + a, + V(e.points, e.color), + 0, + !1, + e.xaxis, + e.yaxis, + o + ), + f.restore(); + } + function L(e, t, n, r, a, o, i, l, s, c, u) { + var f, d, p, h, m, g, b, v, y; + c + ? ((v = g = b = !0), + (m = !1), + (h = t + r), + (p = t + a), + (d = e) < (f = n) && + ((y = d), (d = f), (f = y), (m = !0), (g = !1))) + : ((m = g = b = !0), + (v = !1), + (f = e + r), + (d = e + a), + (h = t) < (p = n) && + ((y = h), (h = p), (p = y), (v = !0), (b = !1))), + d < i.min || + f > i.max || + h < l.min || + p > l.max || + (f < i.min && ((f = i.min), (m = !1)), + d > i.max && ((d = i.max), (g = !1)), + p < l.min && ((p = l.min), (v = !1)), + h > l.max && ((h = l.max), (b = !1)), + (f = i.p2c(f)), + (p = l.p2c(p)), + (d = i.p2c(d)), + (h = l.p2c(h)), + o && + ((s.fillStyle = o(p, h)), s.fillRect(f, h, d - f, p - h)), + u > 0 && + (m || g || b || v) && + (s.beginPath(), + s.moveTo(f, p), + m ? s.lineTo(f, h) : s.moveTo(f, h), + b ? s.lineTo(d, h) : s.moveTo(d, h), + g ? s.lineTo(d, p) : s.moveTo(d, p), + v ? s.lineTo(f, p) : s.moveTo(f, p), + s.stroke())); + } + function V(t, n, r, a) { + var o = t.fill; + if (!o) return null; + if (t.fillColor) return ee(t.fillColor, r, a, n); + var i = e.color.parse(n); + return ( + (i.a = "number" == typeof o ? o : 0.4), + i.normalize(), + i.toString() + ); + } + (y.setData = O), + (y.setupGrid = T), + (y.draw = N), + (y.getPlaceholder = function () { + return t; + }), + (y.getCanvas = function () { + return s.element; + }), + (y.getPlotOffset = function () { + return m; + }), + (y.width = function () { + return g; + }), + (y.height = function () { + return b; + }), + (y.offset = function () { + var e = u.offset(); + return (e.left += m.left), (e.top += m.top), e; + }), + (y.getData = function () { + return i; + }), + (y.getAxes = function () { + var t = {}; + return ( + e.each(p.concat(h), function (e, n) { + n && (t[n.direction + (1 != n.n ? n.n : "") + "axis"] = n); + }), + t + ); + }), + (y.getXAxes = function () { + return p; + }), + (y.getYAxes = function () { + return h; + }), + (y.c2p = j), + (y.p2c = function (e) { + var t, + n, + r, + a = {}; + for (t = 0; t < p.length; ++t) + if ( + (n = p[t]) && + n.used && + ((r = "x" + n.n), + null == e[r] && 1 == n.n && (r = "x"), + null != e[r]) + ) { + a.left = n.p2c(e[r]); + break; + } + for (t = 0; t < h.length; ++t) + if ( + (n = h[t]) && + n.used && + ((r = "y" + n.n), + null == e[r] && 1 == n.n && (r = "y"), + null != e[r]) + ) { + a.top = n.p2c(e[r]); + break; + } + return a; + }), + (y.getOptions = function () { + return l; + }), + (y.highlight = Y), + (y.unhighlight = K), + (y.triggerRedrawOverlay = W), + (y.pointOffset = function (e) { + return { + left: parseInt(p[x(e, "x") - 1].p2c(+e.x) + m.left, 10), + top: parseInt(h[x(e, "y") - 1].p2c(+e.y) + m.top, 10), + }; + }), + (y.shutdown = E), + (y.destroy = function () { + E(), + t.removeData("plot").empty(), + (i = []), + (l = null), + (s = null), + (c = null), + (u = null), + (f = null), + (d = null), + (p = []), + (h = []), + (v = null), + (B = []), + (y = null); + }), + (y.resize = function () { + var e = t.width(), + n = t.height(); + s.resize(e, n), c.resize(e, n); + }), + (y.hooks = v), + (function () { + for (var t = { Canvas: n }, r = 0; r < o.length; ++r) { + var a = o[r]; + a.init(y, t), a.options && e.extend(!0, l, a.options); + } + })(), + (function (n) { + e.extend(!0, l, n), n && n.colors && (l.colors = n.colors); + null == l.xaxis.color && + (l.xaxis.color = e.color + .parse(l.grid.color) + .scale("a", 0.22) + .toString()); + null == l.yaxis.color && + (l.yaxis.color = e.color + .parse(l.grid.color) + .scale("a", 0.22) + .toString()); + null == l.xaxis.tickColor && + (l.xaxis.tickColor = l.grid.tickColor || l.xaxis.color); + null == l.yaxis.tickColor && + (l.yaxis.tickColor = l.grid.tickColor || l.yaxis.color); + null == l.grid.borderColor && + (l.grid.borderColor = l.grid.color); + null == l.grid.tickColor && + (l.grid.tickColor = e.color + .parse(l.grid.color) + .scale("a", 0.22) + .toString()); + var r, + a, + o, + i = t.css("font-size"), + s = i ? +i.replace("px", "") : 13, + c = { + style: t.css("font-style"), + size: Math.round(0.8 * s), + variant: t.css("font-variant"), + weight: t.css("font-weight"), + family: t.css("font-family"), + }; + for (o = l.xaxes.length || 1, r = 0; r < o; ++r) + (a = l.xaxes[r]) && !a.tickColor && (a.tickColor = a.color), + (a = e.extend(!0, {}, l.xaxis, a)), + (l.xaxes[r] = a), + a.font && + ((a.font = e.extend({}, c, a.font)), + a.font.color || (a.font.color = a.color), + a.font.lineHeight || + (a.font.lineHeight = Math.round(1.15 * a.font.size))); + for (o = l.yaxes.length || 1, r = 0; r < o; ++r) + (a = l.yaxes[r]) && !a.tickColor && (a.tickColor = a.color), + (a = e.extend(!0, {}, l.yaxis, a)), + (l.yaxes[r] = a), + a.font && + ((a.font = e.extend({}, c, a.font)), + a.font.color || (a.font.color = a.color), + a.font.lineHeight || + (a.font.lineHeight = Math.round(1.15 * a.font.size))); + l.xaxis.noTicks && + null == l.xaxis.ticks && + (l.xaxis.ticks = l.xaxis.noTicks); + l.yaxis.noTicks && + null == l.yaxis.ticks && + (l.yaxis.ticks = l.yaxis.noTicks); + l.x2axis && + ((l.xaxes[1] = e.extend(!0, {}, l.xaxis, l.x2axis)), + (l.xaxes[1].position = "top"), + null == l.x2axis.min && (l.xaxes[1].min = null), + null == l.x2axis.max && (l.xaxes[1].max = null)); + l.y2axis && + ((l.yaxes[1] = e.extend(!0, {}, l.yaxis, l.y2axis)), + (l.yaxes[1].position = "right"), + null == l.y2axis.min && (l.yaxes[1].min = null), + null == l.y2axis.max && (l.yaxes[1].max = null)); + l.grid.coloredAreas && (l.grid.markings = l.grid.coloredAreas); + l.grid.coloredAreasColor && + (l.grid.markingsColor = l.grid.coloredAreasColor); + l.lines && e.extend(!0, l.series.lines, l.lines); + l.points && e.extend(!0, l.series.points, l.points); + l.bars && e.extend(!0, l.series.bars, l.bars); + null != l.shadowSize && (l.series.shadowSize = l.shadowSize); + null != l.highlightColor && + (l.series.highlightColor = l.highlightColor); + for (r = 0; r < l.xaxes.length; ++r) + S(p, r + 1).options = l.xaxes[r]; + for (r = 0; r < l.yaxes.length; ++r) + S(h, r + 1).options = l.yaxes[r]; + for (var u in v) + l.hooks[u] && + l.hooks[u].length && + (v[u] = v[u].concat(l.hooks[u])); + w(v.processOptions, [l]); + })(a), + (function () { + t.find(".flot-temp-elem").remove(), + "static" == t.css("position") && + t.css("position", "relative"); + (s = new n("flot-base", t)), + (c = new n("flot-overlay", t)), + (f = s.context), + (d = c.context), + (u = e(c.element).unbind()); + var r = t.data("plot"); + r && (r.shutdown(), c.clear()); + t.data("plot", y); + })(), + O(r), + T(), + N(), + (function () { + l.grid.hoverable && + (u.mousemove(q), + u.bind("mouseleave", U), + e(document).bind("touchend", H)); + l.grid.clickable && u.click(z); + w(v.bindEvents, [u]); + })(); + var B = [], + $ = null; + function q(e) { + l.grid.hoverable && + G("plothover", e, function (e) { + return 0 != e.hoverable; + }); + } + function U(e) { + l.grid.hoverable && + G("plothover", e, function (e) { + return !1; + }); + } + function z(e) { + y.isSelecting || + G("plotclick", e, function (e) { + return 0 != e.clickable; + }); + } + function H(e) { + e.cancelable && + (u.is(e.target) || 0 !== u.has(e.target).length + ? (q( + (function (e) { + if (!e || !e.originalEvent) return e; + if (e.pageX && e.pageY) return e; + var t = e.originalEvent; + if (0 === t.changedTouches.length) return e; + var n = t.changedTouches[0]; + return (e.pageX = n.pageX), (e.pageY = n.pageY), e; + })(e) + ), + e.preventDefault()) + : G("plotleave", e, function (e) {})); + } + function G(e, n, r) { + var a = u.offset(), + o = n.pageX - a.left - m.left, + s = n.pageY - a.top - m.top, + c = j({ left: o, top: s }); + (c.pageX = n.pageX), + (c.pageY = n.pageY), + (c.ctrlKey = n.ctrlKey), + (c.metaKey = n.metaKey); + var f = (function (e, t, n) { + var r, + a, + o, + s = l.grid.mouseActiveRadius, + c = s * s + 1, + u = null; + for (r = i.length - 1; r >= 0; --r) + if (n(i[r])) { + var f = i[r], + d = f.xaxis, + p = f.yaxis, + h = f.datapoints.points, + m = d.c2p(e), + g = p.c2p(t), + b = s / d.scale, + v = s / p.scale; + if ( + ((o = f.datapoints.pointsize), + d.options.inverseTransform && (b = Number.MAX_VALUE), + p.options.inverseTransform && (v = Number.MAX_VALUE), + f.lines.show || f.points.show) + ) + for (a = 0; a < h.length; a += o) { + var y = h[a], + w = h[a + 1]; + if ( + null != y && + !(y - m > b || y - m < -b || w - g > v || w - g < -v) + ) { + var O = Math.abs(d.p2c(y) - e), + x = Math.abs(p.p2c(w) - t), + k = O * O + x * x; + k < c && ((c = k), (u = [r, a / o])); + } + } + if (f.bars.show && !u) { + var j, S; + switch (f.bars.align) { + case "left": + j = 0; + break; + case "right": + j = -f.bars.barWidth; + break; + default: + j = -f.bars.barWidth / 2; + } + for ( + S = j + f.bars.barWidth, a = 0; + a < h.length; + a += o + ) { + (y = h[a]), (w = h[a + 1]); + var E = h[a + 2]; + null != y && + (i[r].bars.horizontal + ? m <= Math.max(E, y) && + m >= Math.min(E, y) && + g >= w + j && + g <= w + S + : m >= y + j && + m <= y + S && + g >= Math.min(E, w) && + g <= Math.max(E, w)) && + (u = [r, a / o]); + } + } + } + return u + ? ((r = u[0]), + (a = u[1]), + (o = i[r].datapoints.pointsize), + { + datapoint: i[r].datapoints.points.slice( + a * o, + (a + 1) * o + ), + dataIndex: a, + series: i[r], + seriesIndex: r, + }) + : null; + })(o, s, r); + if ( + (f && + ((f.pageX = parseInt( + f.series.xaxis.p2c(f.datapoint[0]) + a.left + m.left, + 10 + )), + (f.pageY = parseInt( + f.series.yaxis.p2c(f.datapoint[1]) + a.top + m.top, + 10 + ))), + l.grid.autoHighlight) + ) { + for (var d = 0; d < B.length; ++d) { + var p = B[d]; + p.auto != e || + (f && + p.series == f.series && + p.point[0] == f.datapoint[0] && + p.point[1] == f.datapoint[1]) || + K(p.series, p.point); + } + f && Y(f.series, f.datapoint, e); + } + t.trigger(e, [c, f]); + } + function W() { + var e = l.interaction.redrawOverlayInterval; + -1 != e ? $ || ($ = setTimeout(Q, e)) : Q(); + } + function Q() { + var e, t; + for ( + $ = null, + d.save(), + c.clear(), + d.translate(m.left, m.top), + e = 0; + e < B.length; + ++e + ) + (t = B[e]).series.bars.show + ? X(t.series, t.point) + : Z(t.series, t.point); + d.restore(), w(v.drawOverlay, [d]); + } + function Y(e, t, n) { + if (("number" == typeof e && (e = i[e]), "number" == typeof t)) { + var r = e.datapoints.pointsize; + t = e.datapoints.points.slice(r * t, r * (t + 1)); + } + var a = J(e, t); + -1 == a + ? (B.push({ series: e, point: t, auto: n }), W()) + : n || (B[a].auto = !1); + } + function K(e, t) { + if (null == e && null == t) return (B = []), void W(); + if (("number" == typeof e && (e = i[e]), "number" == typeof t)) { + var n = e.datapoints.pointsize; + t = e.datapoints.points.slice(n * t, n * (t + 1)); + } + var r = J(e, t); + -1 != r && (B.splice(r, 1), W()); + } + function J(e, t) { + for (var n = 0; n < B.length; ++n) { + var r = B[n]; + if (r.series == e && r.point[0] == t[0] && r.point[1] == t[1]) + return n; + } + return -1; + } + function Z(t, n) { + var r = n[0], + a = n[1], + o = t.xaxis, + i = t.yaxis, + l = + "string" == typeof t.highlightColor + ? t.highlightColor + : e.color.parse(t.color).scale("a", 0.5).toString(); + if (!(r < o.min || r > o.max || a < i.min || a > i.max)) { + var s = t.points.radius + t.points.lineWidth / 2; + (d.lineWidth = s), (d.strokeStyle = l); + var c = 1.5 * s; + (r = o.p2c(r)), + (a = i.p2c(a)), + d.beginPath(), + "circle" == t.points.symbol + ? d.arc(r, a, c, 0, 2 * Math.PI, !1) + : t.points.symbol(d, r, a, c, !1), + d.closePath(), + d.stroke(); + } + } + function X(t, n) { + var r, + a = + "string" == typeof t.highlightColor + ? t.highlightColor + : e.color.parse(t.color).scale("a", 0.5).toString(), + o = a; + switch (t.bars.align) { + case "left": + r = 0; + break; + case "right": + r = -t.bars.barWidth; + break; + default: + r = -t.bars.barWidth / 2; + } + (d.lineWidth = t.bars.lineWidth), + (d.strokeStyle = a), + L( + n[0], + n[1], + n[2] || 0, + r, + r + t.bars.barWidth, + function () { + return o; + }, + t.xaxis, + t.yaxis, + d, + t.bars.horizontal, + t.bars.lineWidth + ); + } + function ee(t, n, r, a) { + if ("string" == typeof t) return t; + for ( + var o = f.createLinearGradient(0, r, 0, n), + i = 0, + l = t.colors.length; + i < l; + ++i + ) { + var s = t.colors[i]; + if ("string" != typeof s) { + var c = e.color.parse(a); + null != s.brightness && (c = c.scale("rgb", s.brightness)), + null != s.opacity && (c.a *= s.opacity), + (s = c.toString()); + } + o.addColorStop(i / (l - 1), s); + } + return o; + } + } + e.fn.detach || + (e.fn.detach = function () { + return this.each(function () { + this.parentNode && this.parentNode.removeChild(this); + }); + }), + (n.prototype.resize = function (e, t) { + if (e <= 0 || t <= 0) + throw new Error( + "Invalid dimensions for plot, width = " + + e + + ", height = " + + t + ); + var n = this.element, + r = this.context, + a = this.pixelRatio; + this.width != e && + ((n.width = e * a), + (n.style.width = e + "px"), + (this.width = e)), + this.height != t && + ((n.height = t * a), + (n.style.height = t + "px"), + (this.height = t)), + r.restore(), + r.save(), + r.scale(a, a); + }), + (n.prototype.clear = function () { + this.context.clearRect(0, 0, this.width, this.height); + }), + (n.prototype.render = function () { + var e = this._textCache; + for (var n in e) + if (t.call(e, n)) { + var r = this.getTextLayer(n), + a = e[n]; + for (var o in (r.hide(), a)) + if (t.call(a, o)) { + var i = a[o]; + for (var l in i) + if (t.call(i, l)) { + for ( + var s, c = i[l].positions, u = 0; + (s = c[u]); + u++ + ) + s.active + ? s.rendered || + (r.append(s.element), (s.rendered = !0)) + : (c.splice(u--, 1), + s.rendered && s.element.detach()); + 0 == c.length && delete i[l]; + } + } + r.show(); + } + }), + (n.prototype.getTextLayer = function (t) { + var n = this.text[t]; + return ( + null == n && + (null == this.textContainer && + (this.textContainer = e( + "<div class='flot-text flot-temp-elem'></div>" + ) + .css({ + position: "absolute", + top: 0, + left: 0, + bottom: 0, + right: 0, + "font-size": "smaller", + color: "#545454", + }) + .insertAfter(this.element)), + (n = this.text[t] = e("<div></div>") + .addClass(t) + .css({ + position: "absolute", + top: 0, + left: 0, + bottom: 0, + right: 0, + }) + .appendTo(this.textContainer))), + n + ); + }), + (n.prototype.getTextInfo = function (t, n, r, a, o) { + var i, l, s, c; + if ( + ((n = "" + n), + (i = + "object" == typeof r + ? r.style + + " " + + r.variant + + " " + + r.weight + + " " + + r.size + + "px/" + + r.lineHeight + + "px " + + r.family + : r), + null == (l = this._textCache[t]) && + (l = this._textCache[t] = {}), + null == (s = l[i]) && (s = l[i] = {}), + null == (c = s[n])) + ) { + var u = e("<div></div>") + .html(n) + .css({ position: "absolute", "max-width": o, top: -9999 }) + .appendTo(this.getTextLayer(t)); + "object" == typeof r + ? u.css({ font: i, color: r.color }) + : "string" == typeof r && u.addClass(r), + (c = s[n] = { element: u, positions: [] }); + var f = this._textSizeCache[n]; + f + ? ((c.width = f.width), (c.height = f.height)) + : ((c.width = u.outerWidth(!0)), + (c.height = u.outerHeight(!0)), + (this._textSizeCache[n] = { + width: c.width, + height: c.height, + })), + u.detach(); + } + return c; + }), + (n.prototype.addText = function (e, t, n, r, a, o, i, l, s) { + var c = this.getTextInfo(e, r, a, o, i), + u = c.positions; + "center" == l + ? (t -= c.width / 2) + : "right" == l && (t -= c.width), + "middle" == s + ? (n -= c.height / 2) + : "bottom" == s && (n -= c.height); + for (var f, d = 0; (f = u[d]); d++) + if (f.x == t && f.y == n) return void (f.active = !0); + (f = { + active: !0, + rendered: !1, + element: u.length ? c.element.clone() : c.element, + x: t, + y: n, + }), + u.push(f), + f.element.css({ + top: Math.round(n), + left: Math.round(t), + "text-align": l, + }); + }), + (n.prototype.removeText = function (e, n, r, a, o, i) { + if (null == a) { + var l = this._textCache[e]; + if (null != l) + for (var s in l) + if (t.call(l, s)) { + var c = l[s]; + for (var u in c) + if (t.call(c, u)) + for (var f = c[u].positions, d = 0; (p = f[d]); d++) + p.active = !1; + } + } else { + var p; + for ( + f = this.getTextInfo(e, a, o, i).positions, d = 0; + (p = f[d]); + d++ + ) + p.x == n && p.y == r && (p.active = !1); + } + }), + (e.plot = function (t, n, a) { + return new r(e(t), n, a, e.plot.plugins); + }), + (e.plot.version = "0.8.3"), + (e.plot.plugins = []), + (e.fn.plot = function (t, n) { + return this.each(function () { + e.plot(this, t, n); + }); + }); + })(jQuery); + }, + "8YUl": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return v; + }), + n.d(t, "a", function () { + return O; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("TSYQ"), + i = n.n(o), + l = n("kDDq"), + s = n("5/7A"), + c = n("bDvK"), + u = n("Wwog"), + f = n("MIBK"); + function d(e) { + return (d = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function h(e, t) { + return !t || ("object" !== d(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function m(e) { + return (m = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function g(e, t) { + return (g = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function b() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n label: selectButton;\n .select-button-value {\n color: ", + ";\n }\n ", + ]); + return ( + (b = function () { + return e; + }), + e + ); + } + var v = ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"], + y = Object(u.a)(function (e) { + return { selectButton: Object(l.css)(b(), e.colors.orange) }; + }), + w = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = h(this, m(t).call(this, e))).intervalsToOptions = function ( + e + ) { + var t = (e || v).map(function (e) { + return { label: e, value: e }; + }); + return ( + n.props.hasLiveOption && t.unshift(O.liveOption), + t.unshift(O.offOption), + t + ); + }), + (n.onChangeSelect = function (e) { + var t = n.props.onIntervalChanged; + t && t(e.value); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && g(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.onRefresh, + n = e.intervals, + r = e.tooltip, + o = e.value, + l = e.refreshButton, + u = e.buttonSelectClassName, + f = e.theme, + d = this.intervalsToOptions(n), + p = o || "", + h = + d.find(function (e) { + return e.value === p; + }) || O.offOption, + m = y(f), + g = i()({ + "refresh-picker": !0, + "refresh-picker--off": h.label === O.offOption.label, + "refresh-picker--live": h === O.liveOption, + }); + return a.a.createElement( + "div", + { className: g }, + a.a.createElement( + "div", + { className: "refresh-picker-buttons" }, + l || + a.a.createElement( + s.b, + { placement: "top", content: r }, + a.a.createElement( + "button", + { + className: + "btn btn--radius-right-0 navbar-button navbar-button--border-right-0", + onClick: t, + }, + a.a.createElement("i", { + className: "fa fa-refresh", + }) + ) + ), + a.a.createElement(c.a, { + className: i()( + "navbar-button--attached", + m.selectButton, + u + ), + value: h, + label: h.label, + options: d, + onChange: this.onChangeSelect, + maxMenuHeight: 380, + }) + ) + ); + }, + }, + ]) && p(n.prototype, r), + o && p(n, o), + t + ); + })(r.PureComponent); + (w.offOption = { label: "Off", value: "" }), + (w.liveOption = { label: "Live", value: "LIVE" }), + (w.isLive = function (e) { + return e === O.liveOption.value; + }); + var O = Object(f.i)(w); + }, + "8iRp": function (e, t) { + var n = "public/app/plugins/panel/singlestat/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put(n, "<div class=singlestat-panel>\n\n</div>\n"); + }, + ]), + (e.exports = n); + }, + "94Nu": function (e, t) {}, + "9CCn": function (e, t) { + var n = "public/app/plugins/panel/text/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>Mode</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options=\"f for f in ['html','markdown']\"></select>\n\t\t</span>\n\t</div>\n</div>\n\n<div class=gf-form-inline>\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<code-editor content=ctrl.panel.content on-change=ctrl.render() data-mode=markdown data-max-lines=20>\n\t\t</code-editor>\n\t</div>\n</div>\n" + ); + }, + ]), + (e.exports = n); + }, + "9RCP": function (e, t) { + var n = + "public/app/plugins/datasource/mysql/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=gf-form-group>\n <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n\t\t</div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the <i>time</i> or <i>time_sec</i> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> or <i>time_sec</i> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event end time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'\n\n\nMacros:\n- $__time(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -> time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> FROM_UNIXTIME(1492750877)\n- $__timeTo() -> FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "9XWl": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("kDLi"), + l = n("NXk7"); + function s(e) { + return (s = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function c(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function u(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + c(o, r, a, i, l, "next", e); + } + function l(e) { + c(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function f(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function d(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function p(e, t) { + return !t || ("object" !== s(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function h(e) { + return (h = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function m(e, t) { + return (m = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var g = (function (e) { + function t() { + var e, n; + f(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = p(this, (e = h(t)).call.apply(e, [this].concat(a)))).state = { + isLoading: !1, + }), + (n.getOrgOptions = (function () { + var e = u( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (n.orgs) { + e.next = 3; + break; + } + return (e.next = 3), n.loadOrgs(); + case 3: + return e.abrupt( + "return", + n.orgs.map(function (e) { + return { + id: e.id, + value: e.id, + label: e.name, + name: e.name, + }; + }) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, o, s; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && m(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "loadOrgs", + value: + ((s = u( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.setState({ isLoading: !0 }), + (e.next = 3), + Object(l.c)().get("/api/orgs") + ); + case 3: + return ( + (t = e.sent), + (this.orgs = t), + this.setState({ isLoading: !1 }), + e.abrupt("return", t) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return s.apply(this, arguments); + }), + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.className, + n = e.onSelected, + r = this.state.isLoading; + return a.a.createElement( + "div", + { className: "org-picker" }, + a.a.createElement(i.AsyncSelect, { + className: t, + isLoading: r, + defaultOptions: !0, + isSearchable: !1, + loadOptions: this.getOrgOptions, + onChange: n, + placeholder: "Select organization", + noOptionsMessage: function () { + return "No organizations found"; + }, + }) + ); + }, + }, + ]) && d(n.prototype, r), + o && d(n, o), + t + ); + })(r.PureComponent); + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function y(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? v(Object(n), !0).forEach(function (t) { + w(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : v(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function w(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function O() { + var e = E(["\n text-align: center;\n "]); + return ( + (O = function () { + return e; + }), + e + ); + } + function x() { + var e = E(["\n width: 500px;\n "]); + return ( + (x = function () { + return e; + }), + e + ); + } + function k() { + var e = E(["\n font-weight: 500;\n "]); + return ( + (k = function () { + return e; + }), + e + ); + } + function j() { + var e = E([ + "\n margin-right: 0.6rem;\n text-decoration: underline;\n color: ", + ";\n ", + ]); + return ( + (j = function () { + return e; + }), + e + ); + } + function S() { + var e = E(["\n margin-top: 0.8rem;\n "]); + return ( + (S = function () { + return e; + }), + e + ); + } + function E(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function C(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function P(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function T(e, t, n) { + return t && P(e.prototype, t), n && P(e, n), e; + } + function D(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function A(e) { + return (A = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function _(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && N(e, t); + } + function N(e, t) { + return (N = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "a", function () { + return M; + }); + var M = (function (e) { + function t() { + var e, n; + C(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = D( + this, + (e = A(t)).call.apply(e, [this].concat(a)) + )).state = { showAddOrgModal: !1 }), + (n.showOrgAddModal = function (e) { + return function () { + n.setState({ showAddOrgModal: e }); + }; + }), + n + ); + } + return ( + _(t, e), + T(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.orgs, + n = e.onOrgRoleChange, + r = e.onOrgRemove, + l = e.onOrgAdd, + s = this.state.showAddOrgModal, + c = Object(o.css)(S()); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "Organisations" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + t.map(function (e, t) { + return a.a.createElement(L, { + key: "".concat(e.orgId, "-").concat(t), + org: e, + onOrgRoleChange: n, + onOrgRemove: r, + }); + }) + ) + ) + ), + a.a.createElement( + "div", + { className: c }, + a.a.createElement( + i.Forms.Button, + { + variant: "secondary", + onClick: this.showOrgAddModal(!0), + }, + "Add user to organization" + ) + ), + a.a.createElement(B, { + isOpen: s, + onOrgAdd: l, + onDismiss: this.showOrgAddModal(!1), + }) + ) + ); + }, + }, + ]), + t + ); + })(r.PureComponent), + I = ["Viewer", "Editor", "Admin"], + R = Object(i.stylesFactory)(function (e) { + return { + removeButton: Object(o.css)(j(), e.colors.blue95), + label: Object(o.css)(k()), + }; + }), + F = (function (e) { + function t() { + var e, n; + C(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = D( + this, + (e = A(t)).call.apply(e, [this].concat(a)) + )).state = { + currentRole: n.props.org.role, + isChangingRole: !1, + isRemovingFromOrg: !1, + }), + (n.onOrgRemove = function () { + var e = n.props.org; + n.props.onOrgRemove(e.orgId); + }), + (n.onChangeRoleClick = function () { + var e = n.props.org; + n.setState({ isChangingRole: !0, currentRole: e.role }); + }), + (n.onOrgRemoveClick = function () { + n.setState({ isRemovingFromOrg: !0 }); + }), + (n.onOrgRoleChange = function (e) { + var t = e.target.value; + n.setState({ currentRole: t }); + }), + (n.onOrgRoleSave = function () { + n.props.onOrgRoleChange(n.props.org.orgId, n.state.currentRole); + }), + (n.onCancelClick = function () { + n.setState({ isChangingRole: !1, isRemovingFromOrg: !1 }); + }), + n + ); + } + return ( + _(t, e), + T(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.org, + n = e.theme, + r = this.state, + l = r.currentRole, + s = r.isChangingRole, + c = r.isRemovingFromOrg, + u = R(n), + f = Object(o.cx)("width-16", u.label); + return a.a.createElement( + "tr", + null, + a.a.createElement("td", { className: f }, t.name), + s + ? a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: "gf-form-select-wrapper width-8" }, + a.a.createElement( + "select", + { + value: l, + className: "gf-form-input", + onChange: this.onOrgRoleChange, + }, + I.map(function (e, t) { + return a.a.createElement( + "option", + { + value: e, + key: "".concat(e, "-").concat(t), + }, + e + ); + }) + ) + ) + ) + : a.a.createElement( + "td", + { className: "width-25" }, + t.role + ), + !c && + a.a.createElement( + "td", + { colSpan: s ? 2 : 1 }, + a.a.createElement( + "div", + { className: "pull-right" }, + a.a.createElement( + i.ConfirmButton, + { + confirmText: "Save", + onClick: this.onChangeRoleClick, + onCancel: this.onCancelClick, + onConfirm: this.onOrgRoleSave, + }, + "Change role" + ) + ) + ), + !s && + a.a.createElement( + "td", + { colSpan: c ? 2 : 1 }, + a.a.createElement( + "div", + { className: "pull-right" }, + a.a.createElement( + i.ConfirmButton, + { + confirmText: "Confirm removal", + confirmVariant: "danger", + onClick: this.onOrgRemoveClick, + onCancel: this.onCancelClick, + onConfirm: this.onOrgRemove, + }, + "Remove from organisation" + ) + ) + ) + ); + }, + }, + ]), + t + ); + })(r.PureComponent), + L = Object(i.withTheme)(F), + V = Object(i.stylesFactory)(function () { + return { modal: Object(o.css)(x()), buttonRow: Object(o.css)(O()) }; + }), + B = (function (e) { + function t() { + var e, n; + C(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = D( + this, + (e = A(t)).call.apply(e, [this].concat(a)) + )).state = { selectedOrg: null, role: "Admin" }), + (n.onOrgSelect = function (e) { + n.setState({ selectedOrg: y({}, e) }); + }), + (n.onOrgRoleChange = function (e) { + n.setState({ role: e.target.value }); + }), + (n.onAddUserToOrg = function () { + var e = n.state, + t = e.selectedOrg, + r = e.role; + n.props.onOrgAdd(t.id, r); + }), + (n.onCancel = function () { + n.props.onDismiss(); + }), + n + ); + } + return ( + _(t, e), + T(t, [ + { + key: "render", + value: function () { + var e = this.props.isOpen, + t = this.state.role, + n = V(), + r = Object(o.cx)("gf-form-button-row", n.buttonRow); + return a.a.createElement( + i.Modal, + { + className: n.modal, + title: "Add to an organization", + isOpen: e, + onDismiss: this.onCancel, + }, + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "h6", + { className: "" }, + "Organisation" + ), + a.a.createElement(g, { + className: "width-25", + onSelected: this.onOrgSelect, + }) + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement("h6", { className: "" }, "Role"), + a.a.createElement( + "div", + { className: "gf-form-select-wrapper width-16" }, + a.a.createElement( + "select", + { + value: t, + className: "gf-form-input", + onChange: this.onOrgRoleChange, + }, + I.map(function (e, t) { + return a.a.createElement( + "option", + { value: e, key: "".concat(e, "-").concat(t) }, + e + ); + }) + ) + ) + ), + a.a.createElement( + "div", + { className: r }, + a.a.createElement( + i.Forms.Button, + { variant: "primary", onClick: this.onAddUserToOrg }, + "Add to organization" + ), + a.a.createElement( + i.Forms.Button, + { variant: "secondary", onClick: this.onCancel }, + "Cancel" + ) + ) + ); + }, + }, + ]), + t + ); + })(r.PureComponent); + }, + "9iwZ": function (e, t, n) { + "use strict"; + var r, a, o, i; + n.d(t, "b", function () { + return r; + }), + n.d(t, "c", function () { + return a; + }), + n.d(t, "a", function () { + return i; + }), + n.d(t, "e", function () { + return s; + }), + n.d(t, "f", function () { + return c; + }), + n.d(t, "d", function () { + return l; + }), + n.d(t, "g", function () { + return u; + }), + (function (e) { + (e.Viewer = "Viewer"), (e.Editor = "Editor"), (e.Admin = "Admin"); + })(r || (r = {})), + (function (e) { + (e[(e.View = 1)] = "View"), + (e[(e.Edit = 2)] = "Edit"), + (e[(e.Admin = 4)] = "Admin"); + })(a || (a = {})), + (function (e) { + (e[(e.Query = 1)] = "Query"), (e[(e.Admin = 2)] = "Admin"); + })(o || (o = {})), + (function (e) { + (e.Team = "Team"), + (e.User = "User"), + (e.Viewer = "Viewer"), + (e.Editor = "Editor"); + })(i || (i = {})); + o.Query; + var l, + s = [ + { value: i.Team, text: "Team" }, + { value: i.User, text: "User" }, + { value: i.Viewer, text: "Everyone With Viewer Role" }, + { value: i.Editor, text: "Everyone With Editor Role" }, + ], + c = [ + { value: a.View, label: "View", description: "Can view dashboards." }, + { + value: a.Edit, + label: "Edit", + description: "Can add, edit and delete dashboards.", + }, + { + value: a.Admin, + label: "Admin", + description: + "Can add/remove permissions and can add, edit and delete dashboards.", + }, + ]; + !(function (e) { + (e[(e.Member = 0)] = "Member"), (e[(e.Admin = 4)] = "Admin"); + })(l || (l = {})); + var u = [ + { value: l.Member, label: "Member", description: "Is team member" }, + { + value: l.Admin, + label: "Admin", + description: "Can add/remove permissions, members and delete team.", + }, + ]; + }, + "9o1o": function (e, t, n) { + "use strict"; + function r() { + return { + clearIndicator: function () { + return {}; + }, + container: function () { + return {}; + }, + control: function () { + return {}; + }, + dropdownIndicator: function () { + return {}; + }, + group: function () { + return {}; + }, + groupHeading: function () { + return {}; + }, + indicatorsContainer: function () { + return {}; + }, + indicatorSeparator: function () { + return {}; + }, + input: function () { + return {}; + }, + loadingIndicator: function () { + return {}; + }, + loadingMessage: function () { + return {}; + }, + menu: function () { + return {}; + }, + menuList: function (e) { + return { maxHeight: e.maxHeight }; + }, + multiValue: function () { + return {}; + }, + multiValueLabel: function () { + return {}; + }, + multiValueRemove: function () { + return {}; + }, + noOptionsMessage: function () { + return {}; + }, + option: function () { + return {}; + }, + placeholder: function () { + return {}; + }, + singleValue: function () { + return {}; + }, + valueContainer: function () { + return {}; + }, + }; + } + n.d(t, "a", function () { + return r; + }); + }, + ADUO: function (e, t) { + var n = + "public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=false has-text-edit-mode="ctrl.target.queryType === \'Application Insights\'">\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Service</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input service-dropdown" ng-model=ctrl.target.queryType ng-options="f as f for f in [\'Application Insights\', \'Azure Monitor\', \'Azure Log Analytics\']" ng-change=ctrl.onQueryTypeChange()></select>\n </div>\n </div>\n <div class=gf-form ng-if="ctrl.target.queryType === \'Azure Monitor\' || ctrl.target.queryType === \'Azure Log Analytics\'">\n <label class="gf-form-label query-keyword width-9">Subscription</label>\n <gf-form-dropdown model=ctrl.target.subscription allow-custom=true lookup-text=true get-options=ctrl.getSubscriptions() on-change=ctrl.onSubscriptionChange() css-class=min-width-12>\n </gf-form-dropdown>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div ng-if="ctrl.target.queryType === \'Azure Monitor\'">\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Resource Group</label>\n <gf-form-dropdown model=ctrl.target.azureMonitor.resourceGroup allow-custom=true lookup-text=true get-options=ctrl.getResourceGroups($query) on-change=ctrl.onResourceGroupChange() css-class=min-width-12>\n </gf-form-dropdown>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Namespace</label>\n <gf-form-dropdown model=ctrl.target.azureMonitor.metricDefinition allow-custom=true lookup-text=true get-options=ctrl.getMetricDefinitions($query) on-change=ctrl.onMetricDefinitionChange() css-class=min-width-20>\n </gf-form-dropdown>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Resource Name</label>\n <gf-form-dropdown model=ctrl.target.azureMonitor.resourceName allow-custom=true lookup-text=true get-options=ctrl.getResourceNames($query) on-change=ctrl.onResourceNameChange() css-class=min-width-12>\n </gf-form-dropdown>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Metric Namespace</label>\n <gf-form-dropdown model=ctrl.target.azureMonitor.metricNamespace allow-custom=true lookup-text=true get-options=ctrl.getMetricNamespaces($query) on-change=ctrl.onMetricNamespacesChange() css-class=min-width-12>\n </gf-form-dropdown>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Metric</label>\n <gf-form-dropdown model=ctrl.target.azureMonitor.metricName allow-custom=true lookup-text=true get-options=ctrl.getMetricNames($query) on-change=ctrl.onMetricNameChange() css-class=min-width-12>\n </gf-form-dropdown>\n </div>\n <div class="gf-form gf-form--grow aggregation-dropdown-wrapper">\n <label class="gf-form-label query-keyword width-9">Aggregation</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input width-11" ng-model=ctrl.target.azureMonitor.aggregation ng-options="f as f for f in ctrl.target.azureMonitor.aggOptions" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Time Grain</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper">\n <select class=gf-form-input ng-model=ctrl.target.azureMonitor.timeGrain ng-options="f.value as f.text for f in ctrl.target.azureMonitor.timeGrains" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form ng-show="ctrl.target.azureMonitor.timeGrain.trim() === \'auto\'">\n <label class=gf-form-label>Auto Interval</label>\n <label class=gf-form-label>{{ctrl.getAzureMonitorAutoInterval()}}</label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline ng-show="ctrl.target.azureMonitor.dimensions.length > 0">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Dimension</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input min-width-12" ng-model=ctrl.target.azureMonitor.dimension ng-options="f.value as f.text for f in ctrl.target.azureMonitor.dimensions" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-3">eq</label>\n <input type=text class="gf-form-input width-17" ng-model=ctrl.target.azureMonitor.dimensionFilter spellcheck=false placeholder=auto ng-blur=ctrl.refresh()>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Top</label>\n <input type=text class="gf-form-input width-3" ng-model=ctrl.target.azureMonitor.top spellcheck=false placeholder=10 ng-blur=ctrl.refresh()>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Legend Format</label>\n <input type=text class="gf-form-input width-30" ng-model=ctrl.target.azureMonitor.alias spellcheck=false placeholder="alias patterns (see help for more info)" ng-blur=ctrl.refresh()>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n\n <div ng-if="ctrl.target.queryType === \'Azure Log Analytics\'">\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Workspace</label>\n <gf-form-dropdown model=ctrl.target.azureLogAnalytics.workspace allow-custom=true lookup-text=true get-options=ctrl.getWorkspaces() on-change=ctrl.refresh() css-class=min-width-12>\n </gf-form-dropdown>\n <div class=gf-form>\n <div class=width-1></div>\n </div>\n <div class=gf-form>\n <button class="btn btn-primary width-10" ng-click=ctrl.refresh()>Run</button>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n\n <div class="gf-form gf-form--grow">\n <kusto-editor class="gf-form gf-form--grow" query=ctrl.target.azureLogAnalytics.query change=ctrl.onLogAnalyticsQueryChange execute=ctrl.onLogAnalyticsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAzureLogAnalyticsSchema />\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-7">Format As</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.azureLogAnalytics.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n </div>\n <div class=gf-form ng-show=ctrl.lastQuery>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showLastQuery = !ctrl.showLastQuery">\n Raw Query\n <i class="fa fa-caret-down" ng-show=ctrl.showLastQuery></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuery></i>\n </label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showLastQuery>\n <pre class=gf-form-pre>{{ctrl.lastQuery}}</pre>\n </div>\n <div class=gf-form ng-show=ctrl.showHelp>\n <pre class="gf-form-pre alert alert-info">\n Format as Table:\n - return any set of columns\n\n Format as Time series:\n - Requires a column of type datetime\n - returns the first column with a numeric datatype as the value\n - (Optional: returns the first column with type string to represent the series name. If no column is found the column name of the value column is used as series name)\n\n Example Time Series Query:\n\n AzureActivity\n | where $__timeFilter()\n | summarize count() by Category, bin(TimeGenerated, 60min)\n | order by TimeGenerated asc\n\n Macros:\n - $__timeFilter() -> TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z)\n - $__timeFilter(datetimeColumn) -> datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z)\n - $__escapeMulti($myTemplateVar) -> $myTemplateVar should be a multi-value template variables that contains illegal characters\n - $__contains(aColumn, $myTemplateVar) -> aColumn in ($myTemplateVar)\n If using the All option, then check the Include All Option checkbox and in the Custom all value field type in: all. If All is chosen -> 1 == 1\n\n Or build your own conditionals using these built-in variables which just return the values:\n - $__timeFrom -> datetime(2018-06-05T18:09:58.907Z)\n - $__timeTo -> datetime(2018-06-05T20:09:58.907Z)\n - $__interval -> 5m\n\n Examples:\n - ¡ where $__timeFilter\n - | where TimeGenerated ≥ $__timeFrom and TimeGenerated ≤ $__timeTo\n - | summarize count() by Category, bin(TimeGenerated, $__interval)\n </pre>\n </div>\n\n </div>\n\n <div ng-if="ctrl.target.queryType === \'Application Insights\'">\n <div ng-show=!ctrl.target.appInsights.rawQuery>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Metric</label>\n <gf-form-dropdown model=ctrl.target.appInsights.metricName allow-custom=true lookup-text=true get-options=ctrl.getAppInsightsMetricNames($query) on-change=ctrl.onAppInsightsMetricNameChange() css-class=min-width-20>\n </gf-form-dropdown>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Aggregation</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class=gf-form-input ng-model=ctrl.target.appInsights.aggregation ng-options="f as f for f in ctrl.target.appInsights.aggOptions" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Group By</label>\n <gf-form-dropdown allow-custom=true ng-hide="ctrl.target.appInsights.dimension !== \'none\'" model=ctrl.target.appInsights.dimension lookup-text=true get-options=ctrl.getAppInsightsGroupBySegments($query) on-change=ctrl.refresh() css-class=min-width-20>\n </gf-form-dropdown>\n <label class="gf-form-label min-width-20 pointer" ng-hide="ctrl.target.appInsights.dimension === \'none\'" ng-click=ctrl.resetAppInsightsGroupBy()>{{ctrl.target.appInsights.dimension}}\n <i class="fa fa-remove"></i>\n </label>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Filter</label>\n <input type=text class="gf-form-input width-17" ng-model=ctrl.target.appInsights.dimensionFilter spellcheck=false placeholder="your/groupby eq \'a_value\'" ng-blur=ctrl.refresh()>\n </div>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Time Grain</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainType ng-options="f as f for f in [\'auto\', \'none\', \'specific\']" ng-change=ctrl.updateTimeGrainType()></select>\n </div>\n </div>\n <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType === \'auto\' || ctrl.target.appInsights.timeGrainType === \'none\'">\n <input type=text class="gf-form-input width-3" ng-model=ctrl.target.appInsights.timeGrainCount spellcheck=false placeholder="" ng-blur=ctrl.updateAppInsightsTimeGrain()>\n </div>\n <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType === \'auto\' || ctrl.target.appInsights.timeGrainType === \'none\'">\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper">\n <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainUnit ng-options="f as f for f in [\'minute\', \'hour\', \'day\', \'month\', \'year\']" ng-change=ctrl.updateAppInsightsTimeGrain()></select>\n </div>\n </div>\n <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType !== \'auto\'">\n <label class=gf-form-label>Auto Interval</label>\n <label class=gf-form-label>{{ctrl.getAppInsightsAutoInterval()}}</label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Legend Format</label>\n <input type=text class="gf-form-input width-30" ng-model=ctrl.target.appInsights.alias spellcheck=false placeholder="alias patterns (see help for more info)" ng-blur=ctrl.refresh()>\n </div>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div ng-show=ctrl.target.appInsights.rawQuery>\n \x3c!-- <div class="gf-form">\n <textarea rows="3" class="gf-form-input" ng-model="ctrl.target.appInsights.rawQueryString" spellcheck="false"\n placeholder="Application Insights Query" ng-model-onblur ng-change="ctrl.refresh()"></textarea>\n </div> --\x3e\n <div class="gf-form gf-form--grow">\n <kusto-editor class="gf-form gf-form--grow" query=ctrl.target.appInsights.rawQueryString placeholder="\'Application Insights Query\'" change=ctrl.onAppInsightsQueryChange execute=ctrl.onAppInsightsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAppInsightsQuerySchema />\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">X-axis</label>\n <gf-form-dropdown model=ctrl.target.appInsights.timeColumn allow-custom=true placeholder="eg. \'timestamp\'" get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n </gf-form-dropdown>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Y-axis</label>\n <gf-form-dropdown model=ctrl.target.appInsights.valueColumn allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n </gf-form-dropdown>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Split On</label>\n <gf-form-dropdown model=ctrl.target.appInsights.segmentColumn allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n </gf-form-dropdown>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n </div>\n <div class=gf-form ng-show=ctrl.lastQueryError>\n <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n </div>\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + AI1G: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return s; + }), + n.d(t, "a", function () { + return c; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("/MKj"), + i = n("iODs"); + function l() { + return (l = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function s(e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + var s = o.connect.apply(void 0, n)(e); + return function (e) { + return a.a.createElement(s, l({}, e, { store: i.d })); + }; + } + function c(e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + var s = o.connect.apply(void 0, n)(e); + return function (e) { + return a.a.createElement( + o.Provider, + { store: i.d }, + a.a.createElement(s, l({}, e, { store: i.d })) + ); + }; + } + }, + ASW2: function (e, t) {}, + AVRW: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return u; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("ZFWI"), + i = n("HJRA"), + l = n("Obii"); + function s(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var u = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.onPluginTypeChange = function (e) {}), + (this.$injector = n), + (this.$location = n.get("$location")), + (this.$scope = t), + (this.$timeout = n.get("$timeout")), + (this.editorTabs = []), + (this.events = this.panel.events), + (this.timing = {}); + var a = o.b.panels[this.panel.type]; + a && ((this.pluginId = a.id), (this.pluginName = a.name)), + t.$on(l.PanelEvents.componentDidMount.name, function () { + return r.panelDidMount(); + }); + } + var t, n, r, u, f; + return ( + (t = e), + (n = [ + { + key: "panelDidMount", + value: function () { + this.events.emit(l.PanelEvents.componentDidMount), + this.dashboard.panelInitialized(this.panel); + }, + }, + { + key: "renderingCompleted", + value: function () { + i.d.renderingCompleted(); + }, + }, + { + key: "refresh", + value: function () { + this.panel.refresh(); + }, + }, + { + key: "publishAppEvent", + value: function (e, t) { + this.$scope.$root.appEvent(e, t); + }, + }, + { + key: "initEditMode", + value: function () { + this.editModeInitiated || + ((this.editModeInitiated = !0), + this.events.emit(l.PanelEvents.editModeInitialized)); + }, + }, + { + key: "addEditorTab", + value: function (e, t, n, r) { + var o = { title: e, directiveFn: t, icon: r }; + a.a.isString(t) && + (o.directiveFn = function () { + return { templateUrl: t }; + }), + n ? this.editorTabs.splice(n, 0, o) : this.editorTabs.push(o); + }, + }, + { + key: "getExtendedMenu", + value: function () { + var e = []; + return this.events.emit(l.PanelEvents.initPanelActions, e), e; + }, + }, + { + key: "getAdditionalMenuItems", + value: + ((u = regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt("return", []); + case 1: + case "end": + return e.stop(); + } + }, e); + })), + (f = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = u.apply(e, t); + function o(e) { + s(a, n, r, o, i, "next", e); + } + function i(e) { + s(a, n, r, o, i, "throw", e); + } + o(void 0); + }); + }), + function () { + return f.apply(this, arguments); + }), + }, + { + key: "otherPanelInFullscreenMode", + value: function () { + return this.dashboard.meta.fullscreen && !this.panel.fullscreen; + }, + }, + { + key: "render", + value: function (e) { + this.events.emit(l.PanelEvents.render, e); + }, + }, + ]) && c(t.prototype, n), + r && c(t, r), + e + ); + })(); + }, + AWKi: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("MIBK"); + function l() { + var e = c(["\n display: inline-block;\n "]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + var e = c(["\n font-size: ", "px;\n ", "\n "]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var u = Object(i.g)(function (e, t) { + return { + wrapper: Object(o.css)(s(), e, t ? Object(o.css)(l()) : ""), + }; + }), + f = function (e) { + var t = e.className, + n = e.inline, + r = void 0 !== n && n, + i = e.iconClassName, + l = e.style, + s = e.size, + c = u(void 0 === s ? 16 : s, r); + return a.a.createElement( + "div", + { style: l, className: Object(o.cx)(c.wrapper, t) }, + a.a.createElement("i", { + className: Object(o.cx)("fa fa-spinner fa-spin", i), + }) + ); + }; + }, + AZV9: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return o; + }), + n.d(t, "a", function () { + return i; + }); + var r = null, + a = {}; + function o(e, t) { + var n = "".concat(t, "px 'Roboto'"), + o = e + n, + i = a[o]; + if (i) return i; + null === r && (r = document.createElement("canvas")); + var l = r.getContext("2d"); + if (!l) throw new Error("Could not create context"); + l.font = n; + var s = l.measureText(e); + return (a[o] = s), s; + } + function i(e, t, n, r, a) { + var i = (t / (o(e, 14).width + 2)) * 14, + l = n / r, + s = Math.min(l, i); + return Math.min(s, null != a ? a : s); + } + }, + Abyo: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return l; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("GQ3c"), + l = function (e) { + var t = e.ldapConnectionInfo; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "LDAP Connection" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("th", null, "Host"), + a.a.createElement("th", { colSpan: 2 }, "Port") + ) + ), + a.a.createElement( + "tbody", + null, + t && + t.map(function (e, t) { + return a.a.createElement( + "tr", + { key: t }, + a.a.createElement("td", null, e.host), + a.a.createElement("td", null, e.port), + a.a.createElement( + "td", + null, + e.available + ? a.a.createElement("i", { + className: "fa fa-fw fa-check pull-right", + }) + : a.a.createElement("i", { + className: + "fa fa-fw fa-exclamation-triangle pull-right", + }) + ) + ); + }) + ) + ) + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(s, { ldapConnectionInfo: t }) + ) + ) + ); + }, + s = function (e) { + var t = e.ldapConnectionInfo; + if ( + !t.some(function (e) { + return e.error; + }) + ) + return null; + var n = []; + t.forEach(function (e) { + e.error && n.push(e); + }); + var r = n.map(function (e, t) { + return a.a.createElement( + "div", + { key: t }, + a.a.createElement( + "span", + { style: { fontWeight: 500 } }, + e.host, + ":", + e.port, + a.a.createElement("br", null) + ), + a.a.createElement("span", null, e.error), + t !== n.length - 1 && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("br", null), + a.a.createElement("br", null) + ) + ); + }); + return a.a.createElement(o.Alert, { + title: "Connection error", + severity: i.AppNotificationSeverity.Error, + children: r, + }); + }; + }, + Al41: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("1w3K"), + l = n("MIBK"); + function s() { + var e = d([ + "\n label: exitActive;\n opacity: 0;\n ", + ": 0;\n transition: opacity ", + "ms ease-out, ", + " ", + "ms ease-out;\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = d([ + "\n label: exit;\n ", + ": ", + "px;\n opacity: 1;\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = d([ + "\n label: enterActive;\n ", + ": ", + "px;\n opacity: 1;\n transition: opacity ", + "ms ease-out, ", + " ", + "ms ease-out;\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = d([ + "\n label: enter;\n ", + ": 0;\n opacity: 0;\n ", + ]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var p = Object(l.g)(function (e, t, n) { + return { + enter: Object(o.css)(f(), t), + enterActive: Object(o.css)(u(), t, n, e, t, e), + exit: Object(o.css)(c(), t, n), + exitActive: Object(o.css)(s(), t, e, t, e), + }; + }); + function h(e) { + var t = e.visible, + n = e.children, + r = e.duration, + o = void 0 === r ? 250 : r, + l = e.horizontal, + s = e.size, + c = p(o, l ? "width" : "height", s); + return a.a.createElement( + i.CSSTransition, + { + in: t, + mountOnEnter: !0, + unmountOnExit: !0, + timeout: o, + classNames: c, + }, + n + ); + } + }, + BAXh: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return u; + }), + n.d(t, "b", function () { + return f; + }), + n.d(t, "d", function () { + return d; + }); + var r = n("i7Pf"), + a = n("ZJ8E"); + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = Object(r.c)({ + name: "folder", + initialState: { + id: 0, + uid: "loading", + title: "loading", + url: "", + canSave: !1, + hasChanged: !1, + version: 1, + permissions: [], + }, + reducers: { + loadFolder: function (e, t) { + return i({}, e, {}, t.payload, { hasChanged: !1 }); + }, + setFolderTitle: function (e, t) { + return i({}, e, { + title: t.payload, + hasChanged: t.payload.trim().length > 0, + }); + }, + loadFolderPermissions: function (e, t) { + return i({}, e, { permissions: Object(a.a)(t.payload) }); + }, + }, + }), + c = s.actions, + u = c.loadFolderPermissions, + f = c.loadFolder, + d = c.setFolderTitle, + p = s.reducer; + t.a = { folder: p }; + }, + BC3V: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("i8i4"), + i = n.n(o); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s() { + return (s = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = u(this, f(t).call(this, e))).node = document.createElement( + "div" + )); + var r = n.props, + a = r.className, + o = r.root, + i = void 0 === o ? document.body : o; + return ( + a && n.node.classList.add(a), + (n.portalRoot = i), + n.portalRoot.appendChild(n.node), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentWillUnmount", + value: function () { + this.portalRoot.removeChild(this.node); + }, + }, + { + key: "render", + value: function () { + return i.a.createPortal( + a.a.createElement( + "div", + { + style: { zIndex: 1051, position: "relative" }, + ref: this.props.forwardedRef, + }, + this.props.children + ), + this.node + ); + }, + }, + ]) && c(n.prototype, r), + o && c(n, o), + t + ); + })(r.PureComponent); + a.a.forwardRef(function (e, t) { + return a.a.createElement(p, s({}, e, { forwardedRef: t })); + }); + }, + BDxW: function (e, t) { + jQuery.plot.plugins.push({ + init: function (e) { + var t = { x: -1, y: -1, locked: !1 }; + function n(n) { + t.locked || (-1 != t.x && ((t.x = -1), e.triggerRedrawOverlay())); + } + function r(n) { + if (!t.locked) + if (e.getSelection && e.getSelection()) t.x = -1; + else { + var r = e.offset(); + (t.x = Math.max(0, Math.min(n.pageX - r.left, e.width()))), + (t.y = Math.max(0, Math.min(n.pageY - r.top, e.height()))), + e.triggerRedrawOverlay(); + } + } + (e.setCrosshair = function (n) { + if (n) { + var r = e.p2c(n); + (t.x = Math.max(0, Math.min(r.left, e.width()))), + (t.y = Math.max(0, Math.min(r.top, e.height()))); + } else t.x = -1; + e.triggerRedrawOverlay(); + }), + (e.clearCrosshair = e.setCrosshair), + (e.lockCrosshair = function (n) { + n && e.setCrosshair(n), (t.locked = !0); + }), + (e.unlockCrosshair = function () { + t.locked = !1; + }), + e.hooks.bindEvents.push(function (e, t) { + e.getOptions().crosshair.mode && (t.mouseout(n), t.mousemove(r)); + }), + e.hooks.drawOverlay.push(function (e, n) { + var r = e.getOptions().crosshair; + if (r.mode) { + var a = e.getPlotOffset(); + if ((n.save(), n.translate(a.left, a.top), -1 != t.x)) { + var o = e.getOptions().crosshair.lineWidth % 2 ? 0.5 : 0; + if ( + ((n.strokeStyle = r.color), + (n.lineWidth = r.lineWidth), + (n.lineJoin = "round"), + n.beginPath(), + -1 != r.mode.indexOf("x")) + ) { + var i = Math.floor(t.x) + o; + n.moveTo(i, 0), n.lineTo(i, e.height()); + } + if (-1 != r.mode.indexOf("y")) { + var l = Math.floor(t.y) + o; + n.moveTo(0, l), n.lineTo(e.width(), l); + } + n.stroke(); + } + n.restore(); + } + }), + e.hooks.shutdown.push(function (e, t) { + t.unbind("mouseout", n), t.unbind("mousemove", r); + }); + }, + options: { + crosshair: { + mode: null, + color: "rgba(170, 0, 0, 0.80)", + lineWidth: 1, + }, + }, + name: "crosshair", + version: "1.0", + }); + }, + BPIC: function (e, t, n) { + "use strict"; + n.d(t, "g", function () { + return c; + }), + n.d(t, "c", function () { + return u; + }), + n.d(t, "e", function () { + return h; + }), + n.d(t, "d", function () { + return m; + }), + n.d(t, "f", function () { + return g; + }), + n.d(t, "b", function () { + return b; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = Object(r.c)({ + name: "teams", + initialState: { teams: [], searchQuery: "", hasFetched: !1 }, + reducers: { + teamsLoaded: function (e, t) { + return o({}, e, { hasFetched: !0, teams: t.payload }); + }, + setSearchQuery: function (e, t) { + return o({}, e, { searchQuery: t.payload }); + }, + }, + }), + s = l.actions, + c = s.teamsLoaded, + u = s.setSearchQuery, + f = l.reducer, + d = Object(r.c)({ + name: "team", + initialState: { + team: {}, + members: [], + groups: [], + searchMemberQuery: "", + }, + reducers: { + teamLoaded: function (e, t) { + return o({}, e, { team: t.payload }); + }, + teamMembersLoaded: function (e, t) { + return o({}, e, { members: t.payload }); + }, + setSearchMemberQuery: function (e, t) { + return o({}, e, { searchMemberQuery: t.payload }); + }, + teamGroupsLoaded: function (e, t) { + return o({}, e, { groups: t.payload }); + }, + }, + }), + p = d.actions, + h = p.teamLoaded, + m = p.teamGroupsLoaded, + g = p.teamMembersLoaded, + b = p.setSearchMemberQuery, + v = d.reducer; + t.a = { teams: f, team: v }; + }, + BVom: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("S3Uj"), + i = n.n(o); + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var u = { + transition: "max-height ".concat(200, "ms ease-in-out"), + overflow: "hidden", + }, + f = function (e) { + var t = e.children, + n = e.in, + r = e.maxHeight, + o = void 0 === r ? "200px" : r, + l = e.style, + c = void 0 === l ? u : l, + f = { + exited: { maxHeight: 0 }, + entering: { maxHeight: o }, + entered: { maxHeight: "unset", overflow: "visible" }, + exiting: { maxHeight: 0 }, + }; + return a.a.createElement(i.a, { in: n, timeout: 200 }, function (e) { + return a.a.createElement("div", { style: s({}, c, {}, f[e]) }, t); + }); + }; + }, + BvEB: function (e, t) { + var n = "public/app/features/alerting/partials/notifications_list.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n <div ng-if=ctrl.notifications.length>\n <div class=page-action-bar>\n <div class=page-action-bar__spacer>\n </div>\n\n <a href=alerting/notification/new class="btn btn-primary">\n New channel\n </a>\n </div>\n\n <table class="filter-table filter-table--hover">\n <thead>\n <th style=min-width:200px>\n <strong>Name</strong>\n </th>\n <th style=min-width:100px>Type</th>\n <th style=width:1%></th>\n </thead>\n <tbody>\n <tr ng-repeat="notification in ctrl.notifications">\n <td class=link-td>\n <a href=alerting/notification/{{notification.id}}/edit>\n {{notification.name}}\n </a>\n </td>\n <td class=link-td>\n <a href=alerting/notification/{{notification.id}}/edit>\n {{notification.type}}\n </a>\n </td>\n <td class=text-right>\n <span class="btn btn-secondary btn-small" ng-show="notification.isDefault == true">\n default\n </span>\n <a ng-click=ctrl.deleteNotification(notification.id) class="btn btn-danger btn-small">\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div ng-if="ctrl.notifications.length === 0">\n <empty-list-cta title="\'There are no notification channels defined yet\'" buttonicon="\'gicon gicon-alert-notification-channel\'" buttonlink="\'alerting/notification/new\'" buttontitle="\'Add channel\'" protip="\'You can include images in your alert notifications.\'" protiplink="\'http://docs.grafana.org/alerting/notifications/\'" protiplinktitle="\'Learn more\'" protiptarget="\'_blank\'"/>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + BwrN: function (e, t, n) { + "use strict"; + function r(e) { + return (r = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function a(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function o(e, t) { + return !t || ("object" !== r(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function i(e) { + return (i = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function l(e, t) { + return (l = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "a", function () { + return c; + }), + n.d(t, "b", function () { + return s; + }); + var s, + c = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = o(this, i(t).call(this))).panel = e), + n + ); + } + var n, r, s; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && l(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "setEditor", + value: function (e) { + return (this.editor = e), this; + }, + }, + { + key: "setDefaults", + value: function (e) { + return (this.defaults = e), this; + }, + }, + { + key: "setNoPadding", + value: function () { + return (this.noPadding = !0), this; + }, + }, + { + key: "setMigrationHandler", + value: function (e) { + return (this.onPanelMigration = e), this; + }, + }, + { + key: "setPanelChangeHandler", + value: function (e) { + return (this.onPanelTypeChanged = e), this; + }, + }, + { + key: "setCustomFieldConfigs", + value: function (e) { + return (this.customFieldConfigs = e), this; + }, + }, + ]) && a(n.prototype, r), + s && a(n, s), + t + ); + })(n("CnP+").a); + !(function (e) { + (e.Auto = "auto"), + (e.Vertical = "vertical"), + (e.Horizontal = "horizontal"); + })(s || (s = {})); + }, + BxXJ: function (e, t) {}, + Cawo: function (e, t, n) { + "use strict"; + var r = n("oOjz"), + a = n("DlQD"), + o = n.n(a); + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = { + renderer: new o.a.Renderer(), + pedantic: !1, + gfm: !0, + tables: !0, + sanitize: !0, + smartLists: !0, + smartypants: !1, + xhtml: !1, + }; + function c(e) { + o.a.setOptions( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, s, {}, e) + ); + } + function u(e) { + return o()(e || ""); + } + function f(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function d(e) { + var t = e.searchWords, + n = e.textToHighlight; + return t.reduce(function (e, t) { + return [].concat(f(e), f(p(n, t))); + }, []); + } + function p(e, t) { + if (!e || !t) return []; + var n, + r = [], + a = m( + (function (e) { + return e.replace(/[[{(][\w,.-?:*+]+$/, ""); + })(t) + ), + o = a.cleaned, + i = a.flags; + try { + n = new RegExp("(?:".concat(o, ")"), i); + } catch (e) { + return r; + } + return ( + e.replace(n, function (e) { + if (e) { + var t, + n = + (t = + (arguments.length <= 1 ? 0 : arguments.length - 1) - + 2 + + 1) < 1 || arguments.length <= t + ? void 0 + : arguments[t]; + r.push({ + text: e, + start: n, + length: e.length, + end: n + e.length, + }); + } + return ""; + }), + r + ); + } + var h = /\(\?([ims-]+)\)/g; + function m(e) { + var t = new Set(["g"]); + return { + cleaned: e.replace(h, function (e, n) { + for (var r = n.startsWith("-"), a = 0; a < n.length; ++a) { + var o = n.charAt(a); + r || "-" === n.charAt(a - 1) + ? t.delete(o) + : "-" !== o && t.add(o); + } + return ""; + }), + flags: Array.from(t).join(""), + }; + } + n.d(t, "a", function () { + return r.a; + }), + n.d(t, "m", function () { + return r.h; + }), + n.d(t, "g", function () { + return r.b; + }), + n.d(t, "h", function () { + return r.c; + }), + n.d(t, "i", function () { + return r.d; + }), + n.d(t, "l", function () { + return r.g; + }), + n.d(t, "k", function () { + return r.f; + }), + n.d(t, "j", function () { + return r.e; + }), + n.d(t, "f", function () { + return c; + }), + n.d(t, "e", function () { + return u; + }), + n.d(t, "b", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "d", function () { + return m; + }); + }, + "CnP+": function (e, t, n) { + "use strict"; + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var a, o, i; + n.d(t, "c", function () { + return a; + }), + n.d(t, "d", function () { + return o; + }), + n.d(t, "b", function () { + return i; + }), + n.d(t, "a", function () { + return l; + }), + (function (e) { + (e.alpha = "alpha"), (e.beta = "beta"); + })(a || (a = {})), + (function (e) { + (e.panel = "panel"), + (e.datasource = "datasource"), + (e.app = "app"), + (e.renderer = "renderer"); + })(o || (o = {})), + (function (e) { + (e.dashboard = "dashboard"), + (e.page = "page"), + (e.panel = "panel"), + (e.datasource = "datasource"); + })(i || (i = {})); + var l = (function () { + var e, t, n; + function a() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, a), + (this.meta = {}); + } + return ( + (e = a), + (t = [ + { + key: "addConfigPage", + value: function (e) { + return ( + this.configPages || (this.configPages = []), + this.configPages.push(e), + this + ); + }, + }, + ]) && r(e.prototype, t), + n && r(e, n), + a + ); + })(); + }, + CqUX: function (e, t, n) { + "use strict"; + var r = { "[": "]", "{": "}", "(": ")" }; + function a() { + return { + onKeyDown: function (e, t, n) { + var a = e, + o = t.value; + switch (a.key) { + case "(": + case "{": + case "[": + var i = o.selection, + l = i.start, + s = l.offset, + c = l.key, + u = i.end, + f = u.offset, + d = u.key, + p = i.focus.offset, + h = o.focusText.text; + if (o.selection.isExpanded) + return ( + a.preventDefault(), + t + .insertTextByKey(c, s, a.key) + .insertTextByKey(d, f + 1, r[a.key]) + .moveEndBackward(1), + !0 + ); + if ( + p === h.length || + " " === h[p] || + Object.values(r).includes(h[p]) + ) { + a.preventDefault(); + var m = r[a.key], + g = { + key: "".concat("brace_match", "-").concat(Date.now()), + type: "".concat("brace_match", "-").concat(m), + anchor: { key: c, offset: s, object: "point" }, + focus: { key: d, offset: f + 1, object: "point" }, + object: "annotation", + }; + return ( + t + .insertText(a.key) + .insertText(m) + .addAnnotation(g) + .moveBackward(1), + !0 + ); + } + break; + case ")": + case "}": + case "]": + var b = o.anchorText.text[o.selection.anchor.offset], + v = a.key, + y = "".concat("brace_match", "-").concat(v), + w = o.annotations.find(function (e) { + return ( + (null == e ? void 0 : e.type) === y && + e.anchor.key === o.anchorText.key + ); + }); + if (w && b === v && !o.selection.isExpanded) + return ( + a.preventDefault(), + t + .moveFocusForward(1) + .removeAnnotation(w) + .moveAnchorForward(1), + !0 + ); + break; + case "Backspace": + var O = o.anchorText.text, + x = o.selection.anchor.offset, + k = O[x - 1], + j = O[x]; + if (r[k] && r[k] === j) + return ( + a.preventDefault(), + t.deleteBackward(1).deleteForward(1).focus(), + !0 + ); + } + return n(); + }, + }; + } + function o() { + return { + onKeyDown: function (e, t, n) { + var r = e, + a = t.value; + if (a.selection.isExpanded) return n(); + if ("k" === r.key && r.ctrlKey) { + r.preventDefault(); + var o = a.anchorText.text, + i = a.selection.anchor.offset, + l = o.length - i; + return t.deleteForward(l), !0; + } + return n(); + }, + }; + } + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function s() { + var e = { + onCopy: function (e, t, n) { + var r = e; + r.preventDefault(); + var a = t.value, + o = a.document, + i = a.selection, + l = i.start.offset, + s = i.end.offset, + c = (function (e, t, n) { + if (e.length) { + var r = e.slice(0, -1).join("").length + e.length - 1; + return e.join("\n").slice(t, r + n); + } + })( + o + .getLeafBlocksAtRange(i) + .toArray() + .map(function (e) { + return e.text; + }), + l, + s + ); + return ( + c && r.clipboardData && r.clipboardData.setData("Text", c), !0 + ); + }, + onPaste: function (e, t, n) { + var r = e; + if ((r.preventDefault(), r.clipboardData)) { + var a = r.clipboardData.getData("Text").split("\n"); + if (a.length) { + t.insertText(a[0]); + var o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = a.slice(1)[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value; + t.splitBlock().insertText(u); + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + } + } + return !0; + }, + }; + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { + onCut: function (t, n, r) { + return e.onCopy(t, n, r), n.deleteAtRange(n.value.selection), !0; + }, + }); + } + var c = n("0aAt"), + u = n("Uaxt"), + f = Object(u.isKeyHotkey)("mod+["), + d = Object(u.isKeyHotkey)("shift+tab"), + p = Object(u.isKeyHotkey)("mod+]"), + h = function (e, t) { + var n = e.value.selection, + r = e.value.document.getLeafBlocksAtRange(n).toArray(); + if ("left" === t) { + var a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = r[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var u = l.value, + f = u.text.length - u.text.trimLeft().length, + d = u.getFirstText().key, + p = { + anchor: { key: d, offset: f, path: [] }, + focus: { key: d, offset: f, path: [] }, + }; + e.deleteBackwardAtRange( + c.k.create(p), + Math.min(" ".length, f) + ); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + } else { + var h = e.value.startText.text.slice(0, n.start.offset), + m = /^\s*$/.test(h), + g = !0, + b = !1, + v = void 0; + try { + for ( + var y, w = r[Symbol.iterator](); + !(g = (y = w.next()).done); + g = !0 + ) { + var O = y.value; + e.insertTextByKey(O.getFirstText().key, 0, " "); + } + } catch (e) { + (b = !0), (v = e); + } finally { + try { + g || null == w.return || w.return(); + } finally { + if (b) throw v; + } + } + m && e.moveStartBackward(" ".length); + } + }; + function m() { + return { + onKeyDown: function (e, t, n) { + var r = e; + if (f(r) || d(r)) r.preventDefault(), h(t, "left"); + else if (p(r)) r.preventDefault(), h(t, "right"); + else { + if ("Tab" !== r.key) return n(); + r.preventDefault(), + (function (e, t, n) { + var r = t.value, + a = r.startBlock, + o = r.endBlock, + i = r.selection, + l = i.start, + s = l.offset, + c = l.key, + u = i.end, + f = u.offset, + d = u.key, + p = a.getFirstText(); + (p && + 0 === s && + c === p.key && + f === p.text.length && + d === p.key) || + !a.equals(o) + ? h(t, "right") + : t.insertText(" "); + })(0, t); + } + return !0; + }, + }; + } + function g() { + return { + onKeyDown: function (e, t, n) { + var r = e, + a = t.value; + if (a.selection.isExpanded) return n(); + if ("Enter" === r.key && r.shiftKey) { + r.preventDefault(); + var o = (function (e) { + var t = e.length - e.trimLeft().length; + if (t) { + for (var n = e[0]; --t; ) n += e[0]; + return n; + } + return ""; + })(a.startBlock.text); + return t.splitBlock().insertText(o).focus(); + } + return n(); + }, + }; + } + function b(e) { + var t = e.handler; + return { + onKeyDown: function (e, n, r) { + var a = e; + return t && "Enter" === a.key && !a.shiftKey + ? (a.preventDefault(), t(a), !0) + : r(); + }, + }; + } + var v = Object(u.isKeyHotkey)("mod+l"); + function y() { + return { + onKeyDown: function (e, t, n) { + var r = e; + if (!v(r)) return n(); + r.preventDefault(); + var a = t.value, + o = a.focusBlock, + i = a.document; + return ( + t.moveAnchorToStartOfBlock(), + i.getNextBlock(o.key) + ? t.moveFocusToStartOfNextBlock() + : t.moveFocusToEndOfText(), + !0 + ); + }, + }; + } + var w = n("wZee"), + O = n.n(w), + x = n("q1tI"), + k = n.n(x), + j = n("JPcv"); + function S(e) { + return (S = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function E(e, t) { + return !t || ("object" !== S(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function C(e) { + return (C = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function P(e, t) { + return (P = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var T = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + E(this, C(t).call(this, e)) + ); + } + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && P(e, t); + })(t, e), + t + ); + })( + Object(j.Record)({ + onlyIn: function (e) { + return "block" === e.object && "code_block" === e.type; + }, + getSyntax: function (e) { + return "javascript"; + }, + renderDecoration: function (e, t, n) { + var r = e.decoration; + if ("prism-token" !== r.type) return n(); + var a = r.data.get("className"); + return k.a.createElement("span", { className: a }, e.children); + }, + }) + ); + function D() { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = new T(e); + return { + decorateNode: function (e, n, r) { + return t.onlyIn(e) ? A(t, c.a.create(e)) : r(); + }, + renderDecoration: function (e, n, r) { + return t.renderDecoration( + { children: e.children, decoration: e.decoration }, + n, + r + ); + }, + }; + } + function A(e, t) { + var n = e.getSyntax(t), + r = O.a.languages[n]; + if (!r) return []; + var a = t.getTexts(), + o = a + .map(function (e) { + return e && e.getText(); + }) + .join("\n"), + i = O.a.tokenize(o, r), + l = [], + s = 0, + c = 0; + return ( + a.forEach(function (e) { + c = s + e.getText().length; + var n = 0; + i.forEach(function r(a, o) { + if ("string" == typeof a) { + if (o) { + var i = _({ + text: e, + textStart: s, + textEnd: c, + start: n, + end: n + a.length, + className: "prism-token token ".concat(o), + block: t, + }); + i && l.push(i); + } + n += a.length; + } else if ( + ((o = "" + .concat(o, " ") + .concat(a.type, " ") + .concat(a.alias || "")), + "string" == typeof a.content) + ) { + var u = _({ + text: e, + textStart: s, + textEnd: c, + start: n, + end: n + a.content.length, + className: "prism-token token ".concat(o), + block: t, + }); + u && l.push(u), (n += a.content.length); + } else + for (var f = 0; f < a.content.length; f += 1) + r(a.content[f], o); + }), + (s = c + 1); + }), + l + ); + } + function _(e) { + var t = e.text, + n = e.textStart, + r = e.textEnd, + a = e.start, + o = e.end, + i = e.className, + l = e.block; + return a >= r || o <= n + ? null + : ((a = Math.max(a, n)), + (o = Math.min(o, r)), + (a -= n), + (o -= n), + l.createDecoration({ + object: "decoration", + anchor: { key: t.key, offset: a, object: "point" }, + focus: { key: t.key, offset: o, object: "point" }, + type: "prism-token", + data: { className: i }, + })); + } + var N = n("sEfC"), + M = n.n(N), + I = n("xweI"), + R = n.n(I), + F = n("i8i4"), + L = n.n(F), + V = n("LvDl"), + B = n.n(V), + $ = n("iR1w"), + q = n("kDDq"), + U = n("kDLi"); + function z() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n label: type-ahead-item;\n padding: ", + " ", + " ", + " ", + ";\n border-radius: ", + ";\n border: ", + ";\n overflow-y: scroll;\n overflow-x: hidden;\n outline: none;\n background: ", + ";\n color: ", + ";\n box-shadow: ", + ";\n visibility: ", + ";\n width: 250px;\n height: ", + "px;\n position: relative;\n ", + ]); + return ( + (z = function () { + return e; + }), + e + ); + } + var H = function (e) { + var t = e.item, + n = e.height, + r = t && !!t.documentation, + a = t ? t.label : "", + o = t && t.documentation ? t.documentation : "", + i = (function (e, t, n) { + return { + typeaheadItem: Object(q.css)( + z(), + e.spacing.sm, + e.spacing.sm, + e.spacing.sm, + e.spacing.md, + e.border.radius.md, + Object(U.selectThemeVariant)( + { + light: "solid 1px ".concat(e.colors.gray5), + dark: "solid 1px ".concat(e.colors.dark1), + }, + e.type + ), + Object(U.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.dark4 }, + e.type + ), + e.colors.text, + Object(U.selectThemeVariant)( + { + light: "0 5px 10px 0 ".concat(e.colors.gray5), + dark: "0 5px 10px 0 ".concat(e.colors.black), + }, + e.type + ), + !0 === n ? "visible" : "hidden", + t + parseInt(e.spacing.xxs, 10) + ), + }; + })(Object(x.useContext)(U.ThemeContext), n, r); + return k.a.createElement( + "div", + { className: Object(q.cx)([i.typeaheadItem]) }, + k.a.createElement("b", null, a), + k.a.createElement("hr", null), + k.a.createElement("span", null, o) + ); + }, + G = n("WG1l"), + W = n.n(G), + Q = n("eGKl"), + Y = n("2r/H"), + K = n("Fts8"); + function J() { + var e = te([ + "\n label: type-ahead-item-group-title;\n color: ", + ";\n font-size: ", + ";\n line-height: ", + ";\n padding: ", + ";\n ", + ]); + return ( + (J = function () { + return e; + }), + e + ); + } + function Z() { + var e = te([ + "\n label: type-ahead-item-match;\n color: ", + ";\n border-bottom: 1px solid ", + ";\n padding: inherit;\n background: inherit;\n ", + ]); + return ( + (Z = function () { + return e; + }), + e + ); + } + function X() { + var e = te([ + "\n label: type-ahead-item-selected;\n background-color: ", + ";\n ", + ]); + return ( + (X = function () { + return e; + }), + e + ); + } + function ee() { + var e = te([ + "\n label: type-ahead-item;\n height: auto;\n font-family: ", + ";\n padding: ", + " ", + " ", + " ", + ";\n font-size: ", + ";\n text-overflow: ellipsis;\n overflow: hidden;\n z-index: 1;\n display: block;\n white-space: nowrap;\n cursor: pointer;\n transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),\n background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n ", + ]); + return ( + (ee = function () { + return e; + }), + e + ); + } + function te(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var ne = function (e) { + var t = (function (e) { + return { + typeaheadItem: Object(q.css)( + ee(), + e.typography.fontFamily.monospace, + e.spacing.sm, + e.spacing.sm, + e.spacing.sm, + e.spacing.md, + e.typography.size.sm + ), + typeaheadItemSelected: Object(q.css)( + X(), + Object(Q.a)( + { light: e.colors.gray6, dark: e.colors.dark9 }, + e.type + ) + ), + typeaheadItemMatch: Object(q.css)( + Z(), + e.colors.yellow, + e.colors.yellow + ), + typeaheadItemGroupTitle: Object(q.css)( + J(), + e.colors.textWeak, + e.typography.size.sm, + e.typography.lineHeight.md, + e.spacing.sm + ), + }; + })(Object(x.useContext)(K.a)), + n = e.isSelected, + r = e.item, + a = e.prefix, + o = e.style, + i = e.onMouseEnter, + l = e.onMouseLeave, + s = e.onClickItem, + c = n + ? Object(q.cx)([t.typeaheadItem, t.typeaheadItemSelected]) + : Object(q.cx)([t.typeaheadItem]), + u = Object(q.cx)([t.typeaheadItemMatch]), + f = Object(q.cx)([t.typeaheadItemGroupTitle]), + d = r.label || ""; + return r.kind === Y.a.GroupTitle + ? k.a.createElement( + "li", + { className: f, style: o }, + k.a.createElement("span", null, d) + ) + : k.a.createElement( + "li", + { + className: c, + style: o, + onMouseDown: s, + onMouseEnter: i, + onMouseLeave: l, + }, + k.a.createElement(W.a, { + textToHighlight: d, + searchWords: [a], + highlightClassName: u, + }) + ); + }, + re = n("pHSZ"), + ae = n.n(re); + function oe(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var ie = function (e) { + return e.reduce(function (e, t) { + var n = t.items, + r = { label: t.label, kind: Y.a.GroupTitle }; + return e.push.apply(e, [r].concat(oe(n))), e; + }, []); + }, + le = function (e) { + return e.reduce(function (e, t) { + return e.length < t.label.length ? t.label : e; + }, ""); + }, + se = function (e, t, n) { + var r = ae()(n, { + font: e.typography.fontFamily.monospace, + fontSize: e.typography.size.sm, + fontWeight: "normal", + }), + a = ue(r.width, e), + o = ce(r.height, e); + return { listWidth: a, listHeight: fe(o, t), itemHeight: o }; + }, + ce = function (e, t) { + return e + 2 * parseInt(t.spacing.sm, 10); + }, + ue = function (e, t) { + var n = parseInt(t.spacing.sm, 10) + parseInt(t.spacing.md, 10); + return Math.min(Math.max(e + n, 200), 800); + }, + fe = function (e, t) { + var n = Math.min(t.length, 10) * e; + return Math.max(n, 100); + }; + function de(e) { + return (de = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function pe(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function he(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function me(e, t, n) { + return t && he(e.prototype, t), n && he(e, n), e; + } + function ge(e, t) { + return !t || ("object" !== de(t) && "function" != typeof t) ? ve(e) : t; + } + function be(e) { + return (be = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ve(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function ye(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && we(e, t); + } + function we(e, t) { + return (we = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Oe = function (e, t) { + return e - t * Math.floor(e / t); + }, + xe = (function (e) { + function t() { + var e, n; + pe(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ge( + this, + (e = be(t)).call.apply(e, [this].concat(a)) + )).listRef = Object(x.createRef)()), + (n.state = { + hoveredItem: null, + typeaheadIndex: 1, + allItems: [], + listWidth: -1, + listHeight: -1, + itemHeight: -1, + }), + (n.componentDidMount = function () { + n.props.menuRef && n.props.menuRef(ve(n)), + document.addEventListener( + "selectionchange", + n.handleSelectionChange + ); + var e = ie(n.props.groupedItems), + t = le(e), + r = se(n.context, e, t), + a = r.listWidth, + o = r.listHeight, + i = r.itemHeight; + n.setState({ + listWidth: a, + listHeight: o, + itemHeight: i, + allItems: e, + }); + }), + (n.componentWillUnmount = function () { + document.removeEventListener( + "selectionchange", + n.handleSelectionChange + ); + }), + (n.handleSelectionChange = function () { + n.forceUpdate(); + }), + (n.componentDidUpdate = function (e, t) { + if ( + t.typeaheadIndex !== n.state.typeaheadIndex && + n.listRef && + n.listRef.current + ) { + if (1 === n.state.typeaheadIndex) + return void n.listRef.current.scrollToItem(0); + n.listRef.current.scrollToItem(n.state.typeaheadIndex); + } + if (!1 === B.a.isEqual(e.groupedItems, n.props.groupedItems)) { + var r = ie(n.props.groupedItems), + a = le(r), + o = se(n.context, r, a), + i = o.listWidth, + l = o.listHeight, + s = o.itemHeight; + n.setState({ + listWidth: i, + listHeight: l, + itemHeight: s, + allItems: r, + }); + } + }), + (n.onMouseEnter = function (e) { + n.setState({ hoveredItem: e }); + }), + (n.onMouseLeave = function () { + n.setState({ hoveredItem: null }); + }), + (n.moveMenuIndex = function (e) { + var t = n.state.allItems.length; + if (t) { + var r = Oe(n.state.typeaheadIndex + e, t); + return ( + n.state.allItems[r].kind === Y.a.GroupTitle && + (r = Oe(r + e, t)), + void n.setState({ typeaheadIndex: r }) + ); + } + }), + (n.insertSuggestion = function () { + n.props.onSelectSuggestion && + n.props.onSelectSuggestion( + n.state.allItems[n.state.typeaheadIndex] + ); + }), + n + ); + } + return ( + ye(t, e), + me(t, [ + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.prefix, + r = t.isOpen, + a = void 0 !== r && r, + o = t.origin, + i = this.state, + l = i.allItems, + s = i.listWidth, + c = i.listHeight, + u = i.itemHeight, + f = i.hoveredItem, + d = i.typeaheadIndex, + p = f || d; + return k.a.createElement( + ke, + { origin: o, isOpen: a, style: this.menuPosition }, + k.a.createElement( + "ul", + { className: "typeahead" }, + k.a.createElement( + $.a, + { + ref: this.listRef, + itemCount: l.length, + itemSize: u, + itemKey: function (e) { + var t = l && l[e]; + return t + ? "".concat(e, "-").concat(t.label) + : "".concat(e); + }, + width: s, + height: c, + }, + function (t) { + var r = t.index, + a = t.style, + o = l && l[r]; + return o + ? k.a.createElement(ne, { + onClickItem: function () { + return e.props.onSelectSuggestion + ? e.props.onSelectSuggestion(o) + : {}; + }, + isSelected: l[d] === o, + item: o, + prefix: n, + style: a, + onMouseEnter: function () { + return e.onMouseEnter(r); + }, + onMouseLeave: e.onMouseLeave, + }) + : null; + } + ) + ), + p && k.a.createElement(H, { height: c, item: l[f || d] }) + ); + }, + }, + { + key: "menuPosition", + get: function () { + if (!window.getSelection) return ""; + var e = window.getSelection(), + t = e && e.anchorNode; + if (t && t.parentElement) { + var n = t.parentElement.getBoundingClientRect(), + r = window.scrollX, + a = window.scrollY; + return "position: absolute; display: flex; top: " + .concat(n.top + a + n.height + 6, "px; left: ") + .concat(n.left + r - 2, "px"); + } + return ""; + }, + }, + ]), + t + ); + })(k.a.PureComponent); + xe.contextType = K.a; + var ke = (function (e) { + function t(e) { + var n; + pe(this, t), (n = ge(this, be(t).call(this, e))); + var r = e.index, + a = void 0 === r ? 0 : r, + o = e.origin, + i = void 0 === o ? "query" : o, + l = e.style; + return ( + (n.node = document.createElement("div")), + n.node.setAttribute("style", l), + n.node.classList.add( + "slate-typeahead", + "slate-typeahead-".concat(i, "-").concat(a) + ), + document.body.appendChild(n.node), + n + ); + } + return ( + ye(t, e), + me(t, [ + { + key: "componentWillUnmount", + value: function () { + document.body.removeChild(this.node); + }, + }, + { + key: "render", + value: function () { + return this.props.isOpen + ? (this.node.setAttribute("style", this.props.style), + this.node.classList.add("slate-typeahead--open"), + L.a.createPortal(this.props.children, this.node)) + : (this.node.classList.remove("slate-typeahead--open"), + null); + }, + }, + ]), + t + ); + })(k.a.PureComponent), + je = n("zp0N"); + function Se(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Ee(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ce(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ee(Object(n), !0).forEach(function (t) { + Pe(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ee(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Pe(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Te(e) { + var t, + n = e.onTypeahead, + r = e.cleanText, + a = e.onWillApplySuggestion, + o = e.portalOrigin, + i = { + groupedItems: [], + typeaheadPrefix: "", + typeaheadContext: "", + typeaheadText: "", + }, + l = M()(De, 250), + s = function (e) { + i = Ce({}, i, {}, e); + }; + return { + onBlur: function (e, t, n) { + return (i = Ce({}, i, { groupedItems: [] })), n(); + }, + onClick: function (e, t, n) { + return (i = Ce({}, i, { groupedItems: [] })), n(); + }, + onKeyDown: function (e, a, o) { + var c = e, + u = i.groupedItems.length; + switch (c.key) { + case "Escape": + if (u) + return ( + c.preventDefault(), + (i = Ce({}, i, { groupedItems: [] })), + a.insertText("") + ); + break; + case "ArrowDown": + case "ArrowUp": + if (u) + return ( + c.preventDefault(), + void t.moveMenuIndex("ArrowDown" === c.key ? 1 : -1) + ); + break; + case "Enter": + case "Tab": + if (u) return c.preventDefault(), t.insertSuggestion(); + break; + default: + l(a, s, n, r); + } + return o(); + }, + commands: { + selectSuggestion: function (e, t) { + var a = i.groupedItems; + if (!a || !a.length) return e; + var o = e.applyTypeahead(t); + return l(e, s, n, r), o; + }, + applyTypeahead: function (e, t) { + var n = t.insertText || t.label, + o = "function" === t.kind, + l = t.move || 0, + s = i, + c = s.typeaheadPrefix, + u = s.typeaheadText, + f = s.typeaheadContext; + a && + (n = a(n, { + groupedItems: i.groupedItems, + typeaheadContext: f, + typeaheadPrefix: c, + typeaheadText: u, + })); + var d = t.deleteBackwards || c.length, + p = (r ? r(u) : u).length - c.length, + h = u.indexOf(c), + m = c && ((p > 0 && h > -1) || n === u) && !o ? p + h : 0; + if (n.match(/\n/)) { + var g = Object(je.b)(n); + return e + .deleteBackward(d) + .deleteForward(m) + .insertFragment(g) + .focus(); + } + return ( + (i = Ce({}, i, { groupedItems: [] })), + e + .deleteBackward(d) + .deleteForward(m) + .insertText(n) + .moveForward(l) + .focus() + ); + }, + }, + renderEditor: function (e, n, r) { + if (n.value.selection.isExpanded) return r(); + var a = r(); + return k.a.createElement( + k.a.Fragment, + null, + a, + k.a.createElement(xe, { + menuRef: function (e) { + return (t = e); + }, + origin: o, + prefix: i.typeaheadPrefix, + isOpen: !!i.groupedItems.length, + groupedItems: i.groupedItems, + onSelectSuggestion: n.selectSuggestion, + }) + ); + }, + }; + } + var De = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t, n, r, a) { + var o, i, l, s, c, u, f, d, p, h, m, g, b, v, y, w; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (r) { + e.next = 2; + break; + } + return e.abrupt("return"); + case 2: + return ( + (o = t.value), + (i = o.selection), + (l = o.document.getClosestBlock(o.focusBlock.key)), + (s = o.selection.start.offset - 1), + (c = l && l.getDecorations(t)), + (u = c + ? c + .filter(function (e) { + return ( + e.start.offset <= s && + e.end.offset > s && + "prism-token" === e.type + ); + }) + .toArray() + : []), + (f = + c && + c + .filter(function (e) { + return ( + e.end.offset <= s && + "prism-token" === e.type && + e.data.get("className").includes("label-key") + ); + }) + .last()), + (d = + f && + o.focusText.text.slice(f.start.offset, f.end.offset)), + (p = u + .map(function (e) { + return e.data.get("className"); + }) + .join(" ") + .split(" ") + .filter(function (e) { + return e.length; + })), + (h = o.focusText.text), + (m = h.slice(0, i.focus.offset)), + u.length && + ((h = o.focusText.text.slice( + u[0].start.offset, + u[0].end.offset + )), + (m = o.focusText.text.slice( + u[0].start.offset, + i.focus.offset + ))), + (g = m.match(/(?:!?=~?"?|")(.*)/)) + ? (m = g[1]) + : a && (m = a(m)), + (e.next = 18), + r({ + prefix: m, + text: h, + value: o, + wrapperClasses: p, + labelKey: d || void 0, + }) + ); + case 18: + (b = e.sent), + (v = b.suggestions), + (y = b.context), + (w = v + .map(function (e) { + return e.items + ? (m && + (e.skipFilter || + ((e.items = e.items.filter(function (e) { + return ( + (e.filterText || e.label).length >= + m.length + ); + })), + e.prefixMatch + ? (e.items = e.items.filter(function (e) { + return ( + e.filterText || e.label + ).startsWith(m); + })) + : (e.items = e.items.filter(function (e) { + return ( + e.filterText || e.label + ).includes(m); + }))), + (e.items = e.items.filter(function (e) { + return ( + e.insertText || + (e.filterText || e.label) !== m + ); + }))), + e.skipSort || + (e.items = R()(e.items, function (e) { + return e.sortText || e.label; + })), + e) + : e; + }) + .filter(function (e) { + return e.items && e.items.length; + })), + n({ + groupedItems: w, + typeaheadPrefix: m, + typeaheadContext: y, + typeaheadText: h, + }), + t.blur().focus(); + case 24: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Se(o, r, a, i, l, "next", e); + } + function l(e) { + Se(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e, n, r, a) { + return t.apply(this, arguments); + }; + })(); + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }), + n.d(t, "c", function () { + return s; + }), + n.d(t, "d", function () { + return m; + }), + n.d(t, "e", function () { + return g; + }), + n.d(t, "f", function () { + return b; + }), + n.d(t, "g", function () { + return y; + }), + n.d(t, "h", function () { + return D; + }), + n.d(t, "i", function () { + return Te; + }); + }, + DR0N: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return m; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("drYJ"), + i = n("MIBK"), + l = n("kDDq"), + s = n("VEkI"); + function c() { + var e = p(["\n flex: 1 1 100%;\n "]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = p(["\n margin-top: ", "px;\n "]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = p([ + "\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n ", + ]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d() { + var e = p([ + "\n display: flex;\n flex-direction: column;\n margin-bottom: ", + "px;\n ", + ]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var h = Object(i.g)(function (e) { + return { + field: Object(l.css)(d(), 2 * e.spacing.formSpacingBase), + fieldHorizontal: Object(l.css)(f()), + fieldValidationWrapper: Object(l.css)( + u(), + e.spacing.formSpacingBase / 2 + ), + fieldValidationWrapperHorizontal: Object(l.css)(c()), + }; + }), + m = function (e) { + var t, + n = e.label, + r = e.description, + c = e.horizontal, + u = e.invalid, + f = e.loading, + d = e.disabled, + p = e.required, + m = e.error, + g = e.children, + b = e.className, + v = Object(i.h)(), + y = h(v), + w = a.a.Children.map(g, function (e) { + return e; + })[0]; + return ( + w && (t = w.props.id), + a.a.createElement( + "div", + { className: Object(l.cx)(y.field, c && y.fieldHorizontal, b) }, + n && + a.a.createElement( + o.a, + { htmlFor: t, description: r }, + "".concat(n).concat(p ? " *" : "") + ), + a.a.createElement( + "div", + null, + a.a.cloneElement(g, { invalid: u, disabled: d, loading: f }), + u && + m && + !c && + a.a.createElement( + "div", + { className: y.fieldValidationWrapper }, + a.a.createElement(s.a, null, m) + ) + ), + u && + m && + c && + a.a.createElement( + "div", + { + className: Object(l.cx)( + y.fieldValidationWrapper, + y.fieldValidationWrapperHorizontal + ), + }, + a.a.createElement(s.a, null, m) + ) + ) + ); + }; + }, + Dijz: function (e, t) {}, + E1lu: function (e, t) { + var n = + "public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<cloudwatch-annotation-query-editor datasource=ctrl.datasource on-change=ctrl.onChange query=ctrl.annotation></cloudwatch-annotation-query-editor>\n" + ); + }, + ]), + (e.exports = n); + }, + E5F5: function (e, t, n) { + "use strict"; + var r = n("TSYQ"), + a = n.n(r), + o = n("q1tI"), + i = n.n(o), + l = n("HNDo"), + s = n("BffY"), + c = n("yS3H"), + u = n("EwfM"), + f = function (e) { + var t = e.children, + n = e.isSelected, + r = e.data; + return i.a.createElement( + u.z.Option, + e, + i.a.createElement( + "div", + { className: "gf-form-select-box__desc-option" }, + r.imgUrl && + i.a.createElement("img", { + className: "gf-form-select-box__desc-option__img", + src: r.imgUrl, + }), + i.a.createElement( + "div", + { className: "gf-form-select-box__desc-option__body" }, + i.a.createElement("div", null, t), + r.description && + i.a.createElement( + "div", + { className: "gf-form-select-box__desc-option__desc" }, + r.description + ) + ), + n && + i.a.createElement("i", { + className: "fa fa-check", + "aria-hidden": "true", + }) + ) + ); + }, + d = n("mbvD"), + p = n("sH2m"), + h = n("aAiC"), + m = n("EiQK"), + g = n("9o1o"), + b = n("vkM9"), + v = n("5/7A"); + function y(e) { + return (y = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function w() { + return (w = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function O(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function x(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function k(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function j(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function S(e, t, n) { + return t && j(e.prototype, t), n && j(e, n), e; + } + function E(e, t) { + return !t || ("object" !== y(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function C(e) { + return (C = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function P(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && T(e, t); + } + function T(e, t) { + return (T = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "b", function () { + return D; + }), + n.d(t, "a", function () { + return A; + }); + var D = (function (e) { + function t() { + return k(this, t), E(this, C(t).apply(this, arguments)); + } + return ( + P(t, e), + S(t, [ + { + key: "render", + value: function () { + var e = this.props, + n = e.defaultValue, + r = e.getOptionLabel, + o = e.getOptionValue, + c = e.onChange, + u = e.options, + f = e.placeholder, + d = e.width, + p = e.value, + h = e.className, + m = e.isDisabled, + b = e.isLoading, + v = e.isSearchable, + y = e.isClearable, + k = e.backspaceRemovesValue, + j = e.isMulti, + S = e.autoFocus, + E = e.openMenuOnFocus, + C = e.onBlur, + P = e.maxMenuHeight, + T = e.noOptionsMessage, + D = e.isOpen, + A = e.components, + N = e.tooltipContent, + M = e.tabSelectsValue, + I = e.onCloseMenu, + R = e.onOpenMenu, + F = e.allowCustomValue, + L = e.formatCreateLabel, + V = ""; + d && (V = "width-" + d); + var B = l.a, + $ = {}; + F && + ((B = s.a), + ($.formatCreateLabel = + null != L + ? L + : function (e) { + return e; + })); + var q = a()( + "gf-form-input", + "gf-form-input--form-dropdown", + V, + h + ), + U = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? O(Object(n), !0).forEach(function (t) { + x(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : O(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, t.defaultProps.components, {}, A); + return i.a.createElement( + _, + { + onCloseMenu: I, + onOpenMenu: R, + tooltipContent: N, + isOpen: D, + }, + function (e, t) { + return i.a.createElement( + B, + w( + { + captureMenuScroll: !1, + classNamePrefix: "gf-form-select-box", + className: q, + components: U, + defaultValue: n, + value: p, + getOptionLabel: r, + getOptionValue: o, + menuShouldScrollIntoView: !1, + isSearchable: v, + onChange: c, + options: u, + placeholder: f || "Choose", + styles: Object(g.a)(), + isDisabled: m, + isLoading: b, + isClearable: y, + autoFocus: S, + onBlur: C, + openMenuOnFocus: E, + maxMenuHeight: P, + noOptionsMessage: function () { + return T; + }, + isMulti: j, + backspaceRemovesValue: k, + menuIsOpen: D, + onMenuOpen: e, + onMenuClose: t, + tabSelectsValue: M, + }, + $ + ) + ); + } + ); + }, + }, + ]), + t + ); + })(o.PureComponent); + D.defaultProps = { + className: "", + isDisabled: !1, + isSearchable: !0, + isClearable: !1, + isMulti: !1, + openMenuOnFocus: !1, + autoFocus: !1, + isLoading: !1, + backspaceRemovesValue: !0, + maxMenuHeight: 300, + tabSelectsValue: !0, + allowCustomValue: !1, + components: { + Option: f, + SingleValue: p.a, + IndicatorsContainer: h.b, + MenuList: function (e) { + return i.a.createElement( + u.z.MenuList, + e, + i.a.createElement( + b.a, + { autoHide: !1, autoHeightMax: "inherit" }, + e.children + ) + ); + }, + Group: d.a, + }, + }; + var A = (function (e) { + function t() { + return k(this, t), E(this, C(t).apply(this, arguments)); + } + return ( + P(t, e), + S(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.defaultValue, + n = e.getOptionLabel, + r = e.getOptionValue, + o = e.onChange, + l = e.placeholder, + s = e.width, + u = e.value, + d = e.className, + b = e.loadOptions, + v = e.defaultOptions, + y = e.isLoading, + w = e.loadingMessage, + O = e.noOptionsMessage, + x = e.isDisabled, + k = e.isSearchable, + j = e.isClearable, + S = e.backspaceRemovesValue, + E = e.autoFocus, + C = e.onBlur, + P = e.openMenuOnFocus, + T = e.maxMenuHeight, + D = e.isMulti, + A = e.tooltipContent, + N = e.onCloseMenu, + M = e.onOpenMenu, + I = e.isOpen, + R = ""; + s && (R = "width-" + s); + var F = a()( + "gf-form-input", + "gf-form-input--form-dropdown", + R, + d + ); + return i.a.createElement( + _, + { + onCloseMenu: N, + onOpenMenu: M, + tooltipContent: A, + isOpen: I, + }, + function (e, a) { + return i.a.createElement(c.a, { + captureMenuScroll: !1, + classNamePrefix: "gf-form-select-box", + className: F, + components: { + Option: f, + SingleValue: p.a, + IndicatorsContainer: h.b, + NoOptionsMessage: m.b, + }, + defaultValue: t, + value: u, + getOptionLabel: n, + getOptionValue: r, + menuShouldScrollIntoView: !1, + onChange: o, + loadOptions: b, + isLoading: y, + defaultOptions: v, + placeholder: l || "Choose", + styles: Object(g.a)(), + loadingMessage: function () { + return w; + }, + noOptionsMessage: O, + isDisabled: x, + isSearchable: k, + isClearable: j, + autoFocus: E, + onBlur: C, + openMenuOnFocus: P, + maxMenuHeight: T, + isMulti: D, + backspaceRemovesValue: S, + }); + } + ); + }, + }, + ]), + t + ); + })(o.PureComponent); + A.defaultProps = { + className: "", + components: {}, + loadingMessage: function () { + return "Loading..."; + }, + isDisabled: !1, + isClearable: !1, + isMulti: !1, + isSearchable: !0, + backspaceRemovesValue: !0, + autoFocus: !1, + openMenuOnFocus: !1, + maxMenuHeight: 300, + }; + var _ = (function (e) { + function t() { + var e, n; + k(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = E(this, (e = C(t)).call.apply(e, [this].concat(a)))).state = { + isOpenInternal: !1, + }), + (n.onOpenMenu = function () { + var e = n.props.onOpenMenu; + e && e(), n.setState({ isOpenInternal: !0 }); + }), + (n.onCloseMenu = function () { + var e = n.props.onCloseMenu; + e && e(), n.setState({ isOpenInternal: !1 }); + }), + n + ); + } + return ( + P(t, e), + S(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.children, + n = e.isOpen, + r = e.tooltipContent, + a = void 0; + return ( + (this.state.isOpenInternal || n) && (a = !1), + r + ? i.a.createElement( + v.b, + { show: a, content: r, placement: "bottom" }, + i.a.createElement( + "div", + null, + t(this.onOpenMenu, this.onCloseMenu) + ) + ) + : i.a.createElement( + "div", + null, + t(this.onOpenMenu, this.onCloseMenu) + ) + ); + }, + }, + ]), + t + ); + })(o.PureComponent); + t.c = D; + }, + EOC3: function (e, t) { + var n = + "public/app/core/components/manage_dashboards/manage_dashboards.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=dashboard-list>\n <div class="page-action-bar page-action-bar--narrow" ng-hide="ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n <label class="gf-form gf-form--grow gf-form--has-input-icon">\n <input type=text class="gf-form-input max-width-30" placeholder="Find Dashboard by name" tabindex=1 give-focus=true ng-model=ctrl.query.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.onQueryChange() />\n <i class="gf-form-input-icon fa fa-search"></i>\n </label>\n <div class=page-action-bar__spacer></div>\n <a class="btn btn-primary" ng-href={{ctrl.createDashboardUrl()}} ng-if="ctrl.hasEditPermissionInFolders || ctrl.canSave">\n New Dashboard\n </a>\n <a class="btn btn-inverse" href=dashboards/folder/new ng-if="!ctrl.folderId && ctrl.isEditor">\n New Folder\n </a>\n <a class="btn btn-inverse" href={{ctrl.importDashboardUrl()}} ng-if="ctrl.hasEditPermissionInFolders || ctrl.canSave">\n Import\n </a>\n </div>\n\n <div class="page-action-bar page-action-bar--narrow" ng-show=ctrl.hasFilters>\n <div class=gf-form-inline>\n <div class=gf-form ng-show="ctrl.query.tag.length > 0">\n <label class="gf-form-label width-4">\n Tags\n </label>\n <div class="gf-form-input gf-form-input--plaintext" ng-show="ctrl.query.tag.length > 0">\n <span ng-repeat="tagName in ctrl.query.tag">\n <a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name=tagName class="tag label label-tag">\n <i class="fa fa-remove"></i> {{tagName}}\n </a>\n </span>\n </div>\n </div>\n <div class=gf-form ng-show=ctrl.query.starred>\n <label class=gf-form-label>\n <a class=pointer ng-click=ctrl.removeStarred()>\n <i class="fa fa-fw fa-check"></i> Starred\n </a>\n </label>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer ng-click=ctrl.clearFilters() bs-tooltip="\'Clear current search query and filters\'">\n <i class="fa fa-remove"></i> Clear\n </a>\n </label>\n </div>\n </div>\n </div>\n\n <div class=search-results ng-show="ctrl.hasFilters && ctrl.sections.length === 0">\n <em class=muted>\n No dashboards matching your query were found.\n </em>\n </div>\n\n\t<div class=search-results ng-show="!ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n <em class=muted>\n No dashboards found.\n </em>\n </div>\n\n <div class=search-results ng-show="ctrl.sections.length > 0">\n <div class=search-results-filter-row>\n <gf-form-checkbox on-change=ctrl.onSelectAllChanged() checked=ctrl.selectAllChecked switch-class=gf-form-checkbox--transparent />\n <div class=search-results-filter-row__filters>\n <div class=gf-form-select-wrapper ng-show="!(ctrl.canMove || ctrl.canDelete)">\n <select class="search-results-filter-row__filters-item gf-form-input" ng-model=ctrl.selectedStarredFilter ng-options="t.text disable when t.disabled for t in ctrl.starredFilterOptions" ng-change=ctrl.onStarredFilterChange() />\n </div>\n <div class=gf-form-select-wrapper ng-show="!(ctrl.canMove || ctrl.canDelete)">\n <select class="search-results-filter-row__filters-item gf-form-input" ng-model=ctrl.selectedTagFilter ng-options="t.term disable when t.disabled for t in ctrl.tagFilterOptions" ng-change=ctrl.onTagFilterChange() />\n </div>\n <div class=gf-form-button-row ng-show="ctrl.canMove || ctrl.canDelete">\n <button type=button class="btn gf-form-button btn-inverse" ng-disabled=!ctrl.canMove ng-click=ctrl.moveTo() bs-tooltip="ctrl.canMove ? \'\' : \'Select a dashboard to move (cannot move folders)\'" data-placement=bottom>\n <i class="fa fa-exchange"></i> Move\n </button>\n <button type=button class="btn gf-form-button btn-danger" ng-click=ctrl.delete() ng-disabled=!ctrl.canDelete>\n <i class="fa fa-trash"></i> Delete\n </button>\n </div>\n </div>\n </div>\n <div class=search-results-container>\n <dashboard-search-results results=ctrl.sections editable=true on-selection-changed=ctrl.selectionChanged() on-tag-selected=ctrl.filterByTag($tag) />\n </div>\n </div>\n\n</div>\n\n<div ng-if="ctrl.canSave && ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n <empty-list-cta title="\'This folder doesn\\\'t have any dashboards yet\'" buttonicon="\'gicon gicon-dashboard-new\'" buttonlink="\'dashboard/new?folderId={{ctrl.folderId}}\'" buttontitle="\'Create Dashboard\'" protip="\'Add/move dashboards to your folder at ->\'" protiplink="\'dashboards\'" protiplinktitle="\'Manage dashboards\'" protiptarget=""/>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + EiQK: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("EwfM"), + i = function (e) { + var t = e.children; + return a.a.createElement( + o.z.Option, + e, + a.a.createElement( + "div", + { className: "gf-form-select-box__desc-option" }, + a.a.createElement( + "div", + { className: "gf-form-select-box__desc-option__body" }, + t + ) + ) + ); + }; + t.b = i; + }, + F03Y: function (e, t, n) { + "use strict"; + function r(e) { + for (var t = [], n = 0; n < e.length; n++) t[n] = e.get(n); + return t; + } + n.d(t, "a", function () { + return r; + }); + }, + "FFN/": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return s; + }), + n.d(t, "e", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }), + n.d(t, "c", function () { + return f; + }), + n.d(t, "d", function () { + return d; + }), + n.d(t, "l", function () { + return p; + }), + n.d(t, "k", function () { + return h; + }), + n.d(t, "j", function () { + return m; + }), + n.d(t, "i", function () { + return g; + }), + n.d(t, "m", function () { + return b; + }), + n.d(t, "h", function () { + return y; + }), + n.d(t, "g", function () { + return w; + }), + n.d(t, "o", function () { + return O; + }), + n.d(t, "p", function () { + return x; + }), + n.d(t, "n", function () { + return k; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = { + dataSources: [], + plugins: [], + categories: [], + dataSource: {}, + layoutMode: n("Wu7z").a.List, + searchQuery: "", + dataSourcesCount: 0, + dataSourceTypeSearchQuery: "", + hasFetched: !1, + isLoadingDataSources: !1, + dataSourceMeta: {}, + }, + s = Object(r.b)("dataSources/dataSourceLoaded"), + c = Object(r.b)("dataSources/dataSourcesLoaded"), + u = Object(r.b)("dataSources/dataSourceMetaLoaded"), + f = Object(r.b)("dataSources/dataSourcePluginsLoad"), + d = Object(r.b)("dataSources/dataSourcePluginsLoaded"), + p = Object(r.b)("dataSources/setDataSourcesSearchQuery"), + h = Object(r.b)("dataSources/setDataSourcesLayoutMode"), + m = Object(r.b)("dataSources/setDataSourceTypeSearchQuery"), + g = Object(r.b)("dataSources/setDataSourceName"), + b = Object(r.b)("dataSources/setIsDefault"), + v = { + testingStatus: { status: null, message: null }, + loadError: null, + plugin: null, + }, + y = Object(r.b)("dataSourceSettings/initDataSourceSettingsSucceeded"), + w = Object(r.b)("dataSourceSettings/initDataSourceSettingsFailed"), + O = Object(r.b)("dataSourceSettings/testDataSourceStarting"), + x = Object(r.b)("dataSourceSettings/testDataSourceSucceeded"), + k = Object(r.b)("dataSourceSettings/testDataSourceFailed"); + t.f = { + dataSources: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : l, + t = arguments.length > 1 ? arguments[1] : void 0; + return c.match(t) + ? o({}, e, { + hasFetched: !0, + dataSources: t.payload, + dataSourcesCount: t.payload.length, + }) + : s.match(t) + ? o({}, e, { dataSource: t.payload }) + : p.match(t) + ? o({}, e, { searchQuery: t.payload }) + : h.match(t) + ? o({}, e, { layoutMode: t.payload }) + : f.match(t) + ? o({}, e, { plugins: [], isLoadingDataSources: !0 }) + : d.match(t) + ? o({}, e, { + plugins: t.payload.plugins, + categories: t.payload.categories, + isLoadingDataSources: !1, + }) + : m.match(t) + ? o({}, e, { dataSourceTypeSearchQuery: t.payload }) + : u.match(t) + ? o({}, e, { dataSourceMeta: t.payload }) + : g.match(t) + ? o({}, e, { dataSource: o({}, e.dataSource, { name: t.payload }) }) + : b.match(t) + ? o({}, e, { + dataSource: o({}, e.dataSource, { isDefault: t.payload }), + }) + : e; + }, + dataSourceSettings: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : v, + t = arguments.length > 1 ? arguments[1] : void 0; + return y.match(t) + ? o({}, e, { plugin: t.payload, loadError: null }) + : w.match(t) + ? o({}, e, { plugin: null, loadError: t.payload.message }) + : O.match(t) + ? o({}, e, { + testingStatus: { message: "Testing...", status: "info" }, + }) + : x.match(t) + ? o({}, e, { + testingStatus: { + status: t.payload.status, + message: t.payload.message, + }, + }) + : k.match(t) + ? o({}, e, { + testingStatus: { status: "error", message: t.payload.message }, + }) + : e; + }, + }; + }, + FO4H: function (e, t, n) { + "use strict"; + n.r(t), + n.d(t, "convertSeriesListToCsv", function () { + return g; + }), + n.d(t, "exportSeriesListToCsv", function () { + return b; + }), + n.d(t, "convertSeriesListToCsvColumns", function () { + return v; + }), + n.d(t, "exportSeriesListToCsvColumns", function () { + return y; + }), + n.d(t, "convertTableDataToCsv", function () { + return w; + }), + n.d(t, "exportTableDataToCsv", function () { + return O; + }), + n.d(t, "saveSaveBlob", function () { + return x; + }); + var r = n("LvDl"), + a = n("JEAp"), + o = n("7tlc"), + i = n("Obii"); + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var u = { + dateTimeFormat: "YYYY-MM-DDTHH:mm:ssZ", + excel: !1, + timezone: "", + }; + function f(e) { + return e + ? e + .split('"') + .join('""') + .replace(/^([-+=@])/, "'$1") + .replace(/\s+$/, "") + : e; + } + var d = new DOMParser(); + function p(e) { + if (!e) return e; + var t = /&[^;]+;/g; + function n(e) { + return d.parseFromString(e, "text/html").body.textContent; + } + return e.replace(t, n).replace(t, n); + } + function h(e) { + return e ? "sep=".concat(";").concat("\r\n") : ""; + } + function m(e) { + for ( + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1], + n = "", + a = 0; + a < e.length; + a += 1 + ) + Object(r.isBoolean)(e[a]) || + Object(r.isNumber)(e[a]) || + Object(o.isNullOrUndefined)(e[a]) + ? (n += e[a]) + : (n += "" + .concat('"') + .concat(f(Object(r.unescape)(p(e[a])))) + .concat('"')), + a < e.length - 1 && (n += ";"); + return t ? n + "\r\n" : n; + } + function g(e, t) { + for ( + var n = s({}, u, {}, t), + r = n.dateTimeFormat, + a = n.excel, + o = n.timezone, + l = h(a) + m(["Series", "Time", "Value"]), + c = 0; + c < e.length; + c += 1 + ) + for (var f = 0; f < e[c].datapoints.length; f += 1) + l += m( + [ + e[c].alias, + "utc" === o + ? Object(i.dateTime)(e[c].datapoints[f][1]).utc().format(r) + : Object(i.dateTime)(e[c].datapoints[f][1]).format(r), + e[c].datapoints[f][0], + ], + f < e[c].datapoints.length - 1 || c < e.length - 1 + ); + return l; + } + function b(e, t) { + x(g(e, t), "grafana_data_export.csv"); + } + function v(e, t) { + for ( + var n = s({}, u, {}, t), + a = n.dateTimeFormat, + o = n.excel, + l = n.timezone, + c = + h(o) + + m( + ["Time"].concat( + e.map(function (e) { + return e.alias; + }) + ) + ), + f = (function (e) { + for (var t = [], n = 0; n < e.length; n++) + for (var a = e[n].datapoints, o = 0; o < a.length; o++) + t.push(a[o][1]); + t = Object(r.sortedUniq)(t.sort()); + for (var i = [], l = 0; l < e.length; l++) { + for ( + var s = e[l].datapoints, + c = s.map(function (e) { + return e[1]; + }), + u = [], + f = 0; + f < t.length; + f++ + ) { + var d = t[f], + p = Object(r.sortedIndexOf)(c, d); + -1 !== p ? u.push(s[p]) : u.push([null, d]); + } + i.push(u); + } + return i; + })(e), + d = function (e) { + var t = + "utc" === l + ? Object(i.dateTime)(f[0][e][1]).utc().format(a) + : Object(i.dateTime)(f[0][e][1]).format(a); + c += m( + [t].concat( + f.map(function (t) { + return t[e][0]; + }) + ), + e < f[0].length - 1 + ); + }, + p = 0; + p < f[0].length; + p += 1 + ) + d(p); + return c; + } + function y(e, t) { + x(v(e, t), "grafana_data_export.csv"); + } + function w(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = h(t); + n += m( + e.columns.map(function (e) { + return e.title || e.text; + }) + ); + for (var r = 0; r < e.rows.length; r += 1) + n += m(e.rows[r], r < e.rows.length - 1); + return n; + } + function O(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = w(e, t); + x(n, "grafana_data_export.csv"); + } + function x(e, t) { + var n = new Blob([e], { + type: "text/csv;charset=utf-8;header=present;", + }); + Object(a.saveAs)(n, t); + } + }, + FgzG: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("Obii"), + i = n("HNDo"), + l = n("BffY"), + s = n("yS3H"), + c = n("SBRz"), + u = n("Vt59"), + f = n("kDDq"), + d = n("4Qg+"), + p = n("9o1o"), + h = n("Fts8"), + m = n("qQGB"), + g = n("eGKl"); + function b() { + var e = E(["\n margin-left: ", ";\n "]); + return ( + (b = function () { + return e; + }), + e + ); + } + function v() { + var e = E([ + "\n display: flex;\n align-items: center;\n line-height: 1;\n background: ", + ";\n border-radius: ", + ";\n padding: ", + " ", + " ", + " ", + ";\n margin: ", + " ", + " ", + " 0;\n color: ", + ";\n ", + ]); + return ( + (v = function () { + return e; + }), + e + ); + } + function y() { + var e = E([ + "\n padding: ", + ";\n text-align: center;\n width: 100%;\n ", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w() { + var e = E(["\n flex-wrap: wrap;\n "]); + return ( + (w = function () { + return e; + }), + e + ); + } + function O() { + var e = E([ + "\n align-items: center;\n display: flex;\n position: relative;\n box-sizing: border-box;\n flex: 1 1 0%;\n outline: none;\n overflow: hidden;\n ", + ]); + return ( + (O = function () { + return e; + }), + e + ); + } + function x() { + var e = E([ + "\n color: ", + ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-sizing: border-box;\n max-width: 100%;\n ", + ]); + return ( + (x = function () { + return e; + }), + e + ); + } + function k() { + var e = E([ + "\n background: ", + ";\n border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n border-image-slice: 1;\n border-style: solid;\n border-top: 0;\n border-right: 0;\n border-bottom: 0;\n border-left-width: 2px;\n ", + ]); + return ( + (k = function () { + return e; + }), + e + ); + } + function j() { + var e = E([ + "\n padding: 8px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: row;\n white-space: nowrap;\n cursor: pointer;\n border-left: 2px solid transparent;\n &:hover {\n background: ", + ";\n }\n ", + ]); + return ( + (j = function () { + return e; + }), + e + ); + } + function S() { + var e = E([ + "\n background: ", + ";\n box-shadow: 0px 4px 4px ", + ";\n position: relative;\n min-width: 100%;\n z-index: 1;\n ", + ]); + return ( + (S = function () { + return e; + }), + e + ); + } + function E(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var C = Object(m.a)(function (e) { + var t = Object(g.a)( + { light: e.colors.white, dark: e.colors.formInputBg }, + e.type + ), + n = Object(g.a)( + { light: e.colors.gray4, dark: e.colors.black }, + e.type + ), + r = Object(g.a)( + { light: e.colors.gray7, dark: e.colors.gray10 }, + e.type + ), + a = Object(g.a)( + { light: e.colors.gray6, dark: e.colors.gray05 }, + e.type + ), + o = Object(g.a)( + { light: e.colors.gray25, dark: e.colors.gray85 }, + e.type + ); + return { + menu: Object(f.css)(S(), t, n), + option: Object(f.css)(j(), r), + optionFocused: Object(f.css)(k(), r), + singleValue: Object(f.css)(x(), e.colors.formInputText), + valueContainer: Object(f.css)(O()), + valueContainerMulti: Object(f.css)(w()), + loadingMessage: Object(f.css)(y(), e.spacing.sm), + multiValueContainer: Object(f.css)( + v(), + a, + e.border.radius.sm, + e.spacing.xs, + e.spacing.xxs, + e.spacing.xs, + e.spacing.sm, + e.spacing.xxs, + e.spacing.xs, + e.spacing.xxs, + o + ), + multiValueRemove: Object(f.css)(b(), e.spacing.xs), + }; + }), + P = n("vkM9"); + function T() { + return (T = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var D = a.a.forwardRef(function (e, t) { + var n = Object(h.c)(), + r = C(n), + o = e.children, + i = e.maxHeight, + l = e.innerRef, + s = e.innerProps; + return a.a.createElement( + "div", + T({}, s, { + className: r.menu, + ref: l, + style: { maxHeight: i }, + "aria-label": "Select options menu", + }), + a.a.createElement( + P.a, + { autoHide: !1, autoHeightMax: "inherit", hideHorizontalTrack: !0 }, + o + ) + ); + }); + D.displayName = "SelectMenu"; + var A = a.a.forwardRef(function (e, t) { + var n = Object(h.c)(), + r = C(n), + o = e.children, + i = e.innerProps, + l = e.data, + s = e.renderOptionLabel, + c = e.isSelected, + d = e.isFocused; + return a.a.createElement( + "div", + T( + { + ref: t, + className: Object(f.cx)(r.option, d && r.optionFocused), + }, + i, + { "aria-label": "Select option" } + ), + a.a.createElement("span", null, s ? s(l) : o), + c && + a.a.createElement( + "span", + null, + a.a.createElement(u.a, { name: "check" }) + ) + ); + }), + _ = n("6iRR"); + function N() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n position: relative;\n "]); + return ( + (N = function () { + return e; + }), + e + ); + } + var M = a.a.forwardRef(function (e, t) { + var n = e.children, + r = Object(h.c)(), + o = Object(_.b)({ theme: r, invalid: !1 }); + return a.a.createElement( + "div", + { className: Object(f.cx)(o.suffix, Object(f.css)(N())), ref: t }, + n + ); + }), + I = function (e) { + var t = Object(h.c)(), + n = C(t), + r = e.children, + o = e.isMulti; + return a.a.createElement( + "div", + { + className: Object(f.cx)( + n.valueContainer, + o && n.valueContainerMulti + ), + }, + r + ); + }, + R = n("MIBK"); + function F() { + return (F = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function L(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function V() { + var e = U(["\n position: relative;\n "]); + return ( + (V = function () { + return e; + }), + e + ); + } + function B() { + var e = U(["\n padding-left: 0;\n "]); + return ( + (B = function () { + return e; + }), + e + ); + } + function $() { + var e = U([ + "\n min-height: 32px;\n height: auto;\n flex-direction: row;\n padding-right: 0;\n max-width: 100%;\n align-items: center;\n cursor: default;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n position: relative;\n box-sizing: border-box;\n ", + ]); + return ( + ($ = function () { + return e; + }), + e + ); + } + function q() { + var e = U(["\n ", "\n "]); + return ( + (q = function () { + return e; + }), + e + ); + } + function U(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var z = Object(R.g)(function (e, t, n, r, a) { + var o = Object(_.b)({ theme: e, invalid: t }); + return { + wrapper: Object(f.cx)( + o.wrapper, + Object(d.f)(e, t), + n && Object(f.css)(q(), Object(d.a)(e)), + r && o.inputDisabled, + Object(f.css)($()), + a && Object(f.css)(B()) + ), + prefix: Object(f.cx)(o.prefix, Object(f.css)(V())), + }; + }), + H = a.a.forwardRef(function (e, t) { + var n = e.focused, + r = e.invalid, + o = e.disabled, + i = e.children, + l = e.innerProps, + s = e.prefix, + c = + (L(e, [ + "focused", + "invalid", + "disabled", + "children", + "innerProps", + "prefix", + ]), + Object(h.c)()), + u = z(c, r, n, o, !!s); + return a.a.createElement( + "div", + F({ className: u.wrapper }, l, { ref: t }), + s && + a.a.createElement( + "div", + { className: Object(f.cx)(u.prefix) }, + s + ), + i + ); + }), + G = function (e) { + var t = e.isOpen ? "caret-up" : "caret-down"; + return a.a.createElement(u.a, { name: t }); + }, + W = n("mbvD"), + Q = n("sH2m"); + function Y() { + return (Y = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var K = function (e) { + var t = e.innerProps, + n = e.children, + r = Object(R.h)(), + o = C(r); + return a.a.createElement( + "div", + Y({}, t, { className: o.multiValueContainer }), + n + ); + }, + J = function (e) { + e.children; + var t = e.innerProps, + n = Object(R.h)(), + r = C(n); + return a.a.createElement( + "div", + Y({}, t, { className: r.multiValueRemove }), + a.a.createElement(u.a, { name: "times" }) + ); + }; + function Z(e) { + return (Z = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + var X = function e(t, n) { + var r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = n[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + if ("options" in s) { + var c = e(t, s.options); + if (c) return c; + } else if ("value" in s && s.value === t) return s; + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return null; + }; + function ee() { + return (ee = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function te() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n display: inline-block;\n color: ", + ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n box-sizing: border-box;\n line-height: 1;\n ", + ]); + return ( + (te = function () { + return e; + }), + e + ); + } + function ne(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function re(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ne(Object(n), !0).forEach(function (t) { + ae(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ne(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ae(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + n.d(t, "a", function () { + return ie; + }); + var oe = function (e) { + var t = e.children, + n = e.innerProps, + r = e.selectProps, + o = r.menuIsOpen, + i = r.onMenuClose, + l = r.onMenuOpen, + s = e.isFocused, + c = e.isMulti, + u = e.getValue, + f = e.innerRef, + d = e.selectProps; + return d.renderControl + ? a.a.createElement(d.renderControl, { + isOpen: o, + value: c ? u() : u()[0], + ref: f, + onClick: o ? i : l, + onBlur: i, + disabled: !!d.disabled, + invalid: !!d.invalid, + }) + : a.a.createElement( + H, + { + ref: f, + innerProps: n, + prefix: d.prefix, + focused: s, + invalid: !!d.invalid, + disabled: !!d.disabled, + }, + t + ); + }; + function ie(e) { + var t = e.allowCustomValue, + n = void 0 !== t && t, + h = e.autoFocus, + m = void 0 !== h && h, + g = e.backspaceRemovesValue, + b = void 0 === g || g, + v = e.components, + y = e.defaultOptions, + w = e.defaultValue, + O = e.disabled, + x = void 0 !== O && O, + k = e.formatCreateLabel, + j = e.getOptionLabel, + S = e.getOptionValue, + E = e.inputValue, + P = e.invalid, + T = e.isClearable, + _ = void 0 !== T && T, + N = e.isLoading, + F = void 0 !== N && N, + L = e.isMulti, + V = void 0 !== L && L, + B = e.isOpen, + $ = e.isSearchable, + q = void 0 === $ || $, + U = e.loadOptions, + z = e.loadingMessage, + H = void 0 === z ? "Loading options..." : z, + Y = e.maxMenuHeight, + ne = void 0 === Y ? 300 : Y, + ae = e.menuPosition, + ie = e.noOptionsMessage, + le = void 0 === ie ? "No options found" : ie, + se = e.onBlur, + ce = e.onChange, + ue = e.onCloseMenu, + fe = e.onCreateOption, + de = e.onInputChange, + pe = e.onKeyDown, + he = e.onOpenMenu, + me = e.openMenuOnFocus, + ge = void 0 !== me && me, + be = e.options, + ve = void 0 === be ? [] : be, + ye = e.placeholder, + we = void 0 === ye ? "Choose" : ye, + Oe = e.prefix, + xe = e.renderControl, + ke = e.size, + je = void 0 === ke ? "auto" : ke, + Se = e.tabSelectsValue, + Ee = void 0 === Se || Se, + Ce = e.value, + Pe = e.width, + Te = Object(R.h)(), + De = C(Te), + Ae = Object(r.useCallback)( + function (e) { + if (V && null == e) return ce([]); + ce(e); + }, + [V, Ce, ce] + ), + _e = i.a, + Ne = {}, + Me = {}, + Ie = []; + if (V && U) Ie = Ce; + else if (V && Ce && Array.isArray(Ce) && !U) + Ie = Ce.map(function (e) { + return ve.filter(function (t) { + return e === t.value || t.value === e.value; + })[0]; + }); + else if (U) { + var Re = w || Ce; + Ie = Re ? [Re] : []; + } else + Ie = (function (e, t) { + if (Array.isArray(e)) return e.filter(Boolean); + if ("object" === Z(e) && null !== e) return [e]; + if ("string" == typeof e || "number" == typeof e) { + var n = X(e, t); + if (n) return [n]; + } + return []; + })(Ce, ve); + var Fe = { + autoFocus: m, + backspaceRemovesValue: b, + captureMenuScroll: !1, + defaultValue: w, + disabled: x, + getOptionLabel: j, + getOptionValue: S, + inputValue: E, + invalid: P, + isClearable: _, + isDisabled: x, + isLoading: F, + isMulti: V, + isSearchable: q, + maxMenuHeight: ne, + menuIsOpen: B, + menuPlacement: "auto", + menuPosition: ae, + menuShouldScrollIntoView: !1, + onBlur: se, + onChange: Ae, + onInputChange: de, + onKeyDown: pe, + onMenuClose: ue, + onMenuOpen: he, + openMenuOnFocus: ge, + options: ve, + placeholder: we, + prefix: Oe, + renderControl: xe, + tabSelectsValue: Ee, + value: V ? Ie : Ie[0], + }, + Le = ""; + return ( + Pe && + (Object(o.deprecationWarning)( + "Select", + "width property", + "size or className" + ), + (Le = "width-" + Pe)), + n && + ((_e = l.a), + (Ne.formatCreateLabel = + null != k + ? k + : function (e) { + return "Create: ".concat(e); + }), + (Ne.onCreateOption = fe)), + U && + ((_e = n ? c.a : s.a), + (Me = { loadOptions: U, defaultOptions: y })), + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + _e, + ee( + { + components: re( + { + MenuList: D, + Group: W.a, + ValueContainer: I, + Placeholder: function (e) { + return a.a.createElement( + "div", + ee({}, e.innerProps, { + className: Object(f.cx)( + Object(f.css)(e.getStyles("placeholder", e)), + Object(f.css)( + te(), + Te.colors.formInputPlaceholderText + ) + ), + }), + e.children + ); + }, + IndicatorsContainer: M, + IndicatorSeparator: function () { + return a.a.createElement(a.a.Fragment, null); + }, + Control: oe, + Option: A, + ClearIndicator: function (e) { + var t = e.clearValue; + return a.a.createElement(u.a, { + name: "times", + onMouseDown: function (e) { + e.preventDefault(), e.stopPropagation(), t(); + }, + }); + }, + LoadingIndicator: function (e) { + return a.a.createElement(u.a, { + name: "spinner", + className: "fa fa-spin", + }); + }, + LoadingMessage: function (e) { + return a.a.createElement( + "div", + { className: De.loadingMessage }, + H + ); + }, + NoOptionsMessage: function (e) { + return a.a.createElement( + "div", + { + className: De.loadingMessage, + "aria-label": "No options provided", + }, + le + ); + }, + DropdownIndicator: function (e) { + return a.a.createElement(G, { + isOpen: e.selectProps.menuIsOpen, + }); + }, + SingleValue: Q.a, + MultiValueContainer: K, + MultiValueRemove: J, + }, + v + ), + styles: re({}, Object(p.a)(), { + menu: function (e) { + var t = e.top, + n = e.bottom; + return { + top: t, + bottom: n, + width: e.width, + position: e.position, + marginBottom: n ? "10px" : "0", + zIndex: 9999, + }; + }, + container: function () { + return { position: "relative", width: Object(d.e)(je) }; + }, + }), + className: Le, + }, + Fe, + Ne, + Me + ) + ) + ) + ); + } + }, + Fts8: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }), + n.d(t, "d", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "b", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("2mql"), + i = n.n(o), + l = n("J4FA"), + s = n("Obii"); + function c() { + return (c = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var u = null, + f = a.a.createContext(Object(l.a)(s.GrafanaThemeType.Dark)); + f.displayName = "ThemeContext"; + var d = function (e) { + var t = function (t) { + var n = u || f; + return a.a.createElement(n.Consumer, null, function (n) { + return a.a.createElement(e, c({}, t, { theme: n })); + }); + }; + return ( + (t.displayName = "WithTheme(".concat(e.displayName, ")")), + i()(t, e), + t + ); + }; + function p() { + return Object(r.useContext)(u || f); + } + var h = function (e) { + return ( + (u = a.a.createContext(e)), + function () { + u = null; + } + ); + }; + }, + G0UC: function (e, t) {}, + GNR5: function (e, t, n) { + "use strict"; + var r, + a, + o = n("tAX7"); + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + !(function (e) { + (e.Year = "year"), + (e.Month = "month"), + (e.Week = "week"), + (e.Day = "day"), + (e.Hour = "hour"), + (e.Minute = "minute"), + (e.Second = "second"), + (e.Millisecond = "millisecond"); + })(a || (a = {})); + var l = + (i((r = {}), a.Year, 31536e3), + i(r, a.Month, 2592e3), + i(r, a.Week, 604800), + i(r, a.Day, 86400), + i(r, a.Hour, 3600), + i(r, a.Minute, 60), + i(r, a.Second, 1), + i(r, a.Millisecond, 0.001), + r); + function s(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 1e3 + ? { text: B(e, t), suffix: " ns" } + : Math.abs(e) < 1e6 + ? $(e / 1e3, t, n, 3, " µs") + : Math.abs(e) < 1e9 + ? $(e / 1e6, t, n, 6, " ms") + : Math.abs(e) < 6e10 + ? $(e / 1e9, t, n, 9, " s") + : $(e / 6e10, t, n, 12, " min"); + } + function c(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 1e3 + ? { text: B(e, t), suffix: " µs" } + : Math.abs(e) < 1e6 + ? $(e / 1e3, t, n, 3, " ms") + : $(e / 1e6, t, n, 6, " s"); + } + function u(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 1e3 + ? { text: B(e, t), suffix: " ms" } + : Math.abs(e) < 6e4 + ? $(e / 1e3, t, n, 3, " s") + : Math.abs(e) < 36e5 + ? $(e / 6e4, t, n, 5, " min") + : Math.abs(e) < 864e5 + ? $(e / 36e5, t, n, 7, " hour") + : Math.abs(e) < 31536e6 + ? $(e / 864e5, t, n, 8, " day") + : $(e / 31536e6, t, n, 10, " year"); + } + function f(e, t) { + if (null != e && null != t) return e - t; + } + function d(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 1e-6 + ? $(1e9 * e, t, f(n, t), -9, " ns") + : Math.abs(e) < 0.001 + ? $(1e6 * e, t, f(n, t), -6, " µs") + : Math.abs(e) < 1 + ? $(1e3 * e, t, f(n, t), -3, " ms") + : Math.abs(e) < 60 + ? { text: B(e, t), suffix: " s" } + : Math.abs(e) < 3600 + ? $(e / 60, t, n, 1, " min") + : Math.abs(e) < 86400 + ? $(e / 3600, t, n, 4, " hour") + : Math.abs(e) < 604800 + ? $(e / 86400, t, n, 5, " day") + : Math.abs(e) < 31536e3 + ? $(e / 604800, t, n, 6, " week") + : $(e / 31556900, t, n, 7, " year"); + } + function p(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 60 + ? { text: B(e, t), suffix: " min" } + : Math.abs(e) < 1440 + ? $(e / 60, t, n, 2, " hour") + : Math.abs(e) < 10080 + ? $(e / 1440, t, n, 3, " day") + : Math.abs(e) < 604800 + ? $(e / 10080, t, n, 4, " week") + : $(e / 525948, t, n, 5, " year"); + } + function h(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 24 + ? { text: B(e, t), suffix: " hour" } + : Math.abs(e) < 168 + ? $(e / 24, t, n, 2, " day") + : Math.abs(e) < 8760 + ? $(e / 168, t, n, 3, " week") + : $(e / 8760, t, n, 4, " year"); + } + function m(e, t, n) { + return null === e + ? { text: "" } + : Math.abs(e) < 7 + ? { text: B(e, t), suffix: " day" } + : Math.abs(e) < 365 + ? $(e / 7, t, n, 2, " week") + : $(e / 365, t, n, 3, " year"); + } + function g(e, t, n) { + if (null === e) return { text: "" }; + if (0 === e) return { text: "0", suffix: " " + n + "s" }; + if (e < 0) { + var r = g(-e, t, n); + return r.suffix || (r.suffix = ""), (r.suffix += " ago"), r; + } + var o = [ + { long: a.Year }, + { long: a.Month }, + { long: a.Week }, + { long: a.Day }, + { long: a.Hour }, + { long: a.Minute }, + { long: a.Second }, + { long: a.Millisecond }, + ]; + e *= 1e3 * l[n]; + var i = [], + s = !1, + c = 0; + (null === t && void 0 === t) || (c = t); + for (var u = 0; u < o.length && c >= 0; u++) { + var f = 1e3 * l[o[u].long], + d = e / f; + if (d >= 1 || s) { + s = !0; + var p = Math.floor(d), + h = o[u].long + (1 !== p ? "s" : ""); + i.push(p + " " + h), (e %= f), c--; + } + } + return { text: i.join(", ") }; + } + function b(e, t) { + if (null === e) return { text: "" }; + if (e < 1e3) return { text: Object(o.i)(e).format("SSS\\m\\s") }; + if (e < 6e4) { + var n = "ss\\s:SSS\\m\\s"; + return 0 === t && (n = "ss\\s"), { text: Object(o.i)(e).format(n) }; + } + if (e < 36e5) { + var r = "mm\\m:ss\\s:SSS\\m\\s"; + return ( + 0 === t ? (r = "mm\\m") : 1 === t && (r = "mm\\m:ss\\s"), + { text: Object(o.i)(e).format(r) } + ); + } + var a = "mm\\m:ss\\s:SSS\\m\\s", + i = "".concat( + ("0" + Math.floor(Object(o.h)(e, "milliseconds").asHours())).slice( + -2 + ), + "h" + ); + return ( + 0 === t + ? (a = "") + : 1 === t + ? (a = "mm\\m") + : 2 === t && (a = "mm\\m:ss\\s"), + { text: a ? "".concat(i, ":").concat(Object(o.i)(e).format(a)) : i } + ); + } + function v(e, t) { + return g(e, t, a.Millisecond); + } + function y(e, t) { + return g(e, t, a.Second); + } + function w(e) { + if (e < 0) { + var t = w(-e); + return t.suffix || (t.suffix = ""), (t.suffix += " ago"), t; + } + var n = [], + r = Math.floor(e / 3600), + a = Math.floor((e % 3600) / 60), + o = Math.floor((e % 3600) % 60); + return ( + r > 9 ? n.push("" + r) : n.push("0" + r), + a > 9 ? n.push("" + a) : n.push("0" + a), + o > 9 ? n.push("" + o) : n.push("0" + o), + { text: n.join(":") } + ); + } + function O(e, t, n) { + return d(e / 100, t, n); + } + function x(e, t) { + return b(e, t); + } + function k(e, t) { + return b(1e3 * e, t); + } + function j(e, t) { + return function (n, r, a, i) { + var l = "utc" === i ? Object(o.i)(n) : Object(o.b)(n); + return t && Object(o.b)().isSame(n, "day") + ? { text: l.format(t) } + : { text: l.format(e) }; + }; + } + var S = j("YYYY-MM-DD HH:mm:ss", "HH:mm:ss"), + E = j("MM/DD/YYYY h:mm:ss a", "h:mm:ss a"); + function C(e, t, n, r) { + return { + text: ("utc" === r ? Object(o.i)(e) : Object(o.b)(e)).fromNow(), + }; + } + function P(e, t) { + return null === e ? { text: "" } : { text: B(e, t), suffix: "%" }; + } + function T(e, t) { + return null === e ? { text: "" } : { text: B(100 * e, t), suffix: "%" }; + } + function D(e, t) { + if (null == e) return { text: "" }; + var n = A(e, t); + return ( + "-" === n.text.substring(0, 1) + ? (n.text = "-0x" + n.text.substring(1)) + : (n.text = "0x" + n.text), + n + ); + } + function A(e, t) { + return null == e + ? { text: "" } + : { text: parseFloat(B(e, t)).toString(16).toUpperCase() }; + } + function _(e, t) { + return null == e ? { text: "" } : { text: e.toExponential(t) }; + } + function N(e, t) { + var n = U(1e3, ["", "K", "M", "B", "T"]); + return function (r, a, o) { + if (null === r) return { text: "" }; + var i = n(r, a, o); + return t ? (i.suffix = e) : (i.prefix = e), i; + }; + } + function M(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, + n = ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"].slice(t), + r = n.map(function (t) { + return " " + t + e; + }); + return U(1024, r); + } + function I(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, + n = [ + "f", + "p", + "n", + "µ", + "m", + "", + "k", + "M", + "G", + "T", + "P", + "E", + "Z", + "Y", + ], + r = (n = n.slice(5 + (t || 0))).map(function (t) { + return " " + t + e; + }); + return U(1e3, r); + } + function R(e) { + var t, n; + return "" + .concat(null !== (t = e.prefix) && void 0 !== t ? t : "") + .concat(e.text) + .concat(null !== (n = e.suffix) && void 0 !== n ? n : ""); + } + n.d(t, "a", function () { + return R; + }), + n.d(t, "h", function () { + return B; + }), + n.d(t, "i", function () { + return $; + }), + n.d(t, "j", function () { + return q; + }), + n.d(t, "f", function () { + return U; + }), + n.d(t, "e", function () { + return z; + }), + n.d(t, "g", function () { + return H; + }), + n.d(t, "b", function () { + return W; + }), + n.d(t, "d", function () { + return Q; + }), + n.d(t, "c", function () { + return Y; + }); + var F = [], + L = {}, + V = !1; + function B(e, t) { + if (null === e) return ""; + if (e === Number.NEGATIVE_INFINITY || e === Number.POSITIVE_INFINITY) + return e.toLocaleString(); + var n = t ? Math.pow(10, Math.max(0, t)) : 1, + r = String(Math.round(e * n) / n); + if (-1 !== r.indexOf("e") || 0 === e) return r; + if (null != t) { + var a = r.indexOf("."), + o = -1 === a ? 0 : r.length - a - 1; + if (o < t) return (o ? r : r + ".") + String(n).substr(1, t - o); + } + return r; + } + function $(e, t, n, r, a) { + return null == n + ? { text: B(e, t), suffix: a } + : { text: B(e, n + r), suffix: a }; + } + function q(e, t) { + return function (n, r) { + if (null === n) return { text: "" }; + var a = B(n, r); + return e + ? t + ? { text: a, prefix: e } + : { text: a, suffix: " " + e } + : { text: a }; + }; + } + function U(e, t) { + return function (n, r, a) { + if (null === n) return { text: "" }; + if ( + n === Number.NEGATIVE_INFINITY || + n === Number.POSITIVE_INFINITY || + isNaN(n) + ) + return { text: n.toLocaleString() }; + for (var o = 0, i = t.length; Math.abs(n) >= e; ) + if ((o++, (n /= e), o >= i)) return { text: "NA" }; + return ( + o > 0 && null != a && (r = a + 3 * o), + { text: B(n, r), suffix: t[o] } + ); + }; + } + function z(e, t) { + return null == e + ? { text: "" } + : { text: e.toLocaleString(void 0, { maximumFractionDigits: t }) }; + } + function H(e) { + var t = U(1e3, ["", "K", "M", "B", "T"]); + return function (n, r, a) { + if (null === n) return { text: "" }; + var o = t(n, r, a); + return (o.suffix += " " + e), o; + }; + } + function G() { + F = [ + { + name: "Misc", + formats: [ + { name: "none", id: "none", fn: q("") }, + { + name: "short", + id: "short", + fn: U(1e3, [ + "", + " K", + " Mil", + " Bil", + " Tri", + " Quadr", + " Quint", + " Sext", + " Sept", + ]), + }, + { name: "percent (0-100)", id: "percent", fn: P }, + { name: "percent (0.0-1.0)", id: "percentunit", fn: T }, + { name: "Humidity (%H)", id: "humidity", fn: q("%H") }, + { name: "decibel", id: "dB", fn: q("dB") }, + { name: "hexadecimal (0x)", id: "hex0x", fn: D }, + { name: "hexadecimal", id: "hex", fn: A }, + { name: "scientific notation", id: "sci", fn: _ }, + { name: "locale format", id: "locale", fn: z }, + { name: "Pixels", id: "pixel", fn: q("px") }, + ], + }, + { + name: "Acceleration", + formats: [ + { name: "Meters/sec²", id: "accMS2", fn: q("m/sec²") }, + { name: "Feet/sec²", id: "accFS2", fn: q("f/sec²") }, + { name: "G unit", id: "accG", fn: q("g") }, + ], + }, + { + name: "Angle", + formats: [ + { name: "Degrees (°)", id: "degree", fn: q("°") }, + { name: "Radians", id: "radian", fn: q("rad") }, + { name: "Gradian", id: "grad", fn: q("grad") }, + { name: "Arc Minutes", id: "arcmin", fn: q("arcmin") }, + { name: "Arc Seconds", id: "arcsec", fn: q("arcsec") }, + ], + }, + { + name: "Area", + formats: [ + { name: "Square Meters (m²)", id: "areaM2", fn: q("m²") }, + { name: "Square Feet (ft²)", id: "areaF2", fn: q("ft²") }, + { name: "Square Miles (mi²)", id: "areaMI2", fn: q("mi²") }, + ], + }, + { + name: "Computation", + formats: [ + { name: "FLOP/s", id: "flops", fn: I("FLOP/s") }, + { name: "MFLOP/s", id: "mflops", fn: I("FLOP/s", 2) }, + { name: "GFLOP/s", id: "gflops", fn: I("FLOP/s", 3) }, + { name: "TFLOP/s", id: "tflops", fn: I("FLOP/s", 4) }, + { name: "PFLOP/s", id: "pflops", fn: I("FLOP/s", 5) }, + { name: "EFLOP/s", id: "eflops", fn: I("FLOP/s", 6) }, + { name: "ZFLOP/s", id: "zflops", fn: I("FLOP/s", 7) }, + { name: "YFLOP/s", id: "yflops", fn: I("FLOP/s", 8) }, + ], + }, + { + name: "Concentration", + formats: [ + { name: "parts-per-million (ppm)", id: "ppm", fn: q("ppm") }, + { name: "parts-per-billion (ppb)", id: "conppb", fn: q("ppb") }, + { + name: "nanogram per cubic meter (ng/m³)", + id: "conngm3", + fn: q("ng/m³"), + }, + { + name: "nanogram per normal cubic meter (ng/Nm³)", + id: "conngNm3", + fn: q("ng/Nm³"), + }, + { + name: "microgram per cubic meter (μg/m³)", + id: "conμgm3", + fn: q("μg/m³"), + }, + { + name: "microgram per normal cubic meter (μg/Nm³)", + id: "conμgNm3", + fn: q("μg/Nm³"), + }, + { + name: "milligram per cubic meter (mg/m³)", + id: "conmgm3", + fn: q("mg/m³"), + }, + { + name: "milligram per normal cubic meter (mg/Nm³)", + id: "conmgNm3", + fn: q("mg/Nm³"), + }, + { + name: "gram per cubic meter (g/m³)", + id: "congm3", + fn: q("g/m³"), + }, + { + name: "gram per normal cubic meter (g/Nm³)", + id: "congNm3", + fn: q("g/Nm³"), + }, + { + name: "milligrams per decilitre (mg/dL)", + id: "conmgdL", + fn: q("mg/dL"), + }, + { + name: "millimoles per litre (mmol/L)", + id: "conmmolL", + fn: q("mmol/L"), + }, + ], + }, + { + name: "Currency", + formats: [ + { name: "Dollars ($)", id: "currencyUSD", fn: N("$") }, + { name: "Pounds (£)", id: "currencyGBP", fn: N("£") }, + { name: "Euro (€)", id: "currencyEUR", fn: N("€") }, + { name: "Yen (Â¥)", id: "currencyJPY", fn: N("Â¥") }, + { name: "Rubles (₽)", id: "currencyRUB", fn: N("₽") }, + { name: "Hryvnias (â‚´)", id: "currencyUAH", fn: N("â‚´") }, + { name: "Real (R$)", id: "currencyBRL", fn: N("R$") }, + { name: "Danish Krone (kr)", id: "currencyDKK", fn: N("kr", !0) }, + { + name: "Icelandic Króna (kr)", + id: "currencyISK", + fn: N("kr", !0), + }, + { + name: "Norwegian Krone (kr)", + id: "currencyNOK", + fn: N("kr", !0), + }, + { + name: "Swedish Krona (kr)", + id: "currencySEK", + fn: N("kr", !0), + }, + { name: "Czech koruna (czk)", id: "currencyCZK", fn: N("czk") }, + { name: "Swiss franc (CHF)", id: "currencyCHF", fn: N("CHF") }, + { name: "Polish ZÅ‚oty (PLN)", id: "currencyPLN", fn: N("PLN") }, + { name: "Bitcoin (฿)", id: "currencyBTC", fn: N("฿") }, + { name: "South African Rand (R)", id: "currencyZAR", fn: N("R") }, + { name: "Indian Rupee (₹)", id: "currencyINR", fn: N("₹") }, + { name: "South Korean Won (â‚©)", id: "currencyKRW", fn: N("â‚©") }, + ], + }, + { + name: "Data (IEC)", + formats: [ + { name: "bits", id: "bits", fn: M("b") }, + { name: "bytes", id: "bytes", fn: M("B") }, + { name: "kibibytes", id: "kbytes", fn: M("B", 1) }, + { name: "mebibytes", id: "mbytes", fn: M("B", 2) }, + { name: "gibibytes", id: "gbytes", fn: M("B", 3) }, + { name: "tebibytes", id: "tbytes", fn: M("B", 4) }, + { name: "pebibytes", id: "pbytes", fn: M("B", 5) }, + ], + }, + { + name: "Data (Metric)", + formats: [ + { name: "bits", id: "decbits", fn: I("b") }, + { name: "bytes", id: "decbytes", fn: I("B") }, + { name: "kilobytes", id: "deckbytes", fn: I("B", 1) }, + { name: "megabytes", id: "decmbytes", fn: I("B", 2) }, + { name: "gigabytes", id: "decgbytes", fn: I("B", 3) }, + { name: "terabytes", id: "dectbytes", fn: I("B", 4) }, + { name: "petabytes", id: "decpbytes", fn: I("B", 5) }, + ], + }, + { + name: "Data Rate", + formats: [ + { name: "packets/sec", id: "pps", fn: I("pps") }, + { name: "bits/sec", id: "bps", fn: I("bps") }, + { name: "bytes/sec", id: "Bps", fn: I("Bs") }, + { name: "kilobytes/sec", id: "KBs", fn: I("Bs", 1) }, + { name: "kilobits/sec", id: "Kbits", fn: I("bps", 1) }, + { name: "megabytes/sec", id: "MBs", fn: I("Bs", 2) }, + { name: "megabits/sec", id: "Mbits", fn: I("bps", 2) }, + { name: "gigabytes/sec", id: "GBs", fn: I("Bs", 3) }, + { name: "gigabits/sec", id: "Gbits", fn: I("bps", 3) }, + { name: "terabytes/sec", id: "TBs", fn: I("Bs", 4) }, + { name: "terabits/sec", id: "Tbits", fn: I("bps", 4) }, + { name: "petabytes/sec", id: "PBs", fn: I("Bs", 5) }, + { name: "petabits/sec", id: "Pbits", fn: I("bps", 5) }, + ], + }, + { + name: "Date & Time", + formats: [ + { name: "YYYY-MM-DD HH:mm:ss", id: "dateTimeAsIso", fn: S }, + { name: "MM/DD/YYYY h:mm:ss a", id: "dateTimeAsUS", fn: E }, + { name: "From Now", id: "dateTimeFromNow", fn: C }, + ], + }, + { + name: "Energy", + formats: [ + { name: "Watt (W)", id: "watt", fn: I("W") }, + { name: "Kilowatt (kW)", id: "kwatt", fn: I("W", 1) }, + { name: "Megawatt (MW)", id: "megwatt", fn: I("W", 2) }, + { name: "Gigawatt (GW)", id: "gwatt", fn: I("W", 3) }, + { name: "Milliwatt (mW)", id: "mwatt", fn: I("W", -1) }, + { + name: "Watt per square meter (W/m²)", + id: "Wm2", + fn: q("W/m²"), + }, + { name: "Volt-ampere (VA)", id: "voltamp", fn: I("VA") }, + { name: "Kilovolt-ampere (kVA)", id: "kvoltamp", fn: I("VA", 1) }, + { + name: "Volt-ampere reactive (var)", + id: "voltampreact", + fn: I("var"), + }, + { + name: "Kilovolt-ampere reactive (kvar)", + id: "kvoltampreact", + fn: I("var", 1), + }, + { name: "Watt-hour (Wh)", id: "watth", fn: I("Wh") }, + { + name: "Watt-hour per Kilogram (Wh/kg)", + id: "watthperkg", + fn: I("Wh/kg"), + }, + { name: "Kilowatt-hour (kWh)", id: "kwatth", fn: I("Wh", 1) }, + { name: "Kilowatt-min (kWm)", id: "kwattm", fn: I("W-Min", 1) }, + { name: "Ampere-hour (Ah)", id: "amph", fn: I("Ah") }, + { name: "Kiloampere-hour (kAh)", id: "kamph", fn: I("Ah", 1) }, + { name: "Milliampere-hour (mAh)", id: "mamph", fn: I("Ah", -1) }, + { name: "Joule (J)", id: "joule", fn: I("J") }, + { name: "Electron volt (eV)", id: "ev", fn: I("eV") }, + { name: "Ampere (A)", id: "amp", fn: I("A") }, + { name: "Kiloampere (kA)", id: "kamp", fn: I("A", 1) }, + { name: "Milliampere (mA)", id: "mamp", fn: I("A", -1) }, + { name: "Volt (V)", id: "volt", fn: I("V") }, + { name: "Kilovolt (kV)", id: "kvolt", fn: I("V", 1) }, + { name: "Millivolt (mV)", id: "mvolt", fn: I("V", -1) }, + { name: "Decibel-milliwatt (dBm)", id: "dBm", fn: I("dBm") }, + { name: "Ohm (Ω)", id: "ohm", fn: I("Ω") }, + { name: "Kiloohm (kΩ)", id: "kohm", fn: I("Ω", 1) }, + { name: "Megaohm (MΩ)", id: "Mohm", fn: I("Ω", 2) }, + { name: "Farad (F)", id: "farad", fn: I("F") }, + { name: "Microfarad (µF)", id: "µfarad", fn: I("F", -2) }, + { name: "Nanofarad (nF)", id: "nfarad", fn: I("F", -3) }, + { name: "Picofarad (pF)", id: "pfarad", fn: I("F", -4) }, + { name: "Femtofarad (fF)", id: "ffarad", fn: I("F", -5) }, + { name: "Henry (H)", id: "henry", fn: I("H") }, + { name: "Millihenry (mH)", id: "mhenry", fn: I("H", -1) }, + { name: "Microhenry (µH)", id: "µhenry", fn: I("H", -2) }, + { name: "Lumens (Lm)", id: "lumens", fn: I("Lm") }, + ], + }, + { + name: "Flow", + formats: [ + { name: "Gallons/min (gpm)", id: "flowgpm", fn: q("gpm") }, + { name: "Cubic meters/sec (cms)", id: "flowcms", fn: q("cms") }, + { name: "Cubic feet/sec (cfs)", id: "flowcfs", fn: q("cfs") }, + { name: "Cubic feet/min (cfm)", id: "flowcfm", fn: q("cfm") }, + { name: "Litre/hour", id: "litreh", fn: q("L/h") }, + { name: "Litre/min (L/min)", id: "flowlpm", fn: q("L/min") }, + { + name: "milliLitre/min (mL/min)", + id: "flowmlpm", + fn: q("mL/min"), + }, + { name: "Lux (lx)", id: "lux", fn: q("lux") }, + ], + }, + { + name: "Force", + formats: [ + { name: "Newton-meters (Nm)", id: "forceNm", fn: I("Nm") }, + { + name: "Kilonewton-meters (kNm)", + id: "forcekNm", + fn: I("Nm", 1), + }, + { name: "Newtons (N)", id: "forceN", fn: I("N") }, + { name: "Kilonewtons (kN)", id: "forcekN", fn: I("N", 1) }, + ], + }, + { + name: "Hash Rate", + formats: [ + { name: "hashes/sec", id: "Hs", fn: I("H/s") }, + { name: "kilohashes/sec", id: "KHs", fn: I("H/s", 1) }, + { name: "megahashes/sec", id: "MHs", fn: I("H/s", 2) }, + { name: "gigahashes/sec", id: "GHs", fn: I("H/s", 3) }, + { name: "terahashes/sec", id: "THs", fn: I("H/s", 4) }, + { name: "petahashes/sec", id: "PHs", fn: I("H/s", 5) }, + { name: "exahashes/sec", id: "EHs", fn: I("H/s", 6) }, + ], + }, + { + name: "Mass", + formats: [ + { name: "milligram (mg)", id: "massmg", fn: I("g", -1) }, + { name: "gram (g)", id: "massg", fn: I("g") }, + { name: "kilogram (kg)", id: "masskg", fn: I("g", 1) }, + { name: "metric ton (t)", id: "masst", fn: q("t") }, + ], + }, + { + name: "length", + formats: [ + { name: "millimeter (mm)", id: "lengthmm", fn: I("m", -1) }, + { name: "feet (ft)", id: "lengthft", fn: q("ft") }, + { name: "meter (m)", id: "lengthm", fn: I("m") }, + { name: "kilometer (km)", id: "lengthkm", fn: I("m", 1) }, + { name: "mile (mi)", id: "lengthmi", fn: q("mi") }, + ], + }, + { + name: "Pressure", + formats: [ + { name: "Millibars", id: "pressurembar", fn: I("bar", -1) }, + { name: "Bars", id: "pressurebar", fn: I("bar") }, + { name: "Kilobars", id: "pressurekbar", fn: I("bar", 1) }, + { name: "Hectopascals", id: "pressurehpa", fn: q("hPa") }, + { name: "Kilopascals", id: "pressurekpa", fn: q("kPa") }, + { name: "Inches of mercury", id: "pressurehg", fn: q('"Hg') }, + { + name: "PSI", + id: "pressurepsi", + fn: U(1e3, ["psi", "ksi", "Mpsi"]), + }, + ], + }, + { + name: "Radiation", + formats: [ + { name: "Becquerel (Bq)", id: "radbq", fn: I("Bq") }, + { name: "curie (Ci)", id: "radci", fn: I("Ci") }, + { name: "Gray (Gy)", id: "radgy", fn: I("Gy") }, + { name: "rad", id: "radrad", fn: I("rad") }, + { name: "Sievert (Sv)", id: "radsv", fn: I("Sv") }, + { name: "milliSievert (mSv)", id: "radmsv", fn: I("mSv", -1) }, + { name: "microSievert (µSv)", id: "radusv", fn: I("µSv", -2) }, + { name: "rem", id: "radrem", fn: I("rem") }, + { name: "Exposure (C/kg)", id: "radexpckg", fn: I("C/kg") }, + { name: "roentgen (R)", id: "radr", fn: I("R") }, + { name: "Sievert/hour (Sv/h)", id: "radsvh", fn: I("Sv/h") }, + { + name: "milliSievert/hour (mSv/h)", + id: "radmsvh", + fn: I("Sv/h", -1), + }, + { + name: "microSievert/hour (µSv/h)", + id: "radusvh", + fn: I("Sv/h", -2), + }, + ], + }, + { + name: "Temperature", + formats: [ + { name: "Celsius (°C)", id: "celsius", fn: q("°C") }, + { name: "Fahrenheit (°F)", id: "fahrenheit", fn: q("°F") }, + { name: "Kelvin (K)", id: "kelvin", fn: q("K") }, + ], + }, + { + name: "Time", + formats: [ + { name: "Hertz (1/s)", id: "hertz", fn: I("Hz") }, + { name: "nanoseconds (ns)", id: "ns", fn: s }, + { name: "microseconds (µs)", id: "µs", fn: c }, + { name: "milliseconds (ms)", id: "ms", fn: u }, + { name: "seconds (s)", id: "s", fn: d }, + { name: "minutes (m)", id: "m", fn: p }, + { name: "hours (h)", id: "h", fn: h }, + { name: "days (d)", id: "d", fn: m }, + { name: "duration (ms)", id: "dtdurationms", fn: v }, + { name: "duration (s)", id: "dtdurations", fn: y }, + { name: "duration (hh:mm:ss)", id: "dthms", fn: w }, + { name: "Timeticks (s/100)", id: "timeticks", fn: O }, + { name: "clock (ms)", id: "clockms", fn: x }, + { name: "clock (s)", id: "clocks", fn: k }, + ], + }, + { + name: "Throughput", + formats: [ + { name: "counts/sec (cps)", id: "cps", fn: H("cps") }, + { name: "ops/sec (ops)", id: "ops", fn: H("ops") }, + { name: "requests/sec (rps)", id: "reqps", fn: H("reqps") }, + { name: "reads/sec (rps)", id: "rps", fn: H("rps") }, + { name: "writes/sec (wps)", id: "wps", fn: H("wps") }, + { name: "I/O ops/sec (iops)", id: "iops", fn: H("iops") }, + { name: "counts/min (cpm)", id: "cpm", fn: H("cpm") }, + { name: "ops/min (opm)", id: "opm", fn: H("opm") }, + { name: "reads/min (rpm)", id: "rpm", fn: H("rpm") }, + { name: "writes/min (wpm)", id: "wpm", fn: H("wpm") }, + ], + }, + { + name: "Velocity", + formats: [ + { name: "meters/second (m/s)", id: "velocityms", fn: q("m/s") }, + { + name: "kilometers/hour (km/h)", + id: "velocitykmh", + fn: q("km/h"), + }, + { name: "miles/hour (mph)", id: "velocitymph", fn: q("mph") }, + { name: "knot (kn)", id: "velocityknot", fn: q("kn") }, + ], + }, + { + name: "Volume", + formats: [ + { name: "millilitre (mL)", id: "mlitre", fn: I("L", -1) }, + { name: "litre (L)", id: "litre", fn: I("L") }, + { name: "cubic meter", id: "m3", fn: q("m³") }, + { name: "Normal cubic meter", id: "Nm3", fn: q("Nm³") }, + { name: "cubic decimeter", id: "dm3", fn: q("dm³") }, + { name: "gallons", id: "gallons", fn: q("gal") }, + ], + }, + ]; + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = F[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) { + var o = r.value, + i = !0, + l = !1, + f = void 0; + try { + for ( + var g, b = o.formats[Symbol.iterator](); + !(i = (g = b.next()).done); + i = !0 + ) { + var j = g.value; + L[j.id] = j.fn; + } + } catch (e) { + (l = !0), (f = e); + } finally { + try { + i || null == b.return || b.return(); + } finally { + if (l) throw f; + } + } + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + [{ from: "farenheit", to: "fahrenheit" }].forEach(function (e) { + var t = L[e.to]; + t && (L[e.from] = t); + }), + (V = !0); + } + function W(e) { + if (!e) return q(""); + V || G(); + var t = L[e]; + if (!t && e) { + var n = e.indexOf(":"); + if (n > 0) { + var r = e.substring(0, n), + a = e.substring(n + 1); + if ("prefix" === r) return q(a, !0); + if ("time" === r) return j(a); + if ("si" === r) { + var o = (function (e) { + switch (e) { + case "f": + return -5; + case "p": + return -4; + case "n": + return -3; + case "μ": + case "µ": + return -2; + case "m": + return -1; + case "": + return 0; + case "k": + return 1; + case "M": + return 2; + case "G": + return 3; + case "T": + return 4; + case "P": + return 5; + case "E": + return 6; + case "Z": + return 7; + case "Y": + return 8; + } + return 0; + })(a.charAt(0)); + return I(0 === o ? a : a.substring(1), o); + } + if ("count" === r) return H(a); + if ("currency" === r) return N(a); + } + return q(e); + } + return t; + } + function Q() { + return V || G(), L; + } + function Y() { + return ( + V || G(), + F.map(function (e) { + return { + text: e.name, + submenu: e.formats.map(function (e) { + return { text: e.name, value: e.id }; + }), + }; + }) + ); + } + }, + GQ3c: function (e, t, n) { + "use strict"; + var r = n("ASW2"); + n.o(r, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return r.AppNotificationSeverity; + }), + n.o(r, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return r.AppNotificationTimeout; + }), + n.o(r, "DashboardInitPhase") && + n.d(t, "DashboardInitPhase", function () { + return r.DashboardInitPhase; + }), + n.o(r, "DashboardRouteInfo") && + n.d(t, "DashboardRouteInfo", function () { + return r.DashboardRouteInfo; + }), + n.o(r, "KIOSK_MODE_TV") && + n.d(t, "KIOSK_MODE_TV", function () { + return r.KIOSK_MODE_TV; + }), + n.o(r, "OrgRole") && + n.d(t, "OrgRole", function () { + return r.OrgRole; + }), + n.o(r, "TeamPermissionLevel") && + n.d(t, "TeamPermissionLevel", function () { + return r.TeamPermissionLevel; + }), + n.o(r, "teamsPermissionLevels") && + n.d(t, "teamsPermissionLevels", function () { + return r.teamsPermissionLevels; + }); + var a = n("HFoM"); + n.o(a, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return a.AppNotificationSeverity; + }), + n.o(a, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return a.AppNotificationTimeout; + }), + n.o(a, "DashboardInitPhase") && + n.d(t, "DashboardInitPhase", function () { + return a.DashboardInitPhase; + }), + n.o(a, "DashboardRouteInfo") && + n.d(t, "DashboardRouteInfo", function () { + return a.DashboardRouteInfo; + }), + n.o(a, "KIOSK_MODE_TV") && + n.d(t, "KIOSK_MODE_TV", function () { + return a.KIOSK_MODE_TV; + }), + n.o(a, "OrgRole") && + n.d(t, "OrgRole", function () { + return a.OrgRole; + }), + n.o(a, "TeamPermissionLevel") && + n.d(t, "TeamPermissionLevel", function () { + return a.TeamPermissionLevel; + }), + n.o(a, "teamsPermissionLevels") && + n.d(t, "teamsPermissionLevels", function () { + return a.teamsPermissionLevels; + }); + var o = n("hU0f"); + n.o(o, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return o.AppNotificationSeverity; + }), + n.o(o, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return o.AppNotificationTimeout; + }), + n.o(o, "DashboardInitPhase") && + n.d(t, "DashboardInitPhase", function () { + return o.DashboardInitPhase; + }), + n.o(o, "DashboardRouteInfo") && + n.d(t, "DashboardRouteInfo", function () { + return o.DashboardRouteInfo; + }), + n.o(o, "KIOSK_MODE_TV") && + n.d(t, "KIOSK_MODE_TV", function () { + return o.KIOSK_MODE_TV; + }), + n.o(o, "OrgRole") && + n.d(t, "OrgRole", function () { + return o.OrgRole; + }), + n.o(o, "TeamPermissionLevel") && + n.d(t, "TeamPermissionLevel", function () { + return o.TeamPermissionLevel; + }), + n.o(o, "teamsPermissionLevels") && + n.d(t, "teamsPermissionLevels", function () { + return o.teamsPermissionLevels; + }); + var i = n("LUja"); + n.o(i, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return i.AppNotificationSeverity; + }), + n.o(i, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return i.AppNotificationTimeout; + }), + n.o(i, "DashboardInitPhase") && + n.d(t, "DashboardInitPhase", function () { + return i.DashboardInitPhase; + }), + n.o(i, "DashboardRouteInfo") && + n.d(t, "DashboardRouteInfo", function () { + return i.DashboardRouteInfo; + }), + n.o(i, "KIOSK_MODE_TV") && + n.d(t, "KIOSK_MODE_TV", function () { + return i.KIOSK_MODE_TV; + }), + n.o(i, "OrgRole") && + n.d(t, "OrgRole", function () { + return i.OrgRole; + }), + n.o(i, "TeamPermissionLevel") && + n.d(t, "TeamPermissionLevel", function () { + return i.TeamPermissionLevel; + }), + n.o(i, "teamsPermissionLevels") && + n.d(t, "teamsPermissionLevels", function () { + return i.teamsPermissionLevels; + }); + var l = n("2L+O"); + n.d(t, "DashboardInitPhase", function () { + return l.a; + }), + n.d(t, "DashboardRouteInfo", function () { + return l.b; + }), + n.d(t, "KIOSK_MODE_TV", function () { + return l.c; + }); + var s = n("9iwZ"); + n.d(t, "OrgRole", function () { + return s.b; + }), + n.d(t, "TeamPermissionLevel", function () { + return s.d; + }), + n.d(t, "teamsPermissionLevels", function () { + return s.g; + }); + var c = n("tOGo"); + n.o(c, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return c.AppNotificationSeverity; + }), + n.o(c, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return c.AppNotificationTimeout; + }); + var u = n("nHyz"); + n.o(u, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return u.AppNotificationSeverity; + }), + n.o(u, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return u.AppNotificationTimeout; + }); + var f = n("SZug"); + n.o(f, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return f.AppNotificationSeverity; + }), + n.o(f, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return f.AppNotificationTimeout; + }); + var d = n("HXnQ"); + n.o(d, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return d.AppNotificationSeverity; + }), + n.o(d, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return d.AppNotificationTimeout; + }); + var p = n("o85q"); + n.o(p, "AppNotificationSeverity") && + n.d(t, "AppNotificationSeverity", function () { + return p.AppNotificationSeverity; + }), + n.o(p, "AppNotificationTimeout") && + n.d(t, "AppNotificationTimeout", function () { + return p.AppNotificationTimeout; + }); + var h = n("TKrP"); + n.d(t, "AppNotificationSeverity", function () { + return h.a; + }), + n.d(t, "AppNotificationTimeout", function () { + return h.b; + }); + n("2l57"), n("sBLX"), n("PGgk"), n("OQpy"), n("KBRh"), n("94Nu"); + var m = n("xAj+"); + n.d(t, "CoreEvents", function () { + return m; + }); + }, + Gj0f: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("sjC4"); + for (var a in r) + "default" !== a && + (function (e) { + n.d(t, e, function () { + return r[e]; + }); + })(a); + var o = n("0Rz9"); + for (var a in o) + "default" !== a && + (function (e) { + n.d(t, e, function () { + return o[e]; + }); + })(a); + var i = n("2r/H"); + n.d(t, "CompletionItemKind", function () { + return i.a; + }); + var l = n("XQMu"); + for (var a in l) + ["CompletionItemKind", "default"].indexOf(a) < 0 && + (function (e) { + n.d(t, e, function () { + return l[e]; + }); + })(a); + }, + GkHB: function (e, t, n) { + "use strict"; + n.d(t, "d", function () { + return x; + }), + n.d(t, "b", function () { + return S; + }), + n.d(t, "a", function () { + return E; + }), + n.d(t, "e", function () { + return P; + }), + n.d(t, "c", function () { + return T; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("5kRJ"), + i = n("txxJ"), + l = n("0Mjz"), + s = n("VX0D"), + c = n("ZFWI"), + u = n("UIT+"), + f = n("kDLi"), + d = n("Obii"); + function p(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function h(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function m(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function g(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var b, + v = [ + { + value: "".concat(f.DataLinkBuiltInVars.keepTime), + label: "Time range", + documentation: "Adds current time range", + origin: d.VariableOrigin.BuiltIn, + }, + { + value: "".concat(f.DataLinkBuiltInVars.timeRangeFrom), + label: "Time range: from", + documentation: "Adds current time range's from value", + origin: d.VariableOrigin.BuiltIn, + }, + { + value: "".concat(f.DataLinkBuiltInVars.timeRangeTo), + label: "Time range: to", + documentation: "Adds current time range's to value", + origin: d.VariableOrigin.BuiltIn, + }, + ], + y = [ + { + value: "".concat(f.DataLinkBuiltInVars.seriesName), + label: "Name", + documentation: "Name of the series", + origin: d.VariableOrigin.Series, + }, + ], + w = [ + { + value: "".concat(f.DataLinkBuiltInVars.valueNumeric), + label: "Numeric", + documentation: "Numeric representation of selected value", + origin: d.VariableOrigin.Value, + }, + { + value: "".concat(f.DataLinkBuiltInVars.valueText), + label: "Text", + documentation: "Text representation of selected value", + origin: d.VariableOrigin.Value, + }, + { + value: "".concat(f.DataLinkBuiltInVars.valueRaw), + label: "Raw", + documentation: "Raw value", + origin: d.VariableOrigin.Value, + }, + ], + O = function (e) { + return e.indexOf(".") > -1 ? '["'.concat(e, '"]') : ".".concat(e); + }, + x = function () { + return [].concat( + g( + o.b.variables.map(function (e) { + return { + value: e.name, + label: e.name, + origin: d.VariableOrigin.Template, + }; + }) + ), + [ + { + value: "".concat(f.DataLinkBuiltInVars.includeVars), + label: "All variables", + documentation: "Adds current variables", + origin: d.VariableOrigin.Template, + }, + ], + v + ); + }, + k = function (e) { + var t = [], + n = !0, + r = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(n = (i = l.next()).done); + n = !0 + ) { + var s = i.value, + c = !0, + u = !1, + p = void 0; + try { + for ( + var h, m = s.fields[Symbol.iterator](); + !(c = (h = m.next()).done); + c = !0 + ) { + var b = h.value; + if (b.labels) + for ( + var v = 0, y = Object.keys(b.labels); + v < y.length; + v++ + ) { + var w = y[v]; + t.push(w); + } + } + } catch (e) { + (u = !0), (p = e); + } finally { + try { + c || null == m.return || m.return(); + } finally { + if (u) throw p; + } + } + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw o; + } + } + var x = a.a.chain(t).flatten().uniq().value(); + return [ + { + value: "".concat(f.DataLinkBuiltInVars.fieldName), + label: "Name", + documentation: + "Field name of the clicked datapoint (in ms epoch)", + origin: d.VariableOrigin.Field, + }, + ].concat( + g( + x.map(function (e) { + return { + value: "__field.labels".concat(O(e)), + label: "labels.".concat(e), + documentation: "".concat(e, " label value"), + origin: d.VariableOrigin.Field, + }; + }) + ) + ); + }, + j = function (e) { + var t = void 0, + n = void 0, + r = [], + a = {}, + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = e[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value, + f = !0, + p = !1, + h = void 0; + try { + for ( + var m, g = u.fields[Symbol.iterator](); + !(f = (m = g.next()).done); + f = !0 + ) { + var b = m.value; + a[b.name] || + (r.push({ + value: "__data.fields[".concat(b.name, "]"), + label: "".concat(b.name), + documentation: "Formatted value for ".concat( + b.name, + " on the same row" + ), + origin: d.VariableOrigin.Fields, + }), + (a[b.name] = !0), + t || b.type !== d.FieldType.number || (t = b), + !n && + b.config.title && + b.config.title !== b.name && + (n = b)); + } + } catch (e) { + (p = !0), (h = e); + } finally { + try { + f || null == g.return || g.return(); + } finally { + if (p) throw h; + } + } + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + return ( + r.length && + r.push({ + value: "__data.fields[0]", + label: "Select by index", + documentation: "Enter the field order", + origin: d.VariableOrigin.Fields, + }), + t && + (r.push({ + value: "__data.fields[".concat(t.name, "].numeric"), + label: "Show numeric value", + documentation: "the numeric field value", + origin: d.VariableOrigin.Fields, + }), + r.push({ + value: "__data.fields[".concat(t.name, "].text"), + label: "Show text value", + documentation: "the text value", + origin: d.VariableOrigin.Fields, + })), + n && + r.push({ + value: "__data.fields[".concat(n.config.title, "]"), + label: "Select by title", + documentation: "Use the title to pick the field", + origin: d.VariableOrigin.Fields, + }), + r + ); + }, + S = function (e, t) { + var n = { + value: "".concat(f.DataLinkBuiltInVars.valueTime), + label: "Time", + documentation: "Time value of the clicked datapoint (in ms epoch)", + origin: d.VariableOrigin.Value, + }; + return t === d.VariableSuggestionsScope.Values + ? [].concat(y, g(k(e)), w, [n], g(j(e)), g(x())) + : [].concat(y, g(k(e)), g(j(e)), g(x())); + }, + E = function (e) { + var t = k(e), + n = { + value: "".concat(f.DataLinkBuiltInVars.valueCalc), + label: "Calculation name", + documentation: "Name of the calculation the value is a result of", + origin: d.VariableOrigin.Value, + }; + return [].concat(y, g(t), w, [n], g(x())); + }, + C = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.templateSrv = t), + (this.timeSrv = n), + (this.getDataLinkUIModel = function (e, t, n) { + var a, + o = {}, + i = Object(l.d)(r.timeSrv.timeRangeForUrl()), + d = e.url; + e.onBuildUrl && + (d = e.onBuildUrl({ origin: n, scopedVars: t })); + var m = void 0; + e.onClick && + (m = function (r) { + e.onClick({ origin: n, scopedVars: t, e: r }); + }); + var g = { + href: u.b.assureBaseUrl(d.replace(/\n/g, "")), + title: r.templateSrv.replace(e.title || "", t), + target: e.targetBlank ? "_blank" : "_self", + origin: n, + onClick: m, + }; + r.templateSrv.fillVariableValuesForUrl(o, t); + var b = Object(l.d)(o); + return ( + (g.href = r.templateSrv.replace( + g.href, + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? p(Object(n), !0).forEach(function (t) { + h(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : p(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })( + {}, + t, + (h((a = {}), f.DataLinkBuiltInVars.keepTime, { + text: i, + value: i, + }), + h(a, f.DataLinkBuiltInVars.includeVars, { + text: b, + value: b, + }), + a) + ) + )), + (g.href = Object(c.c)().disableSanitizeHtml + ? g.href + : Object(s.d)(g.href)), + g + ); + }); + } + var t, n, r; + return ( + (e.$inject = ["templateSrv", "timeSrv"]), + (t = e), + (n = [ + { + key: "getLinkUrl", + value: function (e) { + var t = u.b.assureBaseUrl( + this.templateSrv.replace(e.url || "") + ), + n = {}; + if (e.keepTime) { + var r = this.timeSrv.timeRangeForUrl(); + (n.from = r.from), (n.to = r.to); + } + return ( + e.includeVars && + this.templateSrv.fillVariableValuesForUrl(n), + (t = Object(l.a)(t, Object(l.d)(n))), + Object(c.c)().disableSanitizeHtml ? t : Object(s.d)(t) + ); + }, + }, + { + key: "getAnchorInfo", + value: function (e) { + var t = {}; + return ( + (t.href = this.getLinkUrl(e)), + (t.title = this.templateSrv.replace(e.title || "")), + t + ); + }, + }, + { + key: "getPanelLinkAnchorInfo", + value: function (e, t) { + return ( + Object(d.deprecationWarning)( + "link_srv.ts", + "getPanelLinkAnchorInfo", + "getDataLinkUIModel" + ), + this.getDataLinkUIModel(e, t, {}) + ); + }, + }, + ]) && m(t.prototype, n), + r && m(t, r), + e + ); + })(); + function P(e) { + b = e; + } + function T() { + return b; + } + i.c.service("linkSrv", C); + }, + "Gz/h": function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return c; + }), + n.d(t, "a", function () { + return u; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = Object(r.c)({ + name: "apiKeys", + initialState: { + keys: [], + searchQuery: "", + hasFetched: !1, + includeExpired: !1, + }, + reducers: { + apiKeysLoaded: function (e, t) { + return o({}, e, { hasFetched: !0, keys: t.payload }); + }, + setSearchQuery: function (e, t) { + return o({}, e, { searchQuery: t.payload }); + }, + }, + }), + s = l.actions, + c = s.setSearchQuery, + u = s.apiKeysLoaded, + f = l.reducer; + t.b = { apiKeys: f }; + }, + HFoM: function (e, t) {}, + HJRA: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("+2Rf"), + i = n.n(o), + l = n("txxJ"); + function s(e) { + return { + scope: { + menuItems: "=dropdownTypeahead", + dropdownTypeaheadOnSelect: "&dropdownTypeaheadOnSelect", + model: "=ngModel", + }, + link: function (t, n, r) { + var o = i()( + '<input type="text" class="gf-form-input input-medium tight-form-input" spellcheck="false" style="display:none"></input>' + ), + l = i()( + '<a class="gf-form-label tight-form-func dropdown-toggle" tabindex="1" gf-dropdown="menuItems" data-toggle="dropdown" ><i class="fa fa-plus"></i></a>' + ); + o.appendTo(n), + l.appendTo(n), + r.linkText && l.html(r.linkText), + r.ngModel && + t.$watch("model", function (e) { + a.a.each(t.menuItems, function (t) { + a.a.each(t.submenu, function (t) { + t.value === e && l.html(t.text); + }); + }); + }); + var s = a.a.reduce( + t.menuItems, + function (e, t, n) { + return ( + t.submenu + ? a.a.each(t.submenu, function (r, a) { + (r.click = "menuItemSelected(" + n + "," + a + ")"), + e.push(t.text + " " + r.text); + }) + : ((t.click = "menuItemSelected(" + n + ")"), + e.push(t.text)), + e + ); + }, + [] + ); + (t.menuItemSelected = function (e, r) { + var a = t.menuItems[e], + i = { $item: a }; + a.submenu && void 0 !== r && (i.$subItem = a.submenu[r]), + t.dropdownTypeaheadOnSelect(i), + o.hide(), + o.val(""), + l.show(), + l.focus(), + n.removeClass("open"); + }), + o.attr("data-provide", "typeahead"), + o.typeahead({ + source: s, + minLength: 1, + items: 10, + updater: function (e) { + var n = {}; + return ( + a.a.each(t.menuItems, function (t) { + a.a.each(t.submenu, function (r) { + e === t.text + " " + r.text && + ((n.$subItem = r), (n.$item = t)); + }); + }), + n.$item && + t.$apply(function () { + t.dropdownTypeaheadOnSelect(n); + }), + o.trigger("blur"), + "" + ); + }, + }), + l.click(function () { + l.hide(), o.show(), o.focus(); + }), + o.keyup(function () { + n.toggleClass("open", "" === o.val()); + }), + n.mousedown(function (e) { + e.preventDefault(); + }), + o.blur(function () { + o.hide(), + o.val(""), + l.show(), + l.focus(), + setTimeout(function () { + n.removeClass("open"); + }, 200); + }), + e(n.contents())(t); + }, + }; + } + function c(e) { + return { + scope: { + menuItems: "=dropdownTypeahead2", + dropdownTypeaheadOnSelect: "&dropdownTypeaheadOnSelect", + model: "=ngModel", + buttonTemplateClass: "@", + }, + link: function (t, n, r) { + var o = i()( + '<input type="text" class="gf-form-input" spellcheck="false" style="display:none"></input>' + ); + t.buttonTemplateClass || (t.buttonTemplateClass = "gf-form-input"); + var l = i()( + '<a class="{{buttonTemplateClass}} dropdown-toggle" tabindex="1" gf-dropdown="menuItems" data-toggle="dropdown" ><i class="fa fa-plus"></i></a>' + ), + s = { blur: null }; + o.appendTo(n), + l.appendTo(n), + r.linkText && l.html(r.linkText), + r.ngModel && + t.$watch("model", function (e) { + a.a.each(t.menuItems, function (t) { + a.a.each(t.submenu, function (t) { + t.value === e && l.html(t.text); + }); + }); + }); + var c = a.a.reduce( + t.menuItems, + function (e, t, n) { + return ( + t.submenu + ? a.a.each(t.submenu, function (r, a) { + (r.click = "menuItemSelected(" + n + "," + a + ")"), + e.push(t.text + " " + r.text); + }) + : ((t.click = "menuItemSelected(" + n + ")"), + e.push(t.text)), + e + ); + }, + [] + ), + u = function () { + o.hide(), o.val(""), l.show(), l.focus(), n.removeClass("open"); + }; + (t.menuItemSelected = function (e, n) { + var r = t.menuItems[e], + a = { $item: r }; + r.submenu && void 0 !== n && (a.$subItem = r.submenu[n]), + t.dropdownTypeaheadOnSelect(a), + u(); + }), + o.attr("data-provide", "typeahead"), + o.typeahead({ + source: c, + minLength: 1, + items: 10, + updater: function (e) { + var n = {}; + return ( + a.a.each(t.menuItems, function (t) { + a.a.each(t.submenu, function (r) { + e === t.text + " " + r.text && + ((n.$subItem = r), (n.$item = t)); + }); + }), + n.$item && + t.$apply(function () { + t.dropdownTypeaheadOnSelect(n); + }), + o.trigger("blur"), + "" + ); + }, + }), + l.click(function () { + l.hide(), o.show(), o.focus(); + }), + o.keyup(function () { + n.toggleClass("open", "" === o.val()); + }), + n.mousedown(function (e) { + e.preventDefault(), (s.blur = null); + }), + o.blur(function () { + s.blur = setTimeout(function () { + u(); + }, 1); + }), + e(n.contents())(t); + }, + }; + } + function u(e) { + return { + link: function (e, t) { + var n = t[0], + r = function () { + var e = new Event("change"); + return n.dispatchEvent(e); + }, + a = function (e) { + switch (e.animationName) { + case "onAutoFillStart": + case "onAutoFillCancel": + return r(); + } + return null; + }; + n.addEventListener("animationstart", a), + e.$on("$destroy", function () { + n.removeEventListener("animationstart", a); + }); + }, + }; + } + function f(e, t, n) { + return { + scope: { + segment: "=", + getOptions: "&", + onChange: "&", + debounce: "@", + }, + link: function (r, o) { + var l = i()( + '<input type="text" data-provide="typeahead" class="gf-form-input input-medium" spellcheck="false" style="display:none"></input>' + ), + s = r.segment, + c = i()( + s.selectMode + ? '<a class="gf-form-input gf-form-input--dropdown" ng-class="segment.cssClass" tabindex="1" give-focus="segment.focus" ng-bind-html="segment.html"></a>' + : '<a class="gf-form-label" ng-class="segment.cssClass" tabindex="1" give-focus="segment.focus" ng-bind-html="segment.html"></a>' + ), + u = null, + f = null, + d = !0, + p = r.debounce; + l.appendTo(o), + c.appendTo(o), + (r.updateVariableValue = function (e) { + "" !== e && + s.value !== e && + r.$apply(function () { + var o = a.a.find(r.altSegments, { value: e }); + o + ? ((s.value = o.value), + (s.html = + o.html || + t.trustAsHtml(n.highlightVariablesAsHtml(o.value))), + (s.fake = !1), + (s.expandable = o.expandable), + o.type && (s.type = o.type)) + : "false" !== s.custom && + ((s.value = e), + (s.html = t.trustAsHtml(n.highlightVariablesAsHtml(e))), + (s.expandable = !0), + (s.fake = !1)), + r.onChange(); + }); + }), + (r.switchToLink = function (e) { + (d && !e) || + (clearTimeout(f), + (f = null), + (d = !0), + l.hide(), + c.show(), + r.updateVariableValue(l.val())); + }), + (r.inputBlur = function () { + f = setTimeout(r.switchToLink, 200); + }), + (r.source = function (e, t) { + r.$apply(function () { + r.getOptions({ $query: e }).then(function (e) { + (r.altSegments = e), + (u = a.a.map(r.altSegments, function (e) { + return a.a.escape(e.value); + })), + "false" !== s.custom && + (s.fake || + -1 !== a.a.indexOf(u, s.value) || + u.unshift(a.a.escape(s.value))), + t(u); + }); + }); + }), + (r.updater = function (e) { + return (e = a.a.unescape(e)) === s.value + ? (clearTimeout(f), l.focus(), e) + : (l.val(e), r.switchToLink(!0), e); + }), + (r.matcher = function (e) { + if (d) return !1; + var t = this.query; + "/" === t[0] && (t = t.substring(1)), + "/" === t[t.length - 1] && (t = t.substring(0, t.length - 1)); + try { + return e.toLowerCase().match(t.toLowerCase()); + } catch (e) { + return !1; + } + }), + l.attr("data-provide", "typeahead"), + l.typeahead({ + source: r.source, + minLength: 0, + items: 1e4, + updater: r.updater, + matcher: r.matcher, + }); + var h = l.data("typeahead"); + (h.lookup = function () { + this.query = this.$element.val() || ""; + var e = this.source(this.query, i.a.proxy(this.process, this)); + return e ? this.process(e) : e; + }), + p && (h.lookup = a.a.debounce(h.lookup, 500, { leading: !0 })), + c.keydown(function (e) { + (40 !== e.keyCode && 13 !== e.keyCode) || c.click(); + }), + c.click(function () { + (u = null), + l.css("width", Math.max(c.width(), 80) + 16 + "px"), + c.hide(), + l.show(), + l.focus(), + (d = !1); + var e = l.data("typeahead"); + e && (l.val(""), e.lookup()); + }), + l.blur(r.inputBlur), + e(o.contents())(r); + }, + }; + } + function d(e) { + return { + template: + '<metric-segment segment="segment" get-options="getOptionsInternal()" on-change="onSegmentChange()"></metric-segment>', + restrict: "E", + scope: { + property: "=", + options: "=", + getOptions: "&", + onChange: "&", + }, + link: { + pre: function (t, n, r) { + var o; + (t.valueToSegment = function (n) { + var o = a.a.find(t.options, { value: n }), + i = { + cssClass: r.cssClass, + custom: r.custom, + value: o ? o.text : n, + selectMode: r.selectMode, + }; + return e.newSegment(i); + }), + (t.getOptionsInternal = function () { + return t.options + ? ((o = t.options), + Promise.resolve( + a.a.map(t.options, function (e) { + return { value: e.text }; + }) + )) + : t.getOptions().then(function (e) { + return ( + (o = e), + a.a.map(e, function (e) { + return e.html ? e : { value: e.text }; + }) + ); + }); + }), + (t.onSegmentChange = function () { + if (o) { + var e = a.a.find(o, { text: t.segment.value }); + e && e.value !== t.property + ? (t.property = e.value) + : "false" !== r.custom && (t.property = t.segment.value); + } else t.property = t.segment.value; + t.$$postDigest(function () { + t.$apply(function () { + t.onChange(); + }); + }); + }), + (t.segment = t.valueToSegment(t.property)); + }, + }, + }; + } + (c.$inject = ["$compile"]), + (s.$inject = ["$compile"]), + l.c.directive("dropdownTypeahead", s), + l.c.directive("dropdownTypeahead2", c), + (u.$inject = ["$compile"]), + l.c.directive("autofillEventFix", u), + (d.$inject = ["uiSegmentSrv"]), + (f.$inject = ["$compile", "$sce", "templateSrv"]), + l.c.directive("metricSegment", f), + l.c.directive("metricSegmentModel", d); + var p = n("KHwQ"), + h = n.n(p), + m = n("sxGJ"), + g = n.n(m), + b = n("PbtU"), + v = n("Obii"); + function y(e) { + return { + restrict: "E", + link: function (t, n, r) { + var a = + '<i class="grafana-tip fa fa-' + + (r.icon || "question-circle") + + '" bs-tooltip="\'' + + b.a.addslashes(n.text()) + + "'\"></i>"; + (a = a.replace(/{/g, "\\{").replace(/}/g, "\\}")), + n.replaceWith(e(h.a.element(a))(t)); + }, + }; + } + function w(e) { + return { + restrict: "A", + link: function (t, n, r) { + t.$watch( + function (e) { + return e.$eval(r.compile); + }, + function (r) { + n.html(r), e(n.contents())(t); + } + ); + }, + }; + } + function O(e) { + return { + restrict: "E", + link: function (t, n, r) { + var a = r.change ? ' ng-change="' + r.change + '"' : "", + o = r.tip ? " <tip>" + r.tip + "</tip>" : "", + i = + '<div class="editor-option gf-form-checkbox text-center"' + + (r.showIf ? ' ng-show="' + r.showIf + '" ' : "") + + '> <label for="' + + r.model + + '" class="small">' + + r.text + + o + + '</label><input class="cr1" id="' + + r.model + + '" type="checkbox" ng-model="' + + r.model + + '"' + + a + + ' ng-checked="' + + r.model + + '"></input> <label for="' + + r.model + + '" class="cr1"></label>'; + n.replaceWith(e(h.a.element(i))(t)); + }, + }; + } + function x(e, t) { + return { + restrict: "E", + link: function (n, r, a) { + var o = t(a.text)(n), + i = t(a.model)(n), + l = a.change ? ' ng-change="' + a.change + '"' : "", + s = a.tip ? " <tip>" + a.tip + "</tip>" : "", + c = + '<label for="' + + n.$id + + i + + '" class="checkbox-label">' + + o + + s + + "</label>", + u = + '<input class="cr1" id="' + + n.$id + + i + + '" type="checkbox" ng-model="' + + i + + '"' + + l + + ' ng-checked="' + + i + + '"></input> <label for="' + + n.$id + + i + + '" class="cr1"></label>'; + (u += c), + r.addClass("gf-form-checkbox"), + r.html(e(h.a.element(u))(n)); + }, + }; + } + function k(e, t, n) { + return { + restrict: "EA", + scope: !0, + link: function (r, a, o) { + var i = e(o.gfDropdown)(r); + n(function () { + var e = a.data("placement"); + h.a + .element( + (function e(t, n) { + for ( + var r = [ + '<ul class="dropdown-menu ' + + ("top" === n ? "dropup" : "") + + '" role="menu" aria-labelledby="drop1">', + "</ul>", + ], + a = 0; + a < t.length; + a++ + ) { + var o = t[a]; + if (o.divider) + r.splice(a + 1, 0, '<li class="divider"></li>'); + else { + var i = + "<li" + + (o.submenu && o.submenu.length + ? ' class="dropdown-submenu"' + : "") + + '><a tabindex="-1" ng-href="' + + (o.href || "") + + '"' + + (o.click ? ' ng-click="' + o.click + '"' : "") + + (o.target ? ' target="' + o.target + '"' : "") + + (o.method ? ' data-method="' + o.method + '"' : "") + + ">" + + (o.text || "") + + "</a>"; + o.submenu && + o.submenu.length && + (i += e(o.submenu).join("\n")), + (i += "</li>"), + r.splice(a + 1, 0, i); + } + } + return r; + })(i, e).join("") + ) + .insertAfter(a), + t(a.next("ul.dropdown-menu"))(r); + }), + a.addClass("dropdown-toggle").attr("data-toggle", "dropdown"); + }, + }; + } + (k.$inject = ["$parse", "$compile", "$timeout"]), + (x.$inject = ["$compile", "$interpolate"]), + (O.$inject = ["$compile"]), + (w.$inject = ["$compile"]), + (y.$inject = ["$compile"]), + l.c.directive("tip", y), + l.c.directive("clipboardButton", function () { + return { + scope: { getText: "&clipboardButton" }, + link: function (e, t) { + (e.clipboard = new g.a(t[0], { + text: function () { + return e.getText(); + }, + })), + e.clipboard.on("success", function () { + ke.b.emit(v.AppEvents.alertSuccess, [ + "Content copied to clipboard", + ]); + }), + e.$on("$destroy", function () { + e.clipboard && e.clipboard.destroy(); + }); + }, + }; + }), + l.c.directive("compile", w), + l.c.directive("watchChange", function () { + return { + scope: { onchange: "&watchChange" }, + link: function (e, t) { + t.on("input", function () { + e.$apply(function () { + e.onchange({ inputValue: t.val() }); + }); + }); + }, + }; + }), + l.c.directive("editorOptBool", O), + l.c.directive("editorCheckbox", x), + l.c.directive("gfDropdown", k), + l.c.directive("ngModelOnblur", function () { + return { + restrict: "A", + priority: 1, + require: "ngModel", + link: function (e, t, n, r) { + "radio" !== n.type && + "checkbox" !== n.type && + (t.off("input keydown change"), + t.bind("blur", function () { + e.$apply(function () { + r.$setViewValue(t.val()); + }); + })); + }, + }; + }), + l.c.directive("emptyToNull", function () { + return { + restrict: "A", + require: "ngModel", + link: function (e, t, n, r) { + r.$parsers.push(function (e) { + return "" === e ? null : e; + }); + }, + }; + }), + l.c.directive("validTimeSpan", function () { + return { + require: "ngModel", + link: function (e, t, n, r) { + r.$validators.integer = function (e, t) { + return ( + !!r.$isEmpty(e) || + 0 === t.indexOf("$") || + 0 === t.indexOf("+$") || + !0 !== v.rangeUtil.describeTextRange(t).invalid + ); + }; + }, + }; + }); + var j = n("kDLi"); + n("eQJK"); + function S(e, t) { + var n = Object(j.getTagColorsFromName)(e), + r = n.color, + a = n.borderColor; + t.css("background-color", r), t.css("border-color", a); + } + l.c.directive("tagColorFromName", function () { + return { + scope: { tagColorFromName: "=" }, + link: function (e, t) { + S(e.tagColorFromName, t); + }, + }; + }), + l.c.directive("bootstrapTagsinput", function () { + function e(e, t) { + if (t) + return h.a.isFunction(e.$parent[t]) + ? e.$parent[t] + : function (e) { + return e[t]; + }; + } + return { + restrict: "EA", + scope: { model: "=ngModel", onTagsUpdated: "&" }, + template: "<select multiple></select>", + replace: !1, + link: function (t, n, r) { + var a = this; + h.a.isArray(t.model) || (t.model = []); + var o = i()("select", n); + r.placeholder && o.attr("placeholder", r.placeholder), + o.tagsinput({ + typeahead: { + source: h.a.isFunction(t.$parent[r.typeaheadSource]) + ? t.$parent[r.typeaheadSource] + : null, + }, + widthClass: r.widthClass, + itemValue: e(t, r.itemvalue), + itemText: e(t, r.itemtext), + tagClass: h.a.isFunction(t.$parent[r.tagclass]) + ? t.$parent[r.tagclass] + : function () { + return r.tagclass; + }, + }), + o.on("itemAdded", function (e) { + -1 === t.model.indexOf(e.item) && + (t.model.push(e.item), + t.onTagsUpdated && t.onTagsUpdated()); + var n = o + .next() + .children("span") + .filter(function () { + return i()(a).text() === e.item; + }); + S(e.item, n); + }), + o.on("itemRemoved", function (e) { + var n = t.model.indexOf(e.item); + -1 !== n && + (t.model.splice(n, 1), + t.onTagsUpdated && t.onTagsUpdated()); + }), + t.$watch( + "model", + function () { + h.a.isArray(t.model) || (t.model = []), + o.tagsinput("removeAll"); + for (var e = 0; e < t.model.length; e++) + o.tagsinput("add", t.model[e]); + }, + !0 + ); + }, + }; + }); + var E = n("sEfC"), + C = n.n(E), + P = n("xkGU"), + T = n.n(P), + D = n("k4Da"), + A = n.n(D), + _ = n("J2m7"), + N = n.n(_), + M = n("uoTU"), + I = n.n(M), + R = n("3WF5"), + F = n.n(R), + L = n("1gCF"), + V = n("4qJB"); + function B(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function $(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + B(o, r, a, i, l, "next", e); + } + function l(e) { + B(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function q(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + z.$inject = ["$compile", "$window", "$timeout", "$rootScope"]; + var U = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.queryHasSearchFilter = + !!this.variable && Object(V.e)(this.variable.query)), + (this.debouncedQueryChanged = C()( + this.queryChanged.bind(this), + 200 + )), + (this.selectors = L.a.pages.Dashboard.SubMenu.selectors); + } + var t, n, r, a, o, i; + return ( + (e.$inject = ["$scope"]), + (t = e), + (n = [ + { + key: "show", + value: function () { + var e = this; + (this.oldVariableText = this.variable.current.text), + (this.highlightIndex = -1), + (this.options = this.variable.options), + (this.selectedValues = A()(this.options, { selected: !0 })), + (this.tags = F()(this.variable.tags, function (t) { + var n = { text: t, selected: !1 }; + return ( + T()(e.variable.current.tags, function (e) { + e.text === t && (n = e); + }), + n + ); + })); + var t = + this.queryHasSearchFilter && this.search && this.search.query + ? this.search.query + : ""; + (this.search = { + query: t, + options: this.options.slice( + 0, + Math.min(this.options.length, 1e3) + ), + }), + (this.dropdownVisible = !0); + }, + }, + { + key: "updateLinkText", + value: function () { + var e = this.variable.current; + if (e.tags && e.tags.length) { + var t = A()(this.variable.options, function (t) { + if (!t.selected) return !1; + for (var n = 0; n < e.tags.length; n++) { + var r = e.tags[n]; + if (-1 !== I()(r.values, t.value)) return !1; + } + return !0; + }), + n = F()(t, "text"); + (this.linkText = n.join(" + ")), + this.linkText.length > 0 && (this.linkText += " + "); + } else this.linkText = this.variable.current.text; + }, + }, + { + key: "clearSelections", + value: function () { + (this.selectedValues = A()(this.options, { selected: !0 })), + this.selectedValues.length + ? T()(this.options, function (e) { + e.selected = !1; + }) + : T()(this.search.options, function (e) { + e.selected = !0; + }), + this.selectionsChanged(!1); + }, + }, + { + key: "selectTag", + value: function (e) { + var t = this; + return ( + (e.selected = !e.selected), + (e.values + ? Promise.resolve(e.values) + : this.variable.getValuesForTag(e.text) + ).then(function (n) { + (e.values = n), + (e.valuesText = n.join(" + ")), + T()(t.options, function (t) { + -1 !== I()(e.values, t.value) && + (t.selected = e.selected); + }), + t.selectionsChanged(!1); + }) + ); + }, + }, + { + key: "keyDown", + value: function (e) { + 27 === e.keyCode && this.hide(), + 40 === e.keyCode && this.moveHighlight(1), + 38 === e.keyCode && this.moveHighlight(-1), + 13 === e.keyCode && + (0 === this.search.options.length + ? this.commitChanges() + : this.selectValue( + this.search.options[this.highlightIndex], + {}, + !0 + )), + 32 === e.keyCode && + this.selectValue( + this.search.options[this.highlightIndex], + {}, + !1 + ); + }, + }, + { + key: "moveHighlight", + value: function (e) { + this.highlightIndex = + (this.highlightIndex + e) % this.search.options.length; + }, + }, + { + key: "selectValue", + value: function (e, t, n) { + var r = this; + if (e) { + e.selected = !this.variable.multi || !e.selected; + var a = function (t) { + T()(r.options, function (n) { + e !== n && (n.selected = t); + }); + }; + (n = n || !1) && (e.selected = !0), + "All" === e.text + ? ((this.search.query = ""), a(!1), (n = !0)) + : this.variable.multi + ? (t.ctrlKey || t.metaKey || t.shiftKey) && + ((n = !0), a(!1)) + : (a(!1), (n = !0)), + this.selectionsChanged(n); + } + }, + }, + { + key: "selectionsChanged", + value: function (e) { + var t = this; + (this.selectedValues = A()(this.options, { selected: !0 })), + this.selectedValues.length > 1 && + "All" === this.selectedValues[0].text && + ((this.selectedValues[0].selected = !1), + (this.selectedValues = this.selectedValues.slice( + 1, + this.selectedValues.length + ))), + T()(this.tags, function (e) { + e.selected && + T()(e.values, function (n) { + N()(t.selectedValues, { value: n }) || + (e.selected = !1); + }); + }), + (this.selectedTags = A()(this.tags, { selected: !0 })), + (this.variable.current.value = F()( + this.selectedValues, + "value" + )), + (this.variable.current.text = F()( + this.selectedValues, + "text" + ).join(" + ")), + (this.variable.current.tags = this.selectedTags), + this.variable.multi || + (this.variable.current.value = this.selectedValues[0].value), + e && this.commitChanges(); + }, + }, + { + key: "commitChanges", + value: function () { + 0 === this.search.options.length && this.search.query.length > 0 + ? (this.variable.current = { + text: this.search.query, + value: this.search.query, + }) + : 0 === this.selectedValues.length && + ((this.options[0].selected = !0), + this.selectionsChanged(!1)), + (this.dropdownVisible = !1), + this.updateLinkText(), + this.queryHasSearchFilter && this.updateLazyLoadedOptions(), + this.variable.current.text !== this.oldVariableText && + this.onUpdated(); + }, + }, + { + key: "queryChanged", + value: + ((i = $( + regeneratorRuntime.mark(function e() { + var t, + n = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!this.queryHasSearchFilter) { + e.next = 4; + break; + } + return ( + (e.next = 3), this.updateLazyLoadedOptions() + ); + case 3: + return e.abrupt("return"); + case 4: + (t = A()(this.options, function (e) { + return ( + -1 !== + e.text + .toLowerCase() + .indexOf(n.search.query.toLowerCase()) + ); + })), + this.updateUIBoundOptions(this.$scope, t); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return i.apply(this, arguments); + }), + }, + { + key: "init", + value: function () { + (this.selectedTags = this.variable.current.tags || []), + this.updateLinkText(); + }, + }, + { + key: "updateLazyLoadedOptions", + value: + ((o = $( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.lazyLoadOptions(this.search.query) + ); + case 2: + (this.options = e.sent), + this.updateUIBoundOptions( + this.$scope, + this.options + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "lazyLoadOptions", + value: + ((a = $( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), this.variable.updateOptions(t) + ); + case 2: + return e.abrupt("return", this.variable.options); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return a.apply(this, arguments); + }), + }, + { + key: "updateUIBoundOptions", + value: function (e, t) { + (this.highlightIndex = 0), + (this.search.options = t.slice(0, Math.min(t.length, 1e3))), + e.$apply(); + }, + }, + ]) && q(t.prototype, n), + r && q(t, r), + e + ); + })(); + function z(e, t, n, r) { + return { + scope: { dashboard: "=", variable: "=", onUpdated: "&" }, + templateUrl: "public/app/partials/valueSelectDropdown.html", + controller: "ValueSelectDropdownCtrl", + controllerAs: "vm", + bindToController: !0, + link: function (e, r) { + var a = h.a.element(t.document.body), + o = r.find(".variable-value-link"), + i = r.find("input"); + function l(t) { + 0 === r.has(t.target).length && + e.$apply(function () { + e.vm.commitChanges(); + }); + } + e.$watch("vm.dropdownVisible", function (e) { + e + ? (i.css("width", Math.max(o.width(), 80) + "px"), + i.show(), + o.hide(), + i.focus(), + n( + function () { + a.on("click", l); + }, + 0, + !1 + )) + : (i.hide(), o.show(), a.off("click", l)); + }), + e.vm.dashboard.on( + "template-variable-value-updated", + function () { + e.vm.updateLinkText(); + }, + e + ), + e.vm.init(); + }, + }; + } + function H(e) { + return { + multiElement: !0, + terminal: !0, + transclude: !0, + priority: 600, + restrict: "E", + link: function (t, n, r, a, o) { + var l, s, c; + function u() { + c && (c.remove(), (c = null)), + s && (s.$destroy(), (s = null)), + l && + ((c = (function (e) { + var t, + n = e[0], + r = e[e.length - 1]; + n = n.nextSibling; + for (var a = 1; n !== r && n; a++) + (t || e[a] !== n) && + (t || (t = i()([].slice.call(e, 0, a))), t.push(n)), + (n = n.nextSibling); + return t || e; + })(l.clone)), + e.leave(c).then(function () { + c = null; + }), + (l = null)); + } + t.$watch(r.property, function (t, a) { + s && t !== a && u(), + s || (!t && !r.showNull) + ? u() + : o(function (t, r) { + (s = r), + (t[t.length++] = document.createComment( + " end rebuild on change " + )), + (l = { clone: t }), + e.enter(t, n.parent(), n); + }); + }); + }, + }; + } + l.c.controller("ValueSelectDropdownCtrl", U), + l.c.directive("valueSelectDropdown", z), + (H.$inject = ["$animate"]), + l.c.directive("rebuildOnChange", H), + l.c.directive("giveFocus", function () { + return function (e, t, n) { + t.click(function (e) { + e.stopPropagation(); + }), + e.$watch( + n.giveFocus, + function (e) { + e && + setTimeout(function () { + t.focus(); + var e = t[0]; + if (e.setSelectionRange) { + var n = 2 * t.val().length; + e.setSelectionRange(n, n); + } + }, 200); + }, + !0 + ); + }; + }); + var G = n("GQ3c"); + function W(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Q(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Y(e, t, n) { + return t && Q(e.prototype, t), n && Q(e, n), e; + } + var K = (function () { + function e(t) { + var n = this; + W(this, e), (this.$rootScope = t); + this.observer = new MutationObserver(function (e) { + 1 === e.length && n.$rootScope.appEvent(G.CoreEvents.jsonDiffReady); + }); + this.observer.observe(h.a.element(".delta-html")[0], { + attributes: !0, + attributeFilter: ["class"], + characterData: !1, + childList: !0, + subtree: !1, + }); + } + return ( + (e.$inject = ["$rootScope"]), + Y(e, [ + { + key: "$onDestroy", + value: function () { + this.observer.disconnect(); + }, + }, + ]), + e + ); + })(); + l.c.directive("diffDelta", function () { + return { controller: K, replace: !1, restrict: "A" }; + }); + var J = (function () { + function e(t, n, r) { + W(this, e), + (this.$scope = t), + (this.$rootScope = n), + (this.$anchorScroll = r); + } + return ( + (e.$inject = ["$scope", "$rootScope", "$anchorScroll"]), + Y(e, [ + { + key: "goToLine", + value: function (e) { + var t, + n = this, + r = function () { + n.$anchorScroll("l".concat(e)), t(); + }; + this.$scope.switchView().then(function () { + t = n.$rootScope.$on("json-diff-ready", r.bind(n)); + }); + }, + }, + ]), + e + ); + })(); + l.c.directive("diffLinkJson", function () { + return { + controller: J, + controllerAs: "ctrl", + replace: !0, + restrict: "E", + scope: { line: "@lineDisplay", link: "@lineLink", switchView: "&" }, + template: + '<a class="diff-linenum btn btn-inverse btn-small" ng-click="ctrl.goToLine(link)">Line {{ line }}</a>', + }; + }); + var Z, + X = i()(window); + i.a.fn.place_tt = + ((Z = { offset: 5 }), + function (e, t, n) { + var r = this; + return ( + (n = i.a.extend(!0, {}, Z, n)), + this.each(function () { + var o, + l, + s = i()(r); + s.addClass("grafana-tooltip"), + i()("#tooltip").remove(), + s.appendTo(document.body), + n.compile && + h.a + .element(document) + .injector() + .invoke([ + "$compile", + "$rootScope", + function (e, t) { + var r = t.$new(!0); + a.a.extend(r, n.scopeData), + e(s)(r), + r.$digest(), + r.$destroy(); + }, + ]), + (o = s.outerWidth(!0)), + (l = s.outerHeight(!0)); + var c = + e + n.offset + o > X.width() + ? e - n.offset - o + : e + n.offset, + u = + t + n.offset + l > X.height() + ? t - n.offset - l + : t + n.offset; + s.css("left", c > 0 ? c : 0), s.css("top", u > 0 ? u : 0); + }) + ); + }); + n("Sr1g"); + l.c.directive("jsonTree", [ + function () { + return { + restrict: "E", + scope: { object: "=", startExpanded: "@", rootName: "@" }, + link: function (e, t) { + var n = e.startExpanded; + "true" === e.startExpanded + ? (n = 2) + : "false" === e.startExpanded && (n = 1); + var r, + a, + o, + i = + ((r = {}), + (a = e.rootName), + (o = e.object), + a in r + ? Object.defineProperty(r, a, { + value: o, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (r[a] = o), + r), + l = new j.JsonExplorer(i, n, { animateOpen: !0 }).render(!0); + t.append(l); + }, + }; + }, + ]); + var ee = n("ZFWI"); + function te(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function ne(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + te(o, r, a, i, l, "next", e); + } + function l(e) { + te(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function re(e, t, n) { + return ae.apply(this, arguments); + } + function ae() { + return (ae = ne( + regeneratorRuntime.mark(function e(t, r, a) { + var o, i, l, s, c, u, f, d, p, h, m, g, b, v, y, w; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (w = function (e) { + h.setValue(e), h.clearSelection(); + }), + (y = function () { + var e = "ace/theme/grafana-dark"; + ee.b.bootData.user.lightTheme && + (e = "ace/theme/textmate"), + h.setTheme(e); + }), + (v = function (e) { + if ( + (p.acequire("ace/ext/language_tools"), + h.setOptions({ + enableBasicAutocompletion: !0, + enableLiveAutocompletion: !0, + enableSnippets: u, + }), + t.getCompleter()) + ) { + var n = h; + (n.completers = n.completers.slice()), + n.completers.push(t.getCompleter()); + } + var r = "ace/mode/".concat(e); + m.setMode(r); + }), + (o = a.mode || "text"), + (i = a.maxLines || 10), + (l = void 0 !== a.showGutter), + (s = a.tabSize || 2), + (c = + !a.behavioursEnabled || "true" === a.behavioursEnabled), + (u = !a.snippetsEnabled || "true" === a.snippetsEnabled), + (f = r.get(0)), + (e.next = 12), + n.e(30).then(n.t.bind(null, "Bhyg", 7)) + ); + case 12: + return ( + (d = e.sent), + (p = d.default), + (e.next = 16), + n.e(57).then(n.t.bind(null, "IJmI", 7)) + ); + case 16: + return ( + (e.next = 18), n.e(66).then(n.t.bind(null, "g7+H", 7)) + ); + case 18: + return ( + (e.next = 20), n.e(60).then(n.t.bind(null, "iioy", 7)) + ); + case 20: + return ( + (e.next = 22), n.e(65).then(n.t.bind(null, "JLn5", 7)) + ); + case 22: + return ( + (e.next = 24), n.e(58).then(n.t.bind(null, "hC/C", 7)) + ); + case 24: + return ( + (e.next = 26), n.e(63).then(n.t.bind(null, "bmO+", 7)) + ); + case 26: + return ( + (e.next = 28), n.e(59).then(n.t.bind(null, "HOUf", 7)) + ); + case 28: + return ( + (e.next = 30), n.e(64).then(n.t.bind(null, "zIv8", 7)) + ); + case 30: + return ( + (e.next = 32), n.e(52).then(n.t.bind(null, "wam1", 7)) + ); + case 32: + return ( + (e.next = 34), n.e(62).then(n.t.bind(null, "CVAQ", 7)) + ); + case 34: + return ( + (e.next = 36), n.e(55).then(n.t.bind(null, "gYtI", 7)) + ); + case 36: + return ( + (e.next = 38), n.e(61).then(n.t.bind(null, "sDlW", 7)) + ); + case 38: + return ( + (e.next = 40), n.e(67).then(n.t.bind(null, "7CEB", 7)) + ); + case 40: + (h = p.edit(f)), + (m = h.getSession()), + (g = { + maxLines: i, + showGutter: l, + tabSize: s, + behavioursEnabled: c, + highlightActiveLine: !1, + showPrintMargin: !1, + autoScrollEditorIntoView: !0, + }), + h.setOptions(g), + (h.$blockScrolling = 1 / 0), + h.renderer.setScrollMargin(10, 10), + h.renderer.setPadding(10), + y(), + v(o), + w(t.content), + r.addClass("gf-code-editor"), + (b = r.find("textarea")).addClass("gf-form-input"), + t.codeEditorFocus && + setTimeout(function () { + b.focus(); + var e = b[0]; + if (e.setSelectionRange) { + var t = 2 * b.val().length; + e.setSelectionRange(t, t); + } + }, 100), + m.on("change", function (e) { + t.$apply(function () { + var e = h.getValue(); + t.content = e; + }); + }), + t.$watch("content", function (e, n) { + var r = h.getValue(); + e !== r && + e !== n && + t.$$postDigest(function () { + w(e); + }); + }), + h.on("blur", function () { + t.onChange(); + }), + t.$on("$destroy", function () { + h.destroy(); + }), + h.commands.addCommand({ + name: "executeQuery", + bindKey: { win: "Ctrl-Enter", mac: "Command-Enter" }, + exec: function () { + t.onChange(); + }, + }); + case 59: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + l.c.directive("codeEditor", function () { + return { + restrict: "E", + template: "<div></div>", + scope: { + content: "=", + datasource: "=", + codeEditorFocus: "<", + onChange: "&", + getCompleter: "&", + }, + link: re, + }; + }); + n("2L8i"); + l.c.directive("spectrumPicker", function () { + return { + restrict: "E", + require: "ngModel", + scope: !0, + replace: !0, + template: + '<color-picker color="ngModel.$viewValue" onChange="onColorChange"></color-picker>', + link: function (e, t, n, r) { + (e.ngModel = r), + (e.onColorChange = function (e) { + r.$setViewValue(e); + }); + }, + }; + }); + var oe = n("h3Ht"), + ie = n("SMGL"), + le = n("umNM"), + se = n("NXk7"); + function ce(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ue = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.recentIsOpen = ie.a.getBool("search.sections.recent", !0)), + (this.starredIsOpen = ie.a.getBool("search.sections.starred", !0)); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getRecentDashboards", + value: function (e) { + var t = this; + return this.queryForRecentDashboards().then(function (n) { + n.length > 0 && + (e.recent = { + title: "Recent", + icon: "fa fa-clock-o", + score: -1, + removable: !0, + expanded: t.recentIsOpen, + toggle: t.toggleRecent.bind(t), + items: n, + }); + }); + }, + }, + { + key: "queryForRecentDashboards", + value: function () { + var e = a.a.take(oe.a.getDashboardOpened(), 30); + return 0 === e.length + ? Promise.resolve([]) + : se.b.search({ dashboardIds: e }).then(function (t) { + return e + .map(function (e) { + return a.a.find(t, { id: e }); + }) + .filter(function (e) { + return e && !e.isStarred; + }); + }); + }, + }, + { + key: "toggleRecent", + value: function (e) { + return ( + (this.recentIsOpen = e.expanded = !e.expanded), + ie.a.set("search.sections.recent", this.recentIsOpen), + !e.expanded || e.items.length + ? Promise.resolve(e) + : this.queryForRecentDashboards().then(function (t) { + return (e.items = t), Promise.resolve(e); + }) + ); + }, + }, + { + key: "toggleStarred", + value: function (e) { + return ( + (this.starredIsOpen = e.expanded = !e.expanded), + ie.a.set("search.sections.starred", this.starredIsOpen), + Promise.resolve(e) + ); + }, + }, + { + key: "getStarred", + value: function (e) { + var t = this; + return le.a.isSignedIn + ? se.b.search({ starred: !0, limit: 30 }).then(function (n) { + n.length > 0 && + (e.starred = { + title: "Starred", + icon: "fa fa-star-o", + score: -2, + expanded: t.starredIsOpen, + toggle: t.toggleStarred.bind(t), + items: n, + }); + }) + : Promise.resolve(); + }, + }, + { + key: "search", + value: function (e) { + var t = this, + n = {}, + r = [], + o = a.a.clone(e), + i = + e.query || + (e.tag && e.tag.length > 0) || + e.starred || + (e.folderIds && e.folderIds.length > 0); + return ( + e.skipRecent || i || r.push(this.getRecentDashboards(n)), + e.skipStarred || i || r.push(this.getStarred(n)), + (o.folderIds = o.folderIds || []), + i || (o.folderIds = [0]), + r.push( + se.b.search(o).then(function (e) { + return t.handleSearchResult(n, e); + }) + ), + Promise.all(r).then(function () { + return a.a.sortBy(a.a.values(n), "score"); + }) + ); + }, + }, + { + key: "handleSearchResult", + value: function (e, t) { + if (0 === t.length) return e; + var n = !0, + r = !1, + o = void 0; + try { + for ( + var i, l = t[Symbol.iterator](); + !(n = (i = l.next()).done); + n = !0 + ) { + var s = i.value; + "dash-folder" === s.type && + (e[s.id] = { + id: s.id, + uid: s.uid, + title: s.title, + expanded: !1, + items: [], + toggle: this.toggleFolder.bind(this), + url: s.url, + icon: "fa fa-folder", + score: a.a.keys(e).length, + }); + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw o; + } + } + var c = !0, + u = !1, + f = void 0; + try { + for ( + var d, p = t[Symbol.iterator](); + !(c = (d = p.next()).done); + c = !0 + ) { + var h = d.value; + if ("dash-folder" !== h.type) { + var m = e[h.folderId || 0]; + m || + ((m = h.folderId + ? { + id: h.folderId, + uid: h.folderUid, + title: h.folderTitle, + url: h.folderUrl, + items: [], + icon: "fa fa-folder-open", + toggle: this.toggleFolder.bind(this), + score: a.a.keys(e).length, + } + : { + id: 0, + title: "General", + items: [], + icon: "fa fa-folder-open", + toggle: this.toggleFolder.bind(this), + score: a.a.keys(e).length, + }), + (e[h.folderId || 0] = m)), + (m.expanded = !0), + m.items.push(h); + } + } + } catch (e) { + (u = !0), (f = e); + } finally { + try { + c || null == p.return || p.return(); + } finally { + if (u) throw f; + } + } + }, + }, + { + key: "toggleFolder", + value: function (e) { + if ( + ((e.expanded = !e.expanded), + (e.icon = e.expanded ? "fa fa-folder-open" : "fa fa-folder"), + e.items.length) + ) + return Promise.resolve(e); + var t = { folderIds: [e.id] }; + return se.b.search(t).then(function (t) { + return (e.items = t), Promise.resolve(e); + }); + }, + }, + { + key: "getDashboardTags", + value: function () { + return se.b.get("/api/dashboards/tags"); + }, + }, + ]) && ce(t.prototype, n), + r && ce(t, r), + e + ); + })(); + l.c.service("searchSrv", ue); + var fe = n("q1tI"), + de = n.n(fe), + pe = n("i8i4"), + he = n.n(pe); + function me(e, t) { + if (h.a.isFunction(e)) return e; + if (!e) + throw new Error("ReactComponent name attribute must be specified"); + var n; + try { + n = t.get(e); + } catch (e) {} + if (!n) + try { + n = e.split(".").reduce(function (e, t) { + return e[t]; + }, window); + } catch (e) {} + if (!n) throw Error("Cannot find react component " + e); + return n; + } + function ge(e, t, n) { + return Object.keys(e || {}).reduce(function (r, a) { + var o = e[a], + i = (n || {})[a] || {}; + return ( + (r[a] = + h.a.isFunction(o) && !1 !== i.wrapApply + ? (function (e, t) { + if (e.wrappedInApply) return e; + var n = function () { + var n = arguments, + r = t.$root.$$phase; + return "$apply" === r || "$digest" === r + ? e.apply(null, n) + : t.$apply(function () { + return e.apply(null, n); + }); + }; + return (n.wrappedInApply = !0), n; + })(o, t) + : o), + r + ); + }, {}); + } + function be(e, t, n, r) { + var a, + o = h.a.isFunction(t.$watchCollection), + i = h.a.isFunction(t.$watchGroup), + l = [], + s = !0, + c = !1, + u = void 0; + try { + for ( + var f, d = n[Symbol.iterator](); + !(s = (f = d.next()).done); + s = !0 + ) { + var p = f.value, + m = ((a = p), Array.isArray(a) ? a[0] : a), + g = Oe(e, p); + m && + !m.match(/\(.*\)/) && + "one-time" !== g && + ("collection" === g && o + ? t.$watchCollection(m, r) + : "reference" === g && i + ? l.push(m) + : t.$watch(m, r, "reference" !== g)); + } + } catch (e) { + (c = !0), (u = e); + } finally { + try { + s || null == d.return || d.return(); + } finally { + if (c) throw u; + } + } + "one-time" === e && r(), l.length && t.$watchGroup(l, r); + } + function ve(e, t, n, r) { + n.$evalAsync(function () { + he.a.render(de.a.createElement(e, t), r[0]); + }); + } + function ye(e) { + return Array.isArray(e) ? e[1] : {}; + } + function we(e, t) { + return e[ + Object.keys(e).find(function (e) { + return ( + e.toLowerCase() === t.toLowerCase() || + e.toLowerCase() === Object(r.kebabCase)(t) + ); + }) + ]; + } + function Oe(e, t) { + return (Array.isArray(t) && h.a.isObject(t[1]) && t[1].watchDepth) || e; + } + var xe = h.a.module("react", []); + xe.directive("reactComponent", [ + "$injector", + function (e) { + return { + restrict: "E", + replace: !0, + link: function (t, n, r) { + var a = this, + o = me(r.name, e), + i = function () { + var e = ge(t.$eval(r.props), t); + ve(o, e, t, n); + }; + r.props ? be(r.watchDepth, t, [r.props], i) : i(), + t.$on("$destroy", function () { + r.onScopeDestroy + ? t.$eval(r.onScopeDestroy, { + unmountComponent: he.a.unmountComponentAtNode.bind( + a, + n[0] + ), + }) + : he.a.unmountComponentAtNode(n[0]); + }); + }, + }; + }, + ]), + xe.factory("reactDirective", [ + "$injector", + function (e) { + return function (t, n, r, a) { + var o = { + restrict: "E", + replace: !0, + link: function (r, o, i) { + var l = this, + s = me(t, e), + c = function () { + var e = {}, + t = {}; + n.forEach(function (n) { + var a = (function (e) { + return Array.isArray(e) ? e[0] : e; + })(n); + (e[a] = r.$eval(we(i, a))), (t[a] = ye(n)); + }), + (e = ge(e, r, t)), + (e = h.a.extend({}, e, a)), + ve(s, e, r, o); + }, + u = (n = n || Object.keys(s.propTypes || {})).map(function ( + e + ) { + return Array.isArray(e) ? [we(i, e[0]), ye(e)] : we(i, e); + }); + n.length ? be(i.watchDepth, r, u, c) : c(), + r.$on("$destroy", function () { + i.onScopeDestroy + ? r.$eval(i.onScopeDestroy, { + unmountComponent: he.a.unmountComponentAtNode.bind( + l, + o[0] + ), + }) + : he.a.unmountComponentAtNode(o[0]); + }); + }, + }; + return h.a.extend(o, r); + }; + }, + ]); + var ke = n("Xmxp"), + je = n("i/BV"), + Se = n("p+Sq"); + function Ee(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ce(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ee(Object(n), !0).forEach(function (t) { + Pe(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ee(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Pe(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Te(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function De(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ae(e, t, n) { + return t && De(e.prototype, t), n && De(e, n), e; + } + var _e = (function () { + function e(t) { + Te(this, e), (this.config = t); + } + return ( + Ae(e, [ + { + key: "parse", + value: function (e) { + var t = Object(je.parse)(e, this.config); + return "string" == typeof t ? { text: t } : t; + }, + }, + ]), + e + ); + })(), + Ne = (function () { + function e(t, n, a, o) { + var i = this; + Te(this, e), + (this.$scope = t), + (this.$location = n), + (this.$timeout = a), + (this.searchSrv = o), + (this.getTags = function () { + return i.searchSrv.getDashboardTags(); + }), + (this.onTagFiltersChanged = function (e) { + (i.query.tags = e), i.search(); + }), + ke.b.on( + G.CoreEvents.showDashSearch, + this.openSearch.bind(this), + t + ), + ke.b.on( + G.CoreEvents.hideDashSearch, + this.closeSearch.bind(this), + t + ), + ke.b.on( + G.CoreEvents.searchQuery, + Object(r.debounce)(this.search.bind(this), 500), + t + ), + (this.initialFolderFilterTitle = "All"), + (this.isEditor = le.a.isEditor), + (this.hasEditPermissionInFolders = + le.a.hasEditPermissionInFolders), + (this.onQueryChange = this.onQueryChange.bind(this)), + (this.onKeyDown = this.onKeyDown.bind(this)), + (this.query = { + query: "", + parsedQuery: { text: "" }, + tags: [], + starred: !1, + }), + (this.queryParser = new _e({ keywords: ["folder"] })); + } + return ( + (e.$inject = ["$scope", "$location", "$timeout", "searchSrv"]), + Ae(e, [ + { + key: "closeSearch", + value: function () { + this.isOpen = this.ignoreClose; + }, + }, + { + key: "onQueryChange", + value: function (e) { + (this.query = + "string" == typeof e + ? Ce({}, this.query, { + parsedQuery: this.queryParser.parse(e), + query: e, + }) + : e), + ke.b.emit(G.CoreEvents.searchQuery); + }, + }, + { + key: "openSearch", + value: function () { + var e = this, + t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}; + this.isOpen + ? this.closeSearch() + : ((this.isOpen = !0), + (this.giveSearchFocus = !0), + (this.selectedIndex = -1), + (this.results = []), + (this.query = { + query: t.query ? "".concat(t.query, " ") : "", + parsedQuery: this.queryParser.parse(t.query), + tags: [], + starred: !1, + }), + (this.currentSearchId = 0), + (this.ignoreClose = !0), + (this.isLoading = !0), + this.$timeout(function () { + (e.ignoreClose = !1), + (e.giveSearchFocus = !0), + e.search(); + }, 100)); + }, + }, + { + key: "onKeyDown", + value: function (e) { + if ( + (27 === e.keyCode && this.closeSearch(), + 40 === e.keyCode && this.moveSelection(1), + 38 === e.keyCode && this.moveSelection(-1), + 13 === e.keyCode) + ) { + var t = this.getFlattenedResultForNavigation()[ + this.selectedIndex + ]; + if (t) + if (void 0 !== t.dashboardIndex) { + var n = this.results[t.folderIndex].items[ + t.dashboardIndex + ]; + n && + (this.$location.search({}), + this.$location.path(n.url), + this.closeSearch()); + } else { + var r = this.results[t.folderIndex]; + r && r.toggle(r); + } + } + }, + }, + { + key: "onFilterboxClick", + value: function () { + (this.giveSearchFocus = !1), this.preventClose(); + }, + }, + { + key: "preventClose", + value: function () { + var e = this; + (this.ignoreClose = !0), + this.$timeout(function () { + e.ignoreClose = !1; + }, 100); + }, + }, + { + key: "moveSelection", + value: function (e) { + if (0 !== this.results.length) { + var t = this.getFlattenedResultForNavigation(), + n = t[this.selectedIndex]; + if ( + (n && + (void 0 !== n.dashboardIndex + ? (this.results[n.folderIndex].items[ + n.dashboardIndex + ].selected = !1) + : (this.results[n.folderIndex].selected = !1)), + 0 !== e) + ) { + var r = t.length, + a = (this.selectedIndex + e) % r; + this.selectedIndex = a < 0 ? a + r : a; + var o = t[this.selectedIndex]; + if ( + void 0 !== o.dashboardIndex || + 0 !== this.results[o.folderIndex].id + ) + return void 0 !== o.dashboardIndex + ? this.results[o.folderIndex].expanded + ? void (this.results[o.folderIndex].items[ + o.dashboardIndex + ].selected = !0) + : void this.moveSelection(e) + : void (this.results[o.folderIndex].hideHeader + ? this.moveSelection(e) + : (this.results[o.folderIndex].selected = !0)); + this.moveSelection(e); + } else this.selectedIndex = -1; + } + }, + }, + { + key: "searchDashboards", + value: function (e) { + var t = this; + this.currentSearchId = this.currentSearchId + 1; + var n = this.currentSearchId, + r = [], + a = this.query.parsedQuery; + "current" === e && + r.push(Object(Se.a)().getCurrent().meta.folderId); + var o = Ce({}, this.query, { + query: a.text, + tag: this.query.tags, + folderIds: r, + }); + return this.searchSrv.search(Ce({}, o)).then(function (e) { + n < t.currentSearchId || + ((t.results = e || []), + (t.isLoading = !1), + t.moveSelection(1), + t.$scope.$digest()); + }); + }, + }, + { + key: "queryHasNoFilters", + value: function () { + var e = this.query; + return ( + "" === e.query && !1 === e.starred && 0 === e.tags.length + ); + }, + }, + { + key: "filterByTag", + value: function (e) { + -1 === a.a.indexOf(this.query.tags, e) && + (this.query.tags.push(e), this.search()); + }, + }, + { + key: "removeTag", + value: function (e, t) { + (this.query.tags = a.a.without(this.query.tags, e)), + this.search(), + (this.giveSearchFocus = !0), + t.stopPropagation(), + t.preventDefault(); + }, + }, + { + key: "clearSearchFilter", + value: function () { + (this.query.query = ""), + (this.query.tags = []), + this.search(); + }, + }, + { + key: "showStarred", + value: function () { + (this.query.starred = !this.query.starred), + (this.giveSearchFocus = !0), + this.search(); + }, + }, + { + key: "search", + value: function () { + (this.showImport = !1), + (this.selectedIndex = -1), + this.searchDashboards(this.query.parsedQuery.folder); + }, + }, + { + key: "folderExpanding", + value: function () { + this.moveSelection(0); + }, + }, + { + key: "getFlattenedResultForNavigation", + value: function () { + var e = 0; + return a.a.flatMap(this.results, function (t) { + var n = []; + n.push({ folderIndex: e }); + var r = 0; + return ( + (n = n.concat( + a.a.map(t.items || [], function (t) { + return { folderIndex: e, dashboardIndex: r++ }; + }) + )), + e++, + n + ); + }); + }, + }, + ]), + e + ); + })(); + l.c.directive("dashboardSearch", function () { + return { + restrict: "E", + templateUrl: "public/app/core/components/search/search.html", + controller: Ne, + bindToController: !0, + controllerAs: "ctrl", + scope: {}, + }; + }); + var Me = n("XI+/"), + Ie = n.n(Me); + l.c.directive("infoPopover", function () { + return { + restrict: "E", + template: '<i class="fa fa-info-circle"></i>', + transclude: !0, + link: function (e, t, n, r, o) { + var i = n.offset || "0 -10px", + l = n.position || "right middle", + s = "drop-help drop-hide-out-of-bounds"; + t.addClass("gf-form-help-icon"), + n.wide && (s += " drop-wide"), + n.mode && t.addClass("gf-form-help-icon--" + n.mode), + o(function (n, r) { + var o = document.createElement("div"); + (o.className = "markdown-html"), + a.a.each(n, function (e) { + o.appendChild(e); + }); + var c = { + target: t[0], + content: o, + position: l, + classes: s, + openOn: "hover", + hoverOpenDelay: 400, + tetherOptions: { + offset: i, + constraints: [ + { to: "window", attachment: "together", pin: !0 }, + ], + }, + }; + e.$applyAsync(function () { + var t = new Ie.a(c), + n = e.$on("$destroy", function () { + t.destroy(), n(); + }); + }); + }); + }, + }; + }), + l.c.directive("arrayJoin", function () { + return { + restrict: "A", + require: "ngModel", + link: function (e, t, n, r) { + r.$parsers.push(function (e) { + return (e || "").split(","); + }), + r.$formatters.push(function (e) { + return a.a.isArray(e) ? (e || "").join(",") : e; + }); + }, + }; + }); + var Re = n("6blF"); + function Fe(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + new ((function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.observers = {}); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getWebSocketUrl", + value: function () { + var e = window.location; + return ( + ("https:" === e.protocol ? "wss://" : "ws://") + + e.host + + ee.b.appSubUrl + + "/ws" + ); + }, + }, + { + key: "getConnection", + value: function () { + var e = this; + return this.initPromise + ? this.initPromise + : this.conn && 1 === this.conn.readyState + ? Promise.resolve(this.conn) + : ((this.initPromise = new Promise(function (t, n) { + console.log("Live: connecting..."), + (e.conn = new WebSocket(e.getWebSocketUrl())), + (e.conn.onclose = function (t) { + console.log("Live: websocket onclose", t), + n({ message: "Connection closed" }), + (e.initPromise = null), + setTimeout(e.reconnect.bind(e), 2e3); + }), + (e.conn.onmessage = function (t) { + e.handleMessage(t.data); + }), + (e.conn.onerror = function (t) { + (e.initPromise = null), + n({ message: "Connection error" }), + console.log("Live: websocket error", t); + }), + (e.conn.onopen = function (n) { + console.log("opened"), + (e.initPromise = null), + t(e.conn); + }); + })), + this.initPromise); + }, + }, + { + key: "handleMessage", + value: function (e) { + if ((e = JSON.parse(e)).stream) { + var t = this.observers[e.stream]; + t ? t.next(e) : this.removeObserver(e.stream, null); + } else console.log("Error: stream message without stream!", e); + }, + }, + { + key: "reconnect", + value: function () { + var e = this; + 0 !== a.a.keys(this.observers).length && + (console.log("LiveSrv: Reconnecting"), + this.getConnection().then(function (t) { + a.a.each(e.observers, function (t, n) { + e.send({ action: "subscribe", stream: n }); + }); + })); + }, + }, + { + key: "send", + value: function (e) { + this.conn.send(JSON.stringify(e)); + }, + }, + { + key: "addObserver", + value: function (e, t) { + var n = this; + (this.observers[e] = t), + this.getConnection().then(function (t) { + n.send({ action: "subscribe", stream: e }); + }); + }, + }, + { + key: "removeObserver", + value: function (e, t) { + var n = this; + console.log("unsubscribe", e), + delete this.observers[e], + this.getConnection().then(function (t) { + n.send({ action: "unsubscribe", stream: e }); + }); + }, + }, + { + key: "subscribe", + value: function (e) { + var t = this; + return ( + console.log("LiveSrv.subscribe: " + e), + Re.a.create(function (n) { + return ( + t.addObserver(e, n), + function () { + t.removeObserver(e, n); + } + ); + }) + ); + }, + }, + ]) && Fe(t.prototype, n), + r && Fe(t, r), + e + ); + })())(), + n("1524"); + function Le(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Be.$inject = ["$rootScope"]; + var Ve = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.mode = ie.a.get("grafana.list.layout.mode") || "grid"); + } + var t, n, r; + return ( + (e.$inject = ["$rootScope"]), + (t = e), + (n = [ + { + key: "listView", + value: function () { + (this.mode = "list"), + ie.a.set("grafana.list.layout.mode", "list"), + this.$rootScope.appEvent( + G.CoreEvents.layoutModeChanged, + "list" + ); + }, + }, + { + key: "gridView", + value: function () { + (this.mode = "grid"), + ie.a.set("grafana.list.layout.mode", "grid"), + this.$rootScope.appEvent( + G.CoreEvents.layoutModeChanged, + "grid" + ); + }, + }, + ]) && Le(t.prototype, n), + r && Le(t, r), + e + ); + })(); + function Be(e) { + return { + restrict: "A", + scope: {}, + link: function (t, n) { + var r = + "card-list-layout-" + + (ie.a.get("grafana.list.layout.mode") || "grid"); + n.addClass(r), + e.onAppEvent( + G.CoreEvents.layoutModeChanged, + function (e, t) { + n.removeClass(r), + (r = "card-list-layout-" + t), + n.addClass(r); + }, + t + ); + }, + }; + } + function $e(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + l.c.directive("layoutSelector", function () { + return { + restrict: "E", + controller: Ve, + bindToController: !0, + controllerAs: "ctrl", + scope: {}, + template: + '\n<div class="layout-selector">\n <button ng-click="ctrl.listView()" ng-class="{active: ctrl.mode === \'list\'}">\n <i class="fa fa-list"></i>\n </button>\n <button ng-click="ctrl.gridView()" ng-class="{active: ctrl.mode === \'grid\'}">\n <i class="fa fa-th"></i>\n </button>\n</div>\n', + }; + }), + l.c.directive("layoutMode", Be); + var qe = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$timeout = n), + (this.show = !0), + (this.id = t.$id); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$timeout"]), + (t = e), + (n = [ + { + key: "internalOnChange", + value: function () { + var e = this; + return this.$timeout(function () { + return e.onChange(); + }); + }, + }, + ]) && $e(t.prototype, n), + r && $e(t, r), + e + ); + })(); + function Ue(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + l.c.directive("gfFormSwitch", function () { + return { + restrict: "E", + controller: qe, + controllerAs: "ctrl", + bindToController: !0, + scope: { + checked: "=", + label: "@", + labelClass: "@", + tooltip: "@", + switchClass: "@", + onChange: "&", + }, + template: + '\n<label for="check-{{ctrl.id}}" class="gf-form-switch-container">\n <div class="gf-form-label {{ctrl.labelClass}}" ng-show="ctrl.label">\n {{ctrl.label}}\n <info-popover mode="right-normal" ng-if="ctrl.tooltip" position="top center">\n {{ctrl.tooltip}}\n </info-popover>\n </div>\n <div class="gf-form-switch {{ctrl.switchClass}}" ng-if="ctrl.show">\n <input id="check-{{ctrl.id}}" type="checkbox" ng-model="ctrl.checked" ng-change="ctrl.internalOnChange()">\n <span class="gf-form-switch__slider"></span>\n </div>\n</label>\n', + }; + }), + l.c.directive("gfFormCheckbox", function () { + return { + restrict: "E", + controller: qe, + controllerAs: "ctrl", + bindToController: !0, + scope: { + checked: "=", + label: "@", + labelClass: "@", + tooltip: "@", + switchClass: "@", + onChange: "&", + }, + template: + '\n<label for="check-{{ctrl.id}}" class="gf-form-switch-container">\n <div class="gf-form-label {{ctrl.labelClass}}" ng-show="ctrl.label">\n {{ctrl.label}}\n <info-popover mode="right-normal" ng-if="ctrl.tooltip" position="top center">\n {{ctrl.tooltip}}\n </info-popover>\n </div>\n <div class="gf-form-checkbox {{ctrl.switchClass}}" ng-if="ctrl.show">\n <input id="check-{{ctrl.id}}" type="checkbox" ng-model="ctrl.checked" ng-change="ctrl.internalOnChange()">\n <span class="gf-form-switch__checkbox"></span>\n </div>\n</label>\n', + }; + }); + var ze = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "$onInit", + value: function () { + var e = this; + return ( + (this.options = [{ value: 0, text: "Default" }]), + se.b.search({ starred: !0 }).then(function (t) { + t.forEach(function (t) { + e.options.push({ value: t.id, text: t.title }); + }); + }) + ); + }, + }, + ]) && Ue(t.prototype, n), + r && Ue(t, r), + e + ); + })(); + l.c.directive("dashboardSelector", function () { + return { + restrict: "E", + controller: ze, + bindToController: !0, + controllerAs: "ctrl", + template: + '\n<select class="gf-form-input" ng-model="ctrl.model" ng-options="f.value as f.text for f in ctrl.options"></select>\n', + scope: { model: "=" }, + }; + }); + var He = n("2KQq"); + Ge.$inject = ["templateSrv"]; + function Ge(e) { + return { + restrict: "E", + template: + '\n<div class="dropdown cascade-open">\n<a ng-click="showActionsMenu()" class="query-part-name pointer dropdown-toggle" data-toggle="dropdown">{{part.def.type}}</a>\n<span>(</span><span class="query-part-parameters"></span><span>)</span>\n<ul class="dropdown-menu">\n <li ng-repeat="action in partActions">\n <a ng-click="triggerPartAction(action)">{{action.text}}</a>\n </li>\n</ul>\n', + scope: { part: "=", handleEvent: "&", debounce: "@" }, + link: function (t, n) { + var r = t.part, + o = r.def, + l = n.find(".query-part-parameters"), + s = t.debounce; + function c(e) { + var t = i()(this), + n = t.next(); + n.val(r.params[e]), + n.css("width", t.width() + 16 + "px"), + t.hide(), + n.show(), + n.focus(), + n.select(); + var a = n.data("typeahead"); + a && (n.val(""), a.lookup()); + } + function u(n) { + var a = i()(this), + o = a.prev(), + l = a.val(); + ("" !== l || r.def.params[n].optional) && + (o.html(e.highlightVariablesAsHtml(l)), + r.updateParam(a.val(), n), + t.$apply(function () { + t.handleEvent({ $event: { name: "part-param-changed" } }); + })), + a.hide(), + o.show(); + } + function f(e, t) { + 13 === t.which && u.call(this, e); + } + function d() { + this.style.width = 8 * (3 + this.value.length) + "px"; + } + function p() { + a.a.each(o.params, function (n, o) { + if (!(n.optional && r.params.length <= o)) { + o > 0 && i()("<span>, </span>").appendTo(l); + var p = e.highlightVariablesAsHtml(r.params[o]), + h = i()( + '<a class="graphite-func-param-link pointer">' + + p + + "</a>" + ), + m = i()( + '<input type="text" class="hide input-mini tight-form-func-param"></input>' + ); + h.appendTo(l), + m.appendTo(l), + m.blur(a.a.partial(u, o)), + m.keyup(d), + m.keypress(a.a.partial(f, o)), + h.click(a.a.partial(c, o)), + (function (e, n, r) { + if (n.options || n.dynamicLookup) { + e.attr("data-provide", "typeahead"), + e.typeahead({ + source: function (e, r) { + if (n.options) { + var o = n.options; + return ( + "int" === n.type && + (o = a.a.map(o, function (e) { + return e.toString(); + })), + o + ); + } + t.$apply(function () { + t.handleEvent({ + $event: { name: "get-param-options" }, + }).then(function (e) { + var t = a.a.map(e, function (e) { + return a.a.escape(e.value); + }); + r(t); + }); + }); + }, + minLength: 0, + items: 1e3, + updater: function (t) { + return ( + (t = a.a.unescape(t)), + setTimeout(function () { + u.call(e[0], r); + }, 0), + t + ); + }, + }); + var o = e.data("typeahead"); + (o.lookup = function () { + this.query = this.$element.val() || ""; + var e = this.source( + this.query, + i.a.proxy(this.process, this) + ); + return e ? this.process(e) : e; + }), + s && + (o.lookup = a.a.debounce(o.lookup, 500, { + leading: !0, + })); + } + })(m, n, o); + } + }); + } + (t.partActions = []), + (t.showActionsMenu = function () { + Object(He.a)(t)( + t + .handleEvent({ $event: { name: "get-part-actions" } }) + .then(function (e) { + t.partActions = e; + }) + ); + }), + (t.triggerPartAction = function (e) { + t.handleEvent({ $event: { name: "action", action: e } }); + }), + l.empty(), + p(); + }, + }; + } + l.c.directive("queryPartEditor", Ge), (We.$inject = ["templateSrv"]); + function We(e) { + return { + restrict: "E", + template: + '\n<div class="dropdown cascade-open">\n<a ng-click="showActionsMenu()" class="query-part-name pointer dropdown-toggle" data-toggle="dropdown">{{part.label}}</a>\n<span>{{part.def.wrapOpen}}</span><span class="query-part-parameters"></span><span>{{part.def.wrapClose}}</span>\n<ul class="dropdown-menu">\n <li ng-repeat="action in partActions">\n <a ng-click="triggerPartAction(action)">{{action.text}}</a>\n </li>\n</ul>\n', + scope: { part: "=", handleEvent: "&", debounce: "@" }, + link: function (t, n) { + var r = t.part, + o = r.def, + l = n.find(".query-part-parameters"), + s = t.debounce, + c = null; + function u(e) { + var t = i()(this), + n = t.next(); + n.val(r.params[e]), + n.css("width", t.width() + 16 + "px"), + t.hide(), + n.show(), + n.focus(), + n.select(); + var a = n.data("typeahead"); + a && (n.val(""), a.lookup()); + } + function f(e, t) { + c = setTimeout(function () { + d(e, t); + }, 200); + } + function d(n, a) { + var o = n.prev(), + i = n.val(); + ("" !== i || r.def.params[a].optional) && + (o.html(e.highlightVariablesAsHtml(i)), + r.updateParam(n.val(), a), + t.$apply(function () { + t.handleEvent({ $event: { name: "part-param-changed" } }); + })), + n.hide(), + o.show(); + } + function p(e, t) { + 13 === t.which && d(i()(this), e); + } + function h() { + this.style.width = 8 * (3 + this.value.length) + "px"; + } + function m() { + a.a.each(o.params, function (n, d) { + if (!(n.optional && r.params.length <= d)) { + d > 0 && i()("<span>" + o.separator + "</span>").appendTo(l); + var m = e.highlightVariablesAsHtml(r.params[d]), + g = i()('<a class="query-part__link">' + m + "</a>"), + b = i()( + '<input type="text" class="hide input-mini"></input>' + ); + g.appendTo(l), + b.appendTo(l), + b.blur(a.a.partial(f, b, d)), + b.keyup(h), + b.keypress(a.a.partial(p, d)), + g.click(a.a.partial(u, d)), + (function (e, n, o) { + if (n.options || n.dynamicLookup) { + e.attr("data-provide", "typeahead"), + e.typeahead({ + source: function (e, i) { + if (n.options) { + var l = n.options; + return ( + "int" === n.type && + (l = a.a.map(l, function (e) { + return e.toString(); + })), + l + ); + } + t.$apply(function () { + t.handleEvent({ + $event: { + name: "get-param-options", + param: n, + }, + }).then(function (e) { + var t = a.a.map(e, function (e) { + return a.a.escape(e.value); + }); + -1 === a.a.indexOf(t, r.params[o]) && + t.unshift(a.a.escape(r.params[o])), + i(t); + }); + }); + }, + minLength: 0, + items: 1e3, + updater: function (t) { + return (t = a.a.unescape(t)) === r.params[o] + ? (clearTimeout(c), e.focus(), t) + : t; + }, + }); + var l = e.data("typeahead"); + (l.lookup = function () { + this.query = this.$element.val() || ""; + var e = this.source( + this.query, + i.a.proxy(this.process, this) + ); + return e ? this.process(e) : e; + }), + s && + (l.lookup = a.a.debounce(l.lookup, 500, { + leading: !0, + })); + } + })(b, n, d); + } + }); + } + (t.partActions = []), + (t.showActionsMenu = function () { + t.handleEvent({ $event: { name: "get-part-actions" } }).then( + function (e) { + t.partActions = e; + } + ); + }), + (t.triggerPartAction = function (e) { + t.handleEvent({ $event: { name: "action", action: e } }); + }), + l.empty(), + m(); + }, + }; + } + function Qe(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ye(e) { + var t = this.query; + return ( + "" === t || + ("/" === t[0] && (t = t.substring(1)), + "/" === t[t.length - 1] && (t = t.substring(0, t.length - 1)), + e.toLowerCase().match(t.toLowerCase())) + ); + } + l.c.directive("sqlPartEditor", We); + var Ke = (function () { + function e(t, n, r, o) { + var i = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.$sce = r), + (this.templateSrv = o), + (this.inputElement = n.find("input").first()), + (this.linkElement = n.find("a").first()), + (this.linkMode = !0), + (this.cancelBlur = null), + t.$watch("ctrl.model", this.modelChanged.bind(this)), + this.labelMode + ? (this.cssClasses = "gf-form-label " + this.cssClass) + : (this.cssClasses = + "gf-form-input gf-form-input--dropdown " + this.cssClass), + this.placeholder && + this.inputElement.attr("placeholder", this.placeholder), + this.inputElement.attr("data-provide", "typeahead"), + this.inputElement.typeahead({ + source: this.typeaheadSource.bind(this), + minLength: 0, + items: 1e4, + updater: this.typeaheadUpdater.bind(this), + matcher: Ye, + }); + var l = this.inputElement.data("typeahead"); + (l.lookup = function () { + (this.query = this.$element.val() || ""), + this.source(this.query, this.process.bind(this)); + }), + this.debounce && + (l.lookup = a.a.debounce(l.lookup, 500, { leading: !0 })), + this.linkElement.keydown(function (e) { + (40 !== e.keyCode && 13 !== e.keyCode) || i.linkElement.click(); + }), + this.inputElement.keydown(function (e) { + 13 === e.keyCode && + setTimeout(function () { + i.inputElement.blur(); + }, 300); + }), + this.inputElement.blur(this.inputBlur.bind(this)), + this.startOpen && setTimeout(this.open.bind(this), 0); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$element", "$sce", "templateSrv"]), + (t = e), + (n = [ + { + key: "getOptionsInternal", + value: function (e) { + return Object(He.a)(this.$scope)( + Promise.resolve(this.getOptions({ $query: e })) + ); + }, + }, + { + key: "isPromiseLike", + value: function (e) { + return e && "function" == typeof e.then; + }, + }, + { + key: "modelChanged", + value: function () { + var e = this; + a.a.isObject(this.model) + ? this.updateDisplay(this.model.text) + : this.lookupText + ? this.getOptionsInternal("").then(function (t) { + var n = a.a.find(t, { value: e.model }); + e.updateDisplay(n ? n.text : e.model); + }) + : this.updateDisplay(this.model); + }, + }, + { + key: "typeaheadSource", + value: function (e, t) { + var n = this; + this.getOptionsInternal(e).then(function (e) { + n.optionCache = e; + var r = a.a.map(e, function (e) { + return a.a.escape(e.text); + }); + n.allowCustom && + "" !== n.text && + -1 === a.a.indexOf(r, n.text) && + r.unshift(n.text), + t(r); + }); + }, + }, + { + key: "typeaheadUpdater", + value: function (e) { + return e === this.text + ? (clearTimeout(this.cancelBlur), + this.inputElement.focus(), + e) + : (this.inputElement.val(e), this.switchToLink(!0), e); + }, + }, + { + key: "switchToLink", + value: function (e) { + (this.linkMode && !e) || + (clearTimeout(this.cancelBlur), + (this.cancelBlur = null), + (this.linkMode = !0), + this.inputElement.hide(), + this.linkElement.show(), + this.updateValue(this.inputElement.val())); + }, + }, + { + key: "inputBlur", + value: function () { + this.cancelBlur = setTimeout(this.switchToLink.bind(this), 200); + }, + }, + { + key: "updateValue", + value: function (e) { + var t = this; + "" !== (e = a.a.unescape(e)) && + this.text !== e && + this.$scope.$apply(function () { + var n = a.a.find(t.optionCache, { text: e }); + n + ? (a.a.isObject(t.model) + ? (t.model = n) + : (t.model = n.value), + (t.text = n.text)) + : t.allowCustom && + (a.a.isObject(t.model) + ? (t.model.text = t.model.value = e) + : (t.model = e), + (t.text = e)), + t.$scope.$$postDigest(function () { + t.$scope.$apply(function () { + t.onChange({ $option: n }); + }); + }); + }); + }, + }, + { + key: "updateDisplay", + value: function (e) { + (this.text = e), + (this.display = this.$sce.trustAsHtml( + this.templateSrv.highlightVariablesAsHtml(e) + )); + }, + }, + { + key: "open", + value: function () { + this.inputElement.css( + "width", + Math.max(this.linkElement.width(), 80) + 16 + "px" + ), + this.inputElement.show(), + this.inputElement.focus(), + this.linkElement.hide(), + (this.linkMode = !1); + var e = this.inputElement.data("typeahead"); + e && (this.inputElement.val(""), e.lookup()); + }, + }, + ]) && Qe(t.prototype, n), + r && Qe(t, r), + e + ); + })(); + l.c.directive("gfFormDropdown", function () { + return { + restrict: "E", + template: + '\n<input type="text"\n data-provide="typeahead"\n class="gf-form-input"\n spellcheck="false"\n style="display:none">\n</input>\n<a ng-class="ctrl.cssClasses"\n tabindex="1"\n ng-click="ctrl.open()"\n give-focus="ctrl.focus"\n ng-bind-html="ctrl.display || \' \'">\n</a>\n', + controller: Ke, + bindToController: !0, + controllerAs: "ctrl", + scope: { + model: "=", + getOptions: "&", + onChange: "&", + cssClass: "@", + allowCustom: "@", + labelMode: "@", + lookupText: "@", + placeholder: "@", + startOpen: "@", + debounce: "@", + }, + }; + }); + var Je = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.json = h.a.toJson(t.model.object, !0)), + (t.canUpdate = void 0 !== t.model.updateHandler && t.model.canUpdate), + (t.canCopy = t.model.enableCopy), + (t.update = function () { + var e = h.a.fromJson(t.json); + t.model.updateHandler(e, t.model.object); + }), + (t.getContentForClipboard = function () { + return t.json; + }); + }; + (Je.$inject = ["$scope"]), + (Je.$inject = ["$scope"]), + l.c.controller("JsonEditorCtrl", Je); + var Ze = n("t8hP"); + var Xe = function e(t, n, r) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (r.sidemenu = !1), + (t.formModel = {}), + (t.navModel = { + main: { + icon: "gicon gicon-branding", + text: "Invite", + subTitle: "Register your Grafana account", + breadcrumbs: [{ title: "Login", url: "login" }], + }, + }), + (t.init = function () { + Object(He.a)(t)( + Object(Ze.getBackendSrv)() + .get("/api/user/invite/" + n.code) + .then(function (e) { + (t.formModel.name = e.name), + (t.formModel.email = e.email), + (t.formModel.username = e.email), + (t.formModel.inviteCode = n.code), + (t.greeting = e.name || e.email || e.username), + (t.invitedBy = e.invitedBy); + }) + ); + }), + (t.submit = function () { + t.inviteForm.$valid && + Object(Ze.getBackendSrv)() + .post("/api/user/invite/complete", t.formModel) + .then(function () { + window.location.href = ee.b.appSubUrl + "/"; + }); + }), + t.init(); + }; + (Xe.$inject = ["$scope", "$routeParams", "contextSrv"]), + (Xe.$inject = ["$scope", "$routeParams", "contextSrv"]), + l.c.controller("InvitedCtrl", Xe); + var et = n("3x4x"); + function tt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var nt = (function () { + function e(t, n, r) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (r.sidemenu = !1), + (t.ctrl = this), + (t.formModel = {}); + var a = n.search(); + !a.email || a.email.match(/^\S+@\S+$/) + ? ((t.formModel.orgName = a.email), + (t.formModel.email = a.email), + (t.formModel.username = a.email), + (t.formModel.code = a.code), + (t.verifyEmailEnabled = !1), + (t.autoAssignOrg = !1), + (t.navModel = { + main: { + icon: "gicon gicon-branding", + text: "Sign Up", + subTitle: "Register your Grafana account", + breadcrumbs: [{ title: "Login", url: "login" }], + }, + }), + Object(He.a)(t)( + Object(et.c)() + .get("/api/user/signup/options") + .then(function (e) { + (t.verifyEmailEnabled = e.verifyEmailEnabled), + (t.autoAssignOrg = e.autoAssignOrg); + }) + )) + : console.log("invalid email"); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$location", "contextSrv"]), + (t = e), + (n = [ + { + key: "submit", + value: function () { + this.$scope.signUpForm.$valid && + Object(et.c)() + .post("/api/user/signup/step2", this.$scope.formModel) + .then(function (e) { + "redirect-to-select-org" === e.code + ? (window.location.href = + ee.b.appSubUrl + "/profile/select-org?signup=1") + : (window.location.href = ee.b.appSubUrl + "/"); + }); + }, + }, + ]) && tt(t.prototype, n), + r && tt(t, r), + e + ); + })(); + l.c.controller("SignUpCtrl", nt); + var rt = function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.formModel = {}), + (t.mode = "send"), + (t.ldapEnabled = ee.b.ldapEnabled), + (t.authProxyEnabled = ee.b.authProxyEnabled), + (t.disableLoginForm = ee.b.disableLoginForm); + var r = n.search(); + r.code && ((t.mode = "reset"), (t.formModel.code = r.code)), + (t.navModel = { + main: { + icon: "gicon gicon-branding", + text: "Reset Password", + subTitle: "Reset your Grafana password", + breadcrumbs: [{ title: "Login", url: "login" }], + }, + }), + (t.sendResetEmail = function () { + t.sendResetForm.$valid && + Object(He.a)(t)( + Object(Ze.getBackendSrv)() + .post("/api/user/password/send-reset-email", t.formModel) + .then(function () { + t.mode = "email-sent"; + }) + ); + }), + (t.submitReset = function () { + t.resetForm.$valid && + (t.formModel.newPassword === t.formModel.confirmPassword + ? Object(Ze.getBackendSrv)() + .post("/api/user/password/reset", t.formModel) + .then(function () { + n.path("login"); + }) + : t.appEvent(v.AppEvents.alertWarning, [ + "New passwords do not match", + ])); + }); + }; + (rt.$inject = ["$scope", "$location"]), + (rt.$inject = ["$scope", "$location"]), + l.c.controller("ResetPasswordCtrl", rt); + var at = function e(t, n, r) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.navModel = r.getNotFoundNav()), + (t.appSubUrl = ee.b.appSubUrl), + n.isSignedIn || ke.b.emit(G.CoreEvents.toggleSidemenuHidden), + t.$on("destroy", function () { + n.isSignedIn || ke.b.emit(G.CoreEvents.toggleSidemenuHidden); + }); + }; + function ot(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + (at.$inject = ["$scope", "contextSrv", "navModelSrv"]), + (at.$inject = ["$scope", "contextSrv", "navModelSrv"]), + l.c.controller("ErrorCtrl", at); + var it = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "set", + value: function () { + console.log("old depricated alert srv being used"); + }, + }, + ]) && ot(t.prototype, n), + r && ot(t, r), + e + ); + })(); + l.c.service("alertSrv", it); + var lt = n("AI1G"), + st = Object(lt.a)(function (e) { + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + j.ModalsProvider, + e, + de.a.createElement(j.ModalRoot, null) + ) + ); + }), + ct = n("t/ct"); + function ut(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ft(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ut(Object(n), !0).forEach(function (t) { + dt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ut(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function dt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function pt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ht = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.$modal = n), + (this.reactModalRoot = document.body), + (this.reactModalNode = document.createElement("div")), + (this.onReactModalDismiss = function () { + he.a.unmountComponentAtNode(r.reactModalNode), + r.reactModalRoot.removeChild(r.reactModalNode); + }), + this.reactModalNode.setAttribute("id", "angular2ReactModalRoot"); + } + var t, n, r; + return ( + (e.$inject = ["$rootScope", "$modal"]), + (t = e), + (n = [ + { + key: "init", + value: function () { + ke.b.on( + G.CoreEvents.showModal, + this.showModal.bind(this), + this.$rootScope + ), + ke.b.on( + G.CoreEvents.hideModal, + this.hideModal.bind(this), + this.$rootScope + ), + ke.b.on( + G.CoreEvents.showConfirmModal, + this.showConfirmModal.bind(this), + this.$rootScope + ), + ke.b.on( + G.CoreEvents.showModalReact, + this.showModalReact.bind(this), + this.$rootScope + ); + }, + }, + { + key: "showModalReact", + value: function (e) { + var t = { + component: e.component, + props: ft({}, e.props, { + isOpen: !0, + onDismiss: this.onReactModalDismiss, + }), + }, + n = de.a.createElement(Object(ct.b)(st), t); + return ( + this.reactModalRoot.appendChild(this.reactModalNode), + he.a.render(n, this.reactModalNode) + ); + }, + }, + { + key: "hideModal", + value: function () { + this.modalScope && + this.modalScope.dismiss && + this.modalScope.dismiss(); + }, + }, + { + key: "showModal", + value: function (e) { + this.modalScope && + this.modalScope.dismiss && + this.modalScope.dismiss(), + (this.modalScope = e.scope), + e.model + ? ((this.modalScope = this.$rootScope.$new()), + (this.modalScope.model = e.model)) + : this.modalScope || + (this.modalScope = this.$rootScope.$new()); + var t = this.$modal({ + modalClass: e.modalClass, + template: e.src, + templateHtml: e.templateHtml, + persist: !1, + show: !1, + scope: this.modalScope, + keyboard: !1, + backdrop: e.backdrop, + }); + Promise.resolve(t).then(function (e) { + e.modal("show"); + }); + }, + }, + { + key: "showConfirmModal", + value: function (e) { + var t = this.$rootScope.$new(); + (t.updateConfirmText = function (n) { + t.confirmTextValid = + e.confirmText.toLowerCase() === n.toLowerCase(); + }), + (t.title = e.title), + (t.text = e.text), + (t.text2 = e.text2), + (t.text2htmlBind = e.text2htmlBind), + (t.confirmText = e.confirmText), + (t.onConfirm = e.onConfirm), + (t.onAltAction = e.onAltAction), + (t.altActionText = e.altActionText), + (t.icon = e.icon || "fa-check"), + (t.yesText = e.yesText || "Yes"), + (t.noText = e.noText || "Cancel"), + (t.confirmTextValid = !t.confirmText), + (t.selectors = L.a.pages.ConfirmModal.selectors), + ke.b.emit(G.CoreEvents.showModal, { + src: "public/app/partials/confirm_modal.html", + scope: t, + modalClass: "confirm-modal", + }); + }, + }, + ]) && pt(t.prototype, n), + r && pt(t, r), + e + ); + })(); + function mt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + l.c.service("utilSrv", ht); + var gt = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$timeout = t), + (this.timers = []); + } + var t, n, r; + return ( + (e.$inject = ["$timeout"]), + (t = e), + (n = [ + { + key: "register", + value: function (e) { + return this.timers.push(e), e; + }, + }, + { + key: "cancel", + value: function (e) { + (this.timers = a.a.without(this.timers, e)), + this.$timeout.cancel(e); + }, + }, + { + key: "cancelAll", + value: function () { + var e = this; + a.a.each(this.timers, function (t) { + e.$timeout.cancel(t); + }), + (this.timers = []); + }, + }, + ]) && mt(t.prototype, n), + r && mt(t, r), + e + ); + })(); + function bt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + l.c.service("timer", gt), (yt.$inject = ["googleAnalyticsSrv"]); + var vt = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.$location = n); + } + var t, n, r; + return ( + (e.$inject = ["$rootScope", "$location"]), + (t = e), + (n = [ + { + key: "gaInit", + value: function () { + i.a.ajax({ + url: "https://www.google-analytics.com/analytics.js", + dataType: "script", + cache: !0, + }); + var e = (window.ga = + window.ga || + function () { + (e.q = e.q || []).push(arguments); + }); + return ( + (e.l = +new Date()), + e("create", ee.b.googleAnalyticsId, "auto"), + e("set", "anonymizeIp", !0), + e + ); + }, + }, + { + key: "init", + value: function () { + var e = this; + this.$rootScope.$on("$viewContentLoaded", function () { + var t = { page: e.$location.url() }, + n = window.ga || e.gaInit(); + n("set", t), n("send", "pageview"); + }); + }, + }, + ]) && bt(t.prototype, n), + r && bt(t, r), + e + ); + })(); + function yt(e) { + ee.b.googleAnalyticsId && e.init(); + } + function wt(e, t, n) { + var r = null; + (this.close = function () { + r && r.close(); + }), + (this.show = function (o) { + r && (r.close(), (r = null)); + var i, + l = a.a.extend(t.$new(!0), o.model); + l.dismiss = function () { + i.close(); + }; + var s = document.createElement("div"); + return ( + (s.innerHTML = o.template), + e(s)(l), + n(function () { + (i = new Ie.a({ + target: o.element, + content: s, + position: o.position, + classes: o.classNames || "drop-popover", + openOn: o.openOn, + hoverCloseDelay: 200, + tetherOptions: { + constraints: [ + { to: "scrollParent", attachment: "together" }, + ], + }, + })).on("close", function () { + setTimeout(function () { + l.$destroy(), + i.tether && i.destroy(), + o.onClose && o.onClose(); + }), + (r = null); + }), + (r = i).open(); + }, 100), + function () { + i && i.close(); + } + ); + }); + } + function Ot(e, t) { + var n = this, + r = function n(r) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, n), + "*" === r || "*" === r.value + ? ((this.value = "*"), + (this.html = e.trustAsHtml('<i class="fa fa-asterisk"><i>')), + (this.type = r.type), + void (this.expandable = !0)) + : a.a.isString(r) + ? ((this.value = r), + void (this.html = e.trustAsHtml( + t.highlightVariablesAsHtml(this.value) + ))) + : ((this.text = r.value), + (this.cssClass = r.cssClass), + (this.custom = r.custom), + (this.type = r.type), + (this.fake = r.fake), + (this.value = r.value), + (this.selectMode = r.selectMode), + (this.type = r.type), + (this.expandable = r.expandable), + void (this.html = + r.html || + e.trustAsHtml(t.highlightVariablesAsHtml(this.value)))) + ); + }; + (this.getSegmentForValue = function (e, t) { + return e + ? this.newSegment(e) + : this.newSegment({ value: t, fake: !0 }); + }), + (this.newSelectMeasurement = function () { + return new r({ value: "select measurement", fake: !0 }); + }), + (this.newFake = function (e, t, n) { + return new r({ value: e, fake: !0, type: t, cssClass: n }); + }), + (this.newSegment = function (e) { + return new r(e); + }), + (this.newKey = function (e) { + return new r({ + value: e, + type: "key", + cssClass: "query-segment-key", + }); + }), + (this.newKeyValue = function (e) { + return new r({ + value: e, + type: "value", + cssClass: "query-segment-value", + }); + }), + (this.newCondition = function (e) { + return new r({ + value: e, + type: "condition", + cssClass: "query-keyword", + }); + }), + (this.newOperator = function (e) { + return new r({ + value: e, + type: "operator", + cssClass: "query-segment-operator", + }); + }), + (this.newOperators = function (e) { + return a.a.map(e, function (e) { + return new r({ + value: e, + type: "operator", + cssClass: "query-segment-operator", + }); + }); + }), + (this.transformToSegments = function (e, r) { + return function (o) { + var i = a.a.map(o, function (e) { + return n.newSegment({ + value: e.text, + expandable: e.expandable, + }); + }); + return ( + e && + a.a.each(t.variables, function (e) { + (void 0 !== r && r !== e.type) || + i.unshift( + n.newSegment({ + type: "value", + value: "$" + e.name, + expandable: !0, + }) + ); + }), + i + ); + }; + }), + (this.newSelectMetric = function () { + return new r({ value: "select metric", fake: !0 }); + }), + (this.newPlusButton = function () { + return new r({ + fake: !0, + html: '<i class="fa fa-plus "></i>', + type: "plus-button", + cssClass: "query-part", + }); + }); + } + function xt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + l.c.service("googleAnalyticsSrv", vt).run(yt), + (wt.$inject = ["$compile", "$rootScope", "$timeout"]), + l.c.service("popoverSrv", wt), + (Ot.$inject = ["$sce", "templateSrv"]), + l.c.service("uiSegmentSrv", Ot); + var kt = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$compile = t); + } + var t, n, r; + return ( + (e.$inject = ["$compile"]), + (t = e), + (n = [ + { + key: "addDirective", + value: function (e, t, n) { + var r = h.a.element(document.createElement(t)); + this.$compile(r)(n), e.empty(), e.append(r); + }, + }, + { + key: "link", + value: function (e, t, n, r) { + var a = r.directive(e); + a && a.fn + ? (a.fn.registered || + (l.c.directive(n.$normalize(a.name), a.fn), + (a.fn.registered = !0)), + this.addDirective(t, a.name, e)) + : t.empty(); + }, + }, + { + key: "create", + value: function (e) { + var t = this; + return { + restrict: "E", + scope: e.scope, + link: function (n, r, a) { + if (e.watchPath) { + var o = null; + n.$watch(e.watchPath, function () { + o && o.$destroy(), (o = n.$new()), t.link(o, r, a, e); + }); + } else t.link(n, r, a, e); + }, + }; + }, + }, + ]) && xt(t.prototype, n), + r && xt(t, r), + e + ); + })(); + l.c.service("dynamicDirectiveSrv", kt); + var jt = n("iODs"), + St = n("UIT+"), + Et = n("3SGO"); + function Ct(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Pt = (function () { + function e(t, n, r, a, o, i) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$location = t), + (this.$timeout = n), + (this.$window = r), + (this.$rootScope = a), + (this.$route = o), + (this.variableSrv = i), + (this.lastQuery = {}), + (this.lastPath = ""), + (this.fullPageReloadRoutes = ["/logout"]); + } + var t, n, r; + return ( + (e.$inject = [ + "$location", + "$timeout", + "$window", + "$rootScope", + "$route", + "variableSrv", + ]), + (t = e), + (n = [ + { + key: "init", + value: function () { + var e = this; + this.$rootScope.$on("$routeUpdate", function (t, n) { + var r = e.$location.url(); + jt.d.getState().location.url !== r && + jt.d.dispatch( + Object(Et.c)({ + path: e.$location.path(), + query: e.$location.search(), + routeParams: e.$route.current.params, + }) + ); + }), + this.$rootScope.$on("$routeChangeSuccess", function (t, n) { + jt.d.dispatch( + Object(Et.c)({ + path: e.$location.path(), + query: e.$location.search(), + routeParams: e.$route.current.params, + }) + ); + }), + jt.d.subscribe(function () { + var t = jt.d.getState(), + n = e.$location.url(), + r = t.location.url; + if ( + (n !== r && + (e.$timeout(function () { + e.$location.url(r), + t.location.replace && e.$location.replace(); + }), + console.log("store updating angular $location.url", r)), + t.location.path === e.lastPath) + ) { + var a = (function (e, t) { + var n = 0, + r = {}; + for (var a in e) + a.startsWith("var-") && + e[a] !== t[a] && + ((r[a] = e[a]), n++); + for (var o in t) + o.startsWith("var-") && (e[o] || ((r[o] = ""), n++)); + return n ? r : void 0; + })(t.location.query, e.lastQuery); + a && + Object(Se.a)().getCurrent() && + e.variableSrv.templateVarsChangedInUrl(a), + (e.lastQuery = t.location.query); + } else e.lastQuery = {}; + e.lastPath = t.location.path; + }), + ke.b.on(G.CoreEvents.locationChange, function (t) { + var n = St.b.stripBaseFromUrl(t.href); + e.fullPageReloadRoutes.indexOf(n) > -1 + ? (e.$window.location.href = t.href) + : e.$timeout(function () { + e.$location.url(n); + }); + }); + }, + }, + ]) && Ct(t.prototype, n), + r && Ct(t, r), + e + ); + })(); + function Tt(e) { + var t = function (t, n) { + var r; + return ( + (r = n.ctrl + ? (n.ctrl.panel || n.ctrl.row).scopedVars + : n.row.scopedVars), + e.replaceWithText(t, r) + ); + }; + return (t.$stateful = !0), t; + } + l.c.service("bridgeSrv", Pt), + (Tt.$inject = ["templateSrv"]), + l.c.filter("stringSort", function () { + return function (e) { + return e.sort(); + }; + }), + l.c.filter("slice", function () { + return function (e, t, n) { + return a.a.isUndefined(e) ? e : e.slice(t, n); + }; + }), + l.c.filter("stringify", function () { + return function (e) { + return a.a.isObject(e) && !a.a.isArray(e) + ? h.a.toJson(e) + : a.a.isNull(e) + ? null + : e.toString(); + }; + }), + l.c.filter("moment", function () { + return function (e, t) { + switch (t) { + case "ago": + return Object(v.dateTime)(e).fromNow(); + } + return Object(v.dateTime)(e).fromNow(); + }; + }), + l.c.filter("interpolateTemplateVars", Tt); + n("PSiG"), n("WUic"), n("lJbD"); + var Dt = n("CLuu"), + At = n.n(Dt); + l.c.directive("grafanaScrollbar", function () { + return { + restrict: "A", + link: function (e, t, n) { + var r = t.parent(), + a = t; + console.log("scroll"), + n.grafanaScrollbar && + "scrollonroot" === n.grafanaScrollbar && + (r = a), + r.addClass("baron baron__root"), + i()( + '\n<div class="baron__track">\n <div class="baron__bar"></div>\n</div>\n' + ).appendTo(r), + t.addClass("baron__scroller"); + var o = { + root: r[0], + scroller: a[0], + bar: ".baron__bar", + barOnCls: "_scrollbar", + scrollingCls: "_scrolling", + track: ".baron__track", + direction: "v", + }, + l = At()(o); + e.$on("$destroy", function () { + l.dispose(); + }); + }, + }; + }); + var _t = n("T9PE"), + Nt = n("Q8uG"), + Mt = n("Opuj"), + It = n("PQjG"); + function Rt(e) { + return (Rt = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ft(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Lt(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ft(Object(n), !0).forEach(function (t) { + Vt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ft(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Vt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Bt(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function $t(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Bt(o, r, a, i, l, "next", e); + } + function l(e) { + Bt(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function qt(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ut(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function zt(e, t) { + return !t || ("object" !== Rt(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ht(e) { + return (Ht = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Gt(e, t) { + return (Gt = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Wt = { + projectName: "", + metricType: "", + metricKind: "", + valueType: "", + refId: "", + service: "", + unit: "", + crossSeriesReducer: "REDUCE_MEAN", + alignmentPeriod: "stackdriver-auto", + perSeriesAligner: "ALIGN_MEAN", + groupBys: [], + filters: [], + filter: [], + aliasBy: "", + alignOptions: [], + lastQuery: "", + lastQueryError: "", + usedAlignmentPeriod: "", + labels: {}, + variableOptionGroup: {}, + variableOptions: [], + }, + Qt = (function (e) { + function t() { + var e, n; + qt(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = zt( + this, + (e = Ht(t)).call.apply(e, [this].concat(a)) + )).state = Wt), + (n.onMetricTypeChange = (function () { + var e = $t( + regeneratorRuntime.mark(function e(t) { + var r, a, o, i, l, s, c, u, f, d, p, h, m; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = t.valueType), + (a = t.metricKind), + (o = t.type), + (i = t.unit), + (l = n.props), + (s = l.templateSrv), + (c = l.onQueryChange), + (u = l.onExecuteQuery), + (f = l.target), + (d = Object(It.d)( + { + valueType: r, + metricKind: a, + perSeriesAligner: n.state.perSeriesAligner, + }, + s + )), + (p = d.perSeriesAligner), + (h = d.alignOptions), + (e.next = 5), + n.props.datasource.getLabels( + o, + f.refId, + n.state.projectName, + f.groupBys + ) + ); + case 5: + (m = e.sent), + n.setState( + { + alignOptions: h, + perSeriesAligner: p, + metricType: o, + unit: i, + valueType: r, + metricKind: a, + labels: m, + }, + function () { + c(n.state), + null !== n.state.projectName && u(); + } + ); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, a, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Gt(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((o = $t( + regeneratorRuntime.mark(function e() { + var t, + n, + r, + a, + o, + i, + l, + s, + c, + u, + f = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props), + (n = t.events), + (r = t.target), + (a = t.templateSrv), + (o = t.datasource), + (e.next = 3), + o.ensureGCEDefaultProject() + ); + case 3: + r.projectName || + (r.projectName = o.getDefaultProject()), + n.on( + v.PanelEvents.dataReceived, + this.onDataReceived.bind(this) + ), + n.on( + v.PanelEvents.dataError, + this.onDataError.bind(this) + ), + (i = Object(It.d)(r, a)), + (l = i.perSeriesAligner), + (s = i.alignOptions), + (c = { + label: "Template Variables", + expanded: !1, + options: o.variables.map(It.i), + }), + (u = Lt({}, this.props.target, { + projectName: r.projectName, + alignOptions: s, + perSeriesAligner: l, + variableOptionGroup: c, + variableOptions: c.options, + })), + this.setState(u), + o + .getLabels( + r.metricType, + r.refId, + r.projectName, + r.groupBys + ) + .then(function (e) { + return f.setState({ labels: e }); + }); + case 11: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "componentWillUnmount", + value: function () { + this.props.events.off( + v.PanelEvents.dataReceived, + this.onDataReceived + ), + this.props.events.off( + v.PanelEvents.dataError, + this.onDataError + ); + }, + }, + { + key: "onDataReceived", + value: function (e) { + var t = this, + n = e.find(function (e) { + return e.refId === t.props.target.refId; + }); + n && + this.setState({ + lastQuery: decodeURIComponent(n.meta.rawQuery), + lastQueryError: "", + usedAlignmentPeriod: n.meta.alignmentPeriod, + }); + }, + }, + { + key: "onDataError", + value: function (e) { + var t, n; + if (e.data && e.data.error) + n = this.props.datasource.formatStackdriverError(e); + else if (e.data && e.data.results) { + var r = e.data.results[this.props.target.refId]; + if ( + ((t = decodeURIComponent(r.meta.rawQuery)), r && r.error) + ) + try { + n = JSON.parse(r.error).error.message; + } catch (e) { + n = r.error; + } + } + this.setState({ lastQuery: t, lastQueryError: n }); + }, + }, + { + key: "onGroupBysChange", + value: function (e) { + var t = this, + n = this.props, + r = n.target, + a = n.datasource; + this.setState({ groupBys: e }, function () { + t.props.onQueryChange(t.state), t.props.onExecuteQuery(); + }), + a + .getLabels( + r.metricType, + r.refId, + this.state.projectName, + e + ) + .then(function (e) { + return t.setState({ labels: e }); + }); + }, + }, + { + key: "onPropertyChange", + value: function (e, t) { + var n = this; + this.setState(Vt({}, e, t), function () { + n.props.onQueryChange(n.state), + null !== n.state.projectName && n.props.onExecuteQuery(); + }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.groupBys, + r = void 0 === n ? [] : n, + a = t.filters, + o = void 0 === a ? [] : a, + i = t.usedAlignmentPeriod, + l = t.projectName, + s = t.metricType, + c = t.crossSeriesReducer, + u = t.perSeriesAligner, + f = t.alignOptions, + d = t.alignmentPeriod, + p = t.aliasBy, + h = t.lastQuery, + m = t.lastQueryError, + g = t.labels, + b = t.variableOptionGroup, + v = t.variableOptions, + y = t.refId, + w = this.props, + O = w.datasource, + x = w.templateSrv; + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement(Mt.j, { + templateVariableOptions: v, + projectName: l, + datasource: O, + onChange: function (t) { + e.onPropertyChange("projectName", t), + O.getLabels(s, y, t, r).then(function (t) { + return e.setState({ labels: t }); + }); + }, + }), + de.a.createElement( + Mt.i, + { + templateSrv: x, + projectName: l, + metricType: s, + templateVariableOptions: v, + datasource: O, + onChange: this.onMetricTypeChange, + }, + function (t) { + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement(Mt.f, { + labels: g, + filters: o, + onChange: function (t) { + return e.onPropertyChange("filters", t); + }, + variableOptionGroup: b, + }), + de.a.createElement(Mt.g, { + groupBys: Object.keys(g), + values: r, + onChange: e.onGroupBysChange.bind(e), + variableOptionGroup: b, + }), + de.a.createElement( + Mt.a, + { + metricDescriptor: t, + templateVariableOptions: v, + crossSeriesReducer: c, + groupBys: r, + onChange: function (t) { + return e.onPropertyChange( + "crossSeriesReducer", + t + ); + }, + }, + function (t) { + return ( + t && + de.a.createElement(Mt.d, { + alignOptions: f, + templateVariableOptions: v, + perSeriesAligner: u, + onChange: function (t) { + return e.onPropertyChange( + "perSeriesAligner", + t + ); + }, + }) + ); + } + ), + de.a.createElement(Mt.c, { + templateSrv: x, + templateVariableOptions: v, + alignmentPeriod: d, + perSeriesAligner: u, + usedAlignmentPeriod: i, + onChange: function (t) { + return e.onPropertyChange("alignmentPeriod", t); + }, + }), + de.a.createElement(Mt.b, { + value: p, + onChange: function (t) { + return e.onPropertyChange("aliasBy", t); + }, + }), + de.a.createElement(Mt.h, { + rawQuery: h, + lastQueryError: m, + }) + ); + } + ) + ); + }, + }, + ]) && Ut(n.prototype, r), + a && Ut(n, a), + t + ); + })(de.a.Component); + function Yt(e) { + return (Yt = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Kt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Jt(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Kt(Object(n), !0).forEach(function (t) { + Zt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Kt(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Zt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Xt(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function en(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function tn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function nn(e, t) { + return !t || ("object" !== Yt(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function rn(e) { + return (rn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function an(e, t) { + return (an = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var on = { + projectName: "", + projects: [], + metricType: "", + filters: [], + metricKind: "", + valueType: "", + refId: "annotationQuery", + title: "", + text: "", + labels: {}, + variableOptionGroup: {}, + variableOptions: [], + }, + ln = (function (e) { + function t() { + var e, n; + en(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = nn( + this, + (e = rn(t)).call.apply(e, [this].concat(a)) + )).state = on), + (n.onMetricTypeChange = function (e) { + var t = e.valueType, + r = e.metricKind, + a = e.type, + o = e.unit, + i = n.props, + l = i.onQueryChange, + s = i.datasource; + n.setState( + { metricType: a, unit: o, valueType: t, metricKind: r }, + function () { + l(n.state); + } + ), + s + .getLabels(a, n.state.refId, n.state.projectName) + .then(function (e) { + return n.setState({ labels: e }); + }); + }), + n + ); + } + var n, r, a, o, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && an(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((o = regeneratorRuntime.mark(function e() { + var t, + n, + r, + a, + o, + i = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props), + (n = t.target), + (r = t.datasource), + n.projectName || + (n.projectName = r.getDefaultProject()), + (a = { + label: "Template Variables", + options: r.variables.map(It.i), + }), + (e.next = 5), + r.getProjects() + ); + case 5: + (o = e.sent), + this.setState( + Jt( + { + variableOptionGroup: a, + variableOptions: a.options, + }, + n, + { projects: o } + ) + ), + r + .getLabels( + n.metricType, + n.projectName, + n.refId + ) + .then(function (e) { + return i.setState({ labels: e }); + }); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + })), + (i = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = o.apply(e, t); + function i(e) { + Xt(a, n, r, i, l, "next", e); + } + function l(e) { + Xt(a, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function () { + return i.apply(this, arguments); + }), + }, + { + key: "onChange", + value: function (e, t) { + var n = this; + this.setState(Zt({}, e, t), function () { + n.props.onQueryChange(n.state); + }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.projectName, + r = t.metricType, + a = t.filters, + o = t.title, + i = t.text, + l = t.variableOptionGroup, + s = t.labels, + c = t.variableOptions, + u = this.props.datasource; + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement(Mt.j, { + templateVariableOptions: c, + datasource: u, + projectName: n || u.getDefaultProject(), + onChange: function (t) { + return e.onChange("projectName", t); + }, + }), + de.a.createElement( + Mt.i, + { + projectName: n, + metricType: r, + templateSrv: u.templateSrv, + datasource: u, + templateVariableOptions: c, + onChange: function (t) { + return e.onMetricTypeChange(t); + }, + }, + function (t) { + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement(Mt.f, { + labels: s, + filters: a, + onChange: function (t) { + return e.onChange("filters", t); + }, + variableOptionGroup: l, + }) + ); + } + ), + de.a.createElement( + "div", + { className: "gf-form gf-form-inline" }, + de.a.createElement( + "div", + { className: "gf-form" }, + de.a.createElement( + "span", + { className: "gf-form-label query-keyword width-9" }, + "Title" + ), + de.a.createElement(j.Input, { + type: "text", + className: "gf-form-input width-20", + value: o, + onChange: function (t) { + return e.onChange("title", t.target.value); + }, + }) + ), + de.a.createElement( + "div", + { className: "gf-form" }, + de.a.createElement( + "span", + { className: "gf-form-label query-keyword width-9" }, + "Text" + ), + de.a.createElement(j.Input, { + type: "text", + className: "gf-form-input width-20", + value: i, + onChange: function (t) { + return e.onChange("text", t.target.value); + }, + }) + ), + de.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + de.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ), + de.a.createElement(Mt.e, null) + ); + }, + }, + ]) && tn(n.prototype, r), + a && tn(n, a), + t + ); + })(de.a.Component), + sn = n("bY+8"); + function cn() { + return (cn = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function un(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function fn(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? un(Object(n), !0).forEach(function (t) { + dn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : un(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function dn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function pn(e) { + var t = e.query, + n = e.onChange; + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + sn.d, + cn({}, e, { + onChange: function (e) { + return n(fn({}, t, {}, e)); + }, + hideWilcard: !0, + }) + ), + de.a.createElement( + "div", + { className: "gf-form-inline" }, + de.a.createElement(j.Switch, { + label: "Enable Prefix Matching", + labelClass: "query-keyword", + checked: t.prefixMatching, + onChange: function () { + return n(fn({}, t, { prefixMatching: !t.prefixMatching })); + }, + }), + de.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + de.a.createElement( + sn.c, + { label: "Action" }, + de.a.createElement("input", { + disabled: !t.prefixMatching, + className: "gf-form-input width-12", + value: t.actionPrefix || "", + onChange: function (e) { + return n(fn({}, t, { actionPrefix: e.target.value })); + }, + }) + ), + de.a.createElement( + sn.c, + { label: "Alarm Name" }, + de.a.createElement("input", { + disabled: !t.prefixMatching, + className: "gf-form-input width-12", + value: t.alarmNamePrefix || "", + onChange: function (e) { + return n(fn({}, t, { alarmNamePrefix: e.target.value })); + }, + }) + ), + de.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + de.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ) + ) + ); + } + var hn = n("4DTL"), + mn = n("QQVG"), + gn = n("EwfM"), + bn = n("yS3H"), + vn = n("rCnR"), + yn = function (e) { + var t = e.data, + n = e.className, + r = e.label; + return de.a.createElement( + gn.z.Option, + e, + de.a.createElement( + "div", + { className: "tag-filter-option btn btn-link ".concat(n || "") }, + de.a.createElement(vn.a, { + label: r, + removeIcon: !1, + count: t.count, + }) + ) + ); + }; + function wn(e) { + return (wn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function On(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function xn(e, t) { + return !t || ("object" !== wn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function kn(e) { + return (kn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function jn(e, t) { + return (jn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Sn = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = xn(this, kn(t).call(this, e))).onLoadOptions = function ( + e + ) { + return n.props.tagOptions().then(function (e) { + return e.map(function (e) { + return { value: e.term, label: e.term, count: e.count }; + }); + }); + }), + (n.onChange = function (e) { + n.props.onChange( + e.map(function (e) { + return e.value; + }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && jn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.tags.map(function (e) { + return { value: e, label: e, count: 0 }; + }), + t = { + classNamePrefix: "gf-form-select-box", + isMulti: !0, + defaultOptions: !0, + loadOptions: this.onLoadOptions, + onChange: this.onChange, + className: "gf-form-input gf-form-input--form-dropdown", + placeholder: "Tags", + loadingMessage: function () { + return "Loading..."; + }, + noOptionsMessage: function () { + return "No tags found"; + }, + getOptionValue: function (e) { + return e.value; + }, + getOptionLabel: function (e) { + return e.label; + }, + value: e, + styles: Object(j.resetSelectStyles)(), + filterOption: function (e, t) { + return RegExp( + Object(v.escapeStringForRegex)(t), + "i" + ).test(e.value); + }, + components: { + Option: yn, + IndicatorsContainer: j.IndicatorsContainer, + NoOptionsMessage: j.NoOptionsMessage, + MultiValueLabel: function () { + return null; + }, + MultiValueRemove: function (e) { + var t = e.data; + return de.a.createElement( + gn.z.MultiValueRemove, + e, + de.a.createElement(vn.a, { + key: t.label, + label: t.label, + removeIcon: !0, + count: t.count, + }) + ); + }, + }, + }; + return de.a.createElement( + "div", + { + className: + "gf-form gf-form--has-input-icon gf-form--grow", + }, + de.a.createElement( + "div", + { className: "tag-filter" }, + de.a.createElement(bn.a, t) + ), + de.a.createElement("i", { + className: "gf-form-input-icon fa fa-tag", + }) + ); + }, + }, + ]) && On(n.prototype, r), + a && On(n, a), + t + ); + })(de.a.Component), + En = function (e) { + var t = e.child, + n = t.divider ? "divider" : ""; + return de.a.createElement( + "li", + { className: n }, + de.a.createElement( + "a", + { href: t.url }, + t.icon && de.a.createElement("i", { className: t.icon }), + t.text + ) + ); + }, + Cn = function (e) { + var t = e.link, + n = []; + return ( + t.children && + (n = a.a.filter(t.children, function (e) { + return !e.hideFromMenu; + })), + de.a.createElement( + "ul", + { + className: "dropdown-menu dropdown-menu--sidemenu", + role: "menu", + }, + de.a.createElement( + "li", + { className: "side-menu-header" }, + de.a.createElement( + "a", + { className: "side-menu-header-link", href: t.url }, + de.a.createElement( + "span", + { className: "sidemenu-item-text" }, + t.text + ) + ) + ), + n.map(function (e, t) { + return de.a.createElement(En, { + child: e, + key: "".concat(e.url, "-").concat(t), + }); + }) + ) + ); + }, + Pn = function (e) { + var t = e.link; + return de.a.createElement( + "div", + { className: "sidemenu-item dropdown" }, + de.a.createElement( + "a", + { className: "sidemenu-link", href: t.url, target: t.target }, + de.a.createElement( + "span", + { className: "icon-circle sidemenu-icon" }, + de.a.createElement("i", { className: t.icon }), + t.img && de.a.createElement("img", { src: t.img }) + ) + ), + de.a.createElement(Cn, { link: t }) + ); + }, + Tn = function () { + var e = a.a.cloneDeep(ee.b.bootData.navTree), + t = a.a.filter(e, function (e) { + return !e.hideFromMenu; + }); + return de.a.createElement( + "div", + { className: "sidemenu__top" }, + t.map(function (e, t) { + return de.a.createElement(Pn, { + link: e, + key: "".concat(e.id, "-").concat(t), + }); + }) + ); + }, + Dn = Object(lt.b)( + function (e) { + var t = e.url, + n = "login?redirect=".concat(encodeURIComponent(t)); + return de.a.createElement( + "div", + { className: "sidemenu-item" }, + de.a.createElement( + "a", + { href: n, className: "sidemenu-link", target: "_self" }, + de.a.createElement( + "span", + { className: "icon-circle sidemenu-icon" }, + de.a.createElement("i", { className: "fa fa-fw fa-sign-in" }) + ) + ), + de.a.createElement( + "a", + { href: n, target: "_self" }, + de.a.createElement( + "ul", + { + className: "dropdown-menu dropdown-menu--sidemenu", + role: "menu", + }, + de.a.createElement( + "li", + { className: "side-menu-header" }, + de.a.createElement( + "span", + { className: "sidemenu-item-text" }, + "Sign In" + ) + ) + ) + ) + ); + }, + function (e) { + return { url: e.location.url }; + } + ); + function An(e) { + return (An = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function _n(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Nn(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + _n(o, r, a, i, l, "next", e); + } + function l(e) { + _n(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Mn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function In(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Rn(e, t) { + return !t || ("object" !== An(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Fn(e) { + return (Fn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ln(e, t) { + return (Ln = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Vn = (function (e) { + function t() { + var e, n; + Mn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Rn( + this, + (e = Fn(t)).call.apply(e, [this].concat(a)) + )).state = { orgs: [] }), + (n.getUserOrgs = Nn( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Ze.getBackendSrv)().get("/api/user/orgs") + ); + case 2: + (t = e.sent), + n.setState({ + orgs: t.sort(function (e, t) { + return e.orgId - t.orgId; + }), + }); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.setCurrentOrg = (function () { + var e = Nn( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Ze.getBackendSrv)().post( + "/api/user/using/".concat(t.orgId) + ) + ); + case 2: + n.setWindowLocation( + "" + .concat(ee.b.appSubUrl) + .concat( + ee.b.appSubUrl.endsWith("/") ? "" : "/", + "?orgId=" + ) + .concat(t.orgId) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ln(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.getUserOrgs(); + }, + }, + { + key: "setWindowLocation", + value: function (e) { + window.location.href = e; + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props.onDismiss, + n = this.state.orgs, + r = le.a.user.orgId; + return de.a.createElement( + j.Modal, + { + title: "Switch Organization", + icon: "random", + onDismiss: t, + isOpen: !0, + }, + de.a.createElement( + "table", + { className: "filter-table form-inline" }, + de.a.createElement( + "thead", + null, + de.a.createElement( + "tr", + null, + de.a.createElement("th", null, "Name"), + de.a.createElement("th", null, "Role"), + de.a.createElement("th", null) + ) + ), + de.a.createElement( + "tbody", + null, + n.map(function (t) { + return de.a.createElement( + "tr", + { key: t.orgId }, + de.a.createElement("td", null, t.name), + de.a.createElement("td", null, t.role), + de.a.createElement( + "td", + { className: "text-right" }, + t.orgId === r + ? de.a.createElement( + j.Button, + { size: "sm" }, + "Current" + ) + : de.a.createElement( + j.Button, + { + variant: "inverse", + size: "sm", + onClick: function () { + return e.setCurrentOrg(t); + }, + }, + "Switch to" + ) + ) + ); + }) + ) + ) + ); + }, + }, + ]) && In(n.prototype, r), + a && In(n, a), + t + ); + })(de.a.PureComponent), + Bn = n("5C3A"); + function $n(e) { + return ($n = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function qn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Un(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function zn(e, t) { + return !t || ("object" !== $n(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Hn(e) { + return (Hn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Gn(e, t) { + return (Gn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Wn = (function (e) { + function t() { + var e, n; + qn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = zn( + this, + (e = Hn(t)).call.apply(e, [this].concat(a)) + )).state = { showSwitcherModal: !1 }), + (n.onOpenShortcuts = function () { + ke.b.emit(G.CoreEvents.showModal, { + templateHtml: "<help-modal></help-modal>", + }); + }), + (n.toggleSwitcherModal = function () { + n.setState(function (e) { + return { showSwitcherModal: !e.showSwitcherModal }; + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Gn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.link, + r = t.user, + a = this.state.showSwitcherModal, + o = n.children || []; + return ( + "help" === n.id && (o = Object(Bn.b)()), + de.a.createElement( + "div", + { className: "sidemenu-item dropdown dropup" }, + de.a.createElement( + "a", + { + href: n.url, + className: "sidemenu-link", + target: n.target, + }, + de.a.createElement( + "span", + { className: "icon-circle sidemenu-icon" }, + n.icon && + de.a.createElement("i", { className: n.icon }), + n.img && de.a.createElement("img", { src: n.img }) + ) + ), + de.a.createElement( + "ul", + { + className: "dropdown-menu dropdown-menu--sidemenu", + role: "menu", + }, + n.subTitle && + de.a.createElement( + "li", + { className: "sidemenu-subtitle" }, + de.a.createElement( + "span", + { className: "sidemenu-item-text" }, + n.subTitle + ) + ), + n.showOrgSwitcher && + de.a.createElement( + "li", + { className: "sidemenu-org-switcher" }, + de.a.createElement( + "a", + { onClick: this.toggleSwitcherModal }, + de.a.createElement( + "div", + null, + de.a.createElement( + "div", + { + className: "sidemenu-org-switcher__org-name", + }, + r.orgName + ), + de.a.createElement( + "div", + { + className: + "sidemenu-org-switcher__org-current", + }, + "Current Org:" + ) + ), + de.a.createElement( + "div", + { className: "sidemenu-org-switcher__switch" }, + de.a.createElement("i", { + className: "fa fa-fw fa-random", + }), + "Switch" + ) + ) + ), + a && + de.a.createElement(Vn, { + onDismiss: this.toggleSwitcherModal, + }), + o.map(function (e, t) { + return de.a.createElement( + "li", + { key: "".concat(e.text, "-").concat(t) }, + de.a.createElement( + "a", + { href: e.url, target: e.target, rel: "noopener" }, + e.icon && + de.a.createElement("i", { className: e.icon }), + e.text + ) + ); + }), + "help" === n.id && + de.a.createElement( + "li", + { key: "keyboard-shortcuts" }, + de.a.createElement( + "a", + { + onClick: function () { + return e.onOpenShortcuts(); + }, + }, + de.a.createElement("i", { + className: "fa fa-keyboard-o", + }), + " Keyboard shortcuts" + ) + ), + de.a.createElement( + "li", + { className: "side-menu-header" }, + de.a.createElement( + "span", + { className: "sidemenu-item-text" }, + n.text + ) + ) + ) + ) + ); + }, + }, + ]) && Un(n.prototype, r), + a && Un(n, a), + t + ); + })(fe.PureComponent); + function Qn() { + var e = a.a.cloneDeep(ee.b.bootData.navTree), + t = a.a.filter(e, function (e) { + return e.hideFromMenu; + }), + n = le.a.isSignedIn, + r = le.a.user; + if (r && r.orgCount > 1) { + var o = a.a.find(t, { id: "profile" }); + o && (o.showOrgSwitcher = !0); + } + return de.a.createElement( + "div", + { className: "sidemenu__bottom" }, + !n && de.a.createElement(Dn, null), + t.map(function (e, t) { + return de.a.createElement(Wn, { + link: e, + user: r, + key: "".concat(e.url, "-").concat(t), + }); + }) + ); + } + var Yn = n("ibPz"); + function Kn(e) { + return (Kn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Jn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Zn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Xn(e, t) { + return !t || ("object" !== Kn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function er(e) { + return (er = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function tr(e, t) { + return (tr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var nr = ee.b.appSubUrl || "/", + rr = (function (e) { + function t() { + var e, n; + Jn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Xn( + this, + (e = er(t)).call.apply(e, [this].concat(a)) + )).toggleSideMenuSmallBreakpoint = function () { + ke.b.emit(G.CoreEvents.toggleSidemenuMobile); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && tr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return [ + de.a.createElement( + "a", + { href: nr, className: "sidemenu__logo", key: "logo" }, + de.a.createElement(Yn.a.MenuLogo, null) + ), + de.a.createElement( + "div", + { + className: "sidemenu__logo_small_breakpoint", + onClick: this.toggleSideMenuSmallBreakpoint, + key: "hamburger", + }, + de.a.createElement("i", { className: "fa fa-bars" }), + de.a.createElement( + "span", + { className: "sidemenu__close" }, + de.a.createElement("i", { className: "fa fa-times" }), + " Close" + ) + ), + de.a.createElement(Tn, { key: "topsection" }), + de.a.createElement(Qn, { key: "bottomsection" }), + ]; + }, + }, + ]) && Zn(n.prototype, r), + a && Zn(n, a), + t + ); + })(fe.PureComponent); + function ar(e) { + return (ar = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function or(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function ir(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function lr(e, t) { + return !t || ("object" !== ar(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function sr(e) { + return (sr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function cr(e, t) { + return (cr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ur = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = lr(this, sr(t).call(this, e))).state = { options: [] }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.setState({ options: this.buildOptions(this.props) }); + }, + }, + { + key: "UNSAFE_componentWillReceiveProps", + value: function (e) { + (e.options.length > 0 || e.variables.length) && + this.setState({ options: this.buildOptions(e) }); + }, + }, + { + key: "shouldComponentUpdate", + value: function (e) { + var t = this.buildOptions(e); + return ( + e.value !== this.props.value || + !a.a.isEqual(t, this.state.options) + ); + }, + }, + { + key: "buildOptions", + value: function (e) { + var t = e.variables, + n = void 0 === t ? [] : t, + r = e.options; + return n.length > 0 + ? [this.getVariablesGroup()].concat(or(r)) + : r; + }, + }, + { + key: "getVariablesGroup", + value: function () { + return { + label: "Template Variables", + options: this.props.variables.map(function (e) { + return { + label: "$".concat(e.name), + value: "$".concat(e.name), + }; + }), + }; + }, + }, + { + key: "getSelectedOption", + value: function () { + var e = this, + t = this.state.options; + return (t.every(function (e) { + return e.options; + }) + ? a.a.flatten( + t.map(function (e) { + return e.options; + }) + ) + : t + ).find(function (t) { + return t.value === e.props.value; + }); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.placeholder, + n = e.className, + r = e.isSearchable, + a = e.onChange, + o = this.state.options, + i = this.getSelectedOption(); + return de.a.createElement(j.Select, { + className: n, + isMulti: !1, + isClearable: !1, + backspaceRemovesValue: !1, + onChange: function (e) { + return a(e.value); + }, + options: o, + isSearchable: r, + maxMenuHeight: 500, + placeholder: t, + noOptionsMessage: function () { + return "No options found"; + }, + value: i, + }); + }, + }, + ]) && ir(n.prototype, r), + o && ir(n, o), + t + ); + })(de.a.Component); + function fr(e) { + return (fr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function dr(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function pr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function hr(e, t) { + return !t || ("object" !== fr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function mr(e) { + return (mr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function gr(e, t) { + return (gr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + ur.defaultProps = { variables: [], options: [], isSearchable: !0 }; + var br = (function (e) { + function t() { + return dr(this, t), hr(this, mr(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && gr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "shouldComponentUpdate", + value: function (e) { + return this.props.appNotification.id !== e.appNotification.id; + }, + }, + { + key: "componentDidMount", + value: function () { + var e = this.props, + t = e.appNotification, + n = e.onClearNotification; + setTimeout(function () { + n(t.id); + }, t.timeout); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.appNotification, + n = e.onClearNotification; + return de.a.createElement(j.Alert, { + severity: t.severity, + title: t.title, + children: t.component || t.text, + onRemove: function () { + return n(t.id); + }, + }); + }, + }, + ]) && pr(n.prototype, r), + a && pr(n, a), + t + ); + })(fe.Component), + vr = n("UvM7"); + function yr(e) { + return (yr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function wr(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Or(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function xr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function kr(e, t) { + return !t || ("object" !== yr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function jr(e) { + return (jr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Sr(e, t) { + return (Sr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Er = (function (e) { + function t() { + var e, n; + Or(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = kr( + this, + (e = jr(t)).call.apply(e, [this].concat(a)) + )).onClearAppNotification = function (e) { + n.props.clearAppNotification(e); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Sr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this.props.notifyApp; + ke.b.on(v.AppEvents.alertWarning, function (t) { + return e(vr.c.apply(void 0, wr(t))); + }), + ke.b.on(v.AppEvents.alertSuccess, function (t) { + return e(vr.b.apply(void 0, wr(t))); + }), + ke.b.on(v.AppEvents.alertError, function (t) { + return e(vr.a.apply(void 0, wr(t))); + }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props.appNotifications; + return de.a.createElement( + "div", + null, + t.map(function (t, n) { + return de.a.createElement(br, { + key: "".concat(t.id, "-").concat(n), + appNotification: t, + onClearNotification: function (t) { + return e.onClearAppNotification(t); + }, + }); + }) + ); + }, + }, + ]) && xr(n.prototype, r), + a && xr(n, a), + t + ); + })(fe.PureComponent), + Cr = { notifyApp: Et.b, clearAppNotification: Et.a }, + Pr = Object(lt.b)( + Er, + function (e) { + return { appNotifications: e.appNotifications.appNotifications }; + }, + Cr + ), + Tr = function (e) { + return e.description + ? de.a.createElement("span", { + className: "pointer fa fa-question-circle", + onClick: e.onDescriptionShow, + }) + : de.a.createElement("span", { + className: "pointer fa fa-question-circle", + onClick: function () { + window.open( + "http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions." + + e.name, + "_blank" + ); + }, + }); + }, + Dr = function (e) { + var t = e.func, + n = e.onMoveLeft, + r = e.onMoveRight, + a = e.onRemove, + o = e.onDescriptionShow; + return de.a.createElement( + "div", + { + style: { + display: "flex", + width: "60px", + justifyContent: "space-between", + }, + }, + de.a.createElement("span", { + className: "pointer fa fa-arrow-left", + onClick: function () { + return n(t); + }, + }), + de.a.createElement(Tr, { + name: t.def.name, + description: t.def.description, + onDescriptionShow: o, + }), + de.a.createElement("span", { + className: "pointer fa fa-remove", + onClick: function () { + return a(t); + }, + }), + de.a.createElement("span", { + className: "pointer fa fa-arrow-right", + onClick: function () { + return r(t); + }, + }) + ); + }; + function Ar(e) { + return (Ar = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function _r() { + return (_r = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Nr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Mr(e, t) { + return !t || ("object" !== Ar(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ir(e) { + return (Ir = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Rr(e, t) { + return (Rr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Fr(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Lr(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Fr(o, r, a, i, l, "next", e); + } + function l(e) { + Fr(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var Vr = de.a.lazy( + Lr( + regeneratorRuntime.mark(function e() { + var t, r; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), n.e(48).then(n.t.bind(null, "fQim", 7)) + ); + case 2: + return ( + (t = e.sent), + (r = t.default), + e.abrupt("return", { + default: function (e) { + return de.a.createElement("div", { + dangerouslySetInnerHTML: { + __html: r(e.description), + }, + }); + }, + }) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + ) + ), + Br = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Mr( + this, + Ir(t).call(this, e) + )).triggerRef = de.a.createRef()), + (n.renderContent = function (e) { + var t = e.updatePopperPosition, + r = n.props, + a = r.onMoveLeft, + o = r.onMoveRight, + i = r.func.def, + l = i.name, + s = i.description; + return n.state.showingDescription + ? de.a.createElement( + "div", + { + style: { + overflow: "auto", + maxHeight: "30rem", + textAlign: "left", + fontWeight: "normal", + }, + }, + de.a.createElement( + "h4", + { style: { color: "white" } }, + " ", + l, + " " + ), + de.a.createElement( + fe.Suspense, + { + fallback: de.a.createElement( + "span", + null, + "Loading description..." + ), + }, + de.a.createElement(Vr, { description: s }) + ) + ) + : de.a.createElement( + Dr, + _r({}, n.props, { + onMoveLeft: function () { + a(n.props.func), t(); + }, + onMoveRight: function () { + o(n.props.func), t(); + }, + onDescriptionShow: function () { + n.setState({ showingDescription: !0 }, function () { + t(); + }); + }, + }) + ); + }), + (n.state = { showingDescription: !1 }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Rr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this; + return de.a.createElement( + j.PopoverController, + { + content: this.renderContent, + placement: "top", + hideAfter: 300, + }, + function (t, n, r) { + return de.a.createElement( + de.a.Fragment, + null, + e.triggerRef && + de.a.createElement( + j.Popover, + _r({}, r, { + referenceElement: e.triggerRef.current, + wrapperClassName: "popper", + className: "popper__background", + onMouseLeave: function () { + e.setState({ showingDescription: !1 }), n(); + }, + onMouseEnter: t, + renderArrow: function (e) { + var t = e.arrowProps, + n = e.placement; + return de.a.createElement( + "div", + _r( + { + className: "popper__arrow", + "data-placement": n, + }, + t + ) + ); + }, + }) + ), + de.a.createElement( + "span", + { + ref: e.triggerRef, + onClick: r.show ? n : t, + onMouseLeave: function () { + n(), e.setState({ showingDescription: !1 }); + }, + style: { cursor: "pointer" }, + }, + e.props.func.def.name + ) + ); + } + ); + }, + }, + ]) && Nr(n.prototype, r), + a && Nr(n, a), + t + ); + })(de.a.PureComponent), + $r = n("Zss7"), + qr = n.n($r), + Ur = n("kDDq"); + function zr() { + return (zr = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Hr(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Gr() { + var e = Kr([ + "\n font-size: ", + ";\n padding: ", + " ", + " ", + " ", + ";\n ", + ]); + return ( + (Gr = function () { + return e; + }), + e + ); + } + function Wr() { + var e = Kr(["\n flex-grow: 1;\n "]); + return ( + (Wr = function () { + return e; + }), + e + ); + } + function Qr() { + var e = Kr([ + "\n max-width: 653px;\n padding: ", + " ", + " ", + " ", + ";\n height: 51px;\n box-sizing: border-box;\n outline: none;\n background: ", + ";\n background-color: ", + ";\n flex-grow: 10;\n ", + ]); + return ( + (Qr = function () { + return e; + }), + e + ); + } + function Yr() { + var e = Kr([ + "\n width: 100%;\n height: 55px; /* this variable is not part of GrafanaTheme yet*/\n display: flex;\n background-color: ", + ";\n position: relative;\n ", + ]); + return ( + (Yr = function () { + return e; + }), + e + ); + } + function Kr(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Jr = function (e) { + var t = e.query, + n = e.onChange, + r = Hr(e, ["query", "onChange"]), + a = (function (e) { + return { + wrapper: Object(Ur.css)( + Yr(), + Object(j.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.dark4 }, + e.type + ) + ), + input: Object(Ur.css)( + Qr(), + e.spacing.md, + e.spacing.md, + e.spacing.sm, + e.spacing.md, + Object(j.selectThemeVariant)( + { light: e.colors.dark1, dark: e.colors.black }, + e.type + ), + Object(j.selectThemeVariant)( + { + light: qr()(e.colors.white).lighten(4).toString(), + dark: e.colors.dark4, + }, + e.type + ) + ), + spacer: Object(Ur.css)(Wr()), + icon: Object(Ur.cx)( + Object(Ur.css)( + Gr(), + e.typography.size.lg, + e.spacing.md, + e.spacing.md, + e.spacing.sm, + e.spacing.md + ), + "pointer" + ), + }; + })(Object(fe.useContext)(j.ThemeContext)); + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + "div", + { className: "".concat(a.wrapper, " search-field-wrapper") }, + de.a.createElement( + "div", + { className: a.icon }, + de.a.createElement("i", { className: "fa fa-search" }) + ), + de.a.createElement( + "input", + zr( + { + type: "text", + placeholder: "Find dashboards by name", + value: t.query, + onChange: function (e) { + n(e.currentTarget.value); + }, + tabIndex: 1, + spellCheck: !1, + }, + r, + { className: a.input } + ) + ), + de.a.createElement("div", { className: a.spacer }) + ) + ); + }, + Zr = n("V9sw"); + function Xr(e) { + return (Xr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ea(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ta(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function na(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ra(e, t) { + return !t || ("object" !== Xr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function aa(e) { + return (aa = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function oa(e, t) { + return (oa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ia = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = ra(this, aa(t).call(this, e))).onNameChange = function (e) { + n.setState({ name: e.target.value }); + }), + (n.onEmailChange = function (e) { + n.setState({ email: e.target.value }); + }), + (n.onLoginChange = function (e) { + n.setState({ login: e.target.value }); + }), + (n.onSubmitProfileUpdate = function (e) { + e.preventDefault(), + n.props.updateProfile( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ea(Object(n), !0).forEach(function (t) { + ta(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : ea(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, n.state) + ); + }); + var r = n.props.user, + a = r.name, + o = r.email, + i = r.login; + return (n.state = { name: a, email: o, login: i }), n; + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && oa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.state, + t = e.name, + n = e.email, + r = e.login, + a = this.props.isSavingUser, + o = ee.b.disableLoginForm; + return de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + "h3", + { className: "page-sub-heading" }, + "Edit Profile" + ), + de.a.createElement( + "form", + { name: "userForm", className: "gf-form-group" }, + de.a.createElement( + "div", + { className: "gf-form max-width-30" }, + de.a.createElement( + j.FormLabel, + { className: "width-8" }, + "Name" + ), + de.a.createElement(j.Input, { + className: "gf-form-input max-width-22", + type: "text", + onChange: this.onNameChange, + value: t, + }) + ), + de.a.createElement( + "div", + { className: "gf-form max-width-30" }, + de.a.createElement( + j.FormLabel, + { className: "width-8" }, + "Email" + ), + de.a.createElement(j.Input, { + className: "gf-form-input max-width-22", + type: "text", + onChange: this.onEmailChange, + value: n, + disabled: o, + }), + o && + de.a.createElement( + j.Tooltip, + { + content: + "Login Details Locked - managed in another system.", + }, + de.a.createElement("i", { + className: + "fa fa-lock gf-form-icon--right-absolute", + }) + ) + ), + de.a.createElement( + "div", + { className: "gf-form max-width-30" }, + de.a.createElement( + j.FormLabel, + { className: "width-8" }, + "Username" + ), + de.a.createElement(j.Input, { + className: "gf-form-input max-width-22", + type: "text", + onChange: this.onLoginChange, + value: r, + disabled: o, + }), + o && + de.a.createElement( + j.Tooltip, + { + content: + "Login Details Locked - managed in another system.", + }, + de.a.createElement("i", { + className: + "fa fa-lock gf-form-icon--right-absolute", + }) + ) + ), + de.a.createElement( + "div", + { className: "gf-form-button-row" }, + de.a.createElement( + j.Button, + { + variant: "primary", + onClick: this.onSubmitProfileUpdate, + disabled: a, + }, + "Save" + ) + ) + ) + ); + }, + }, + ]) && na(n.prototype, r), + a && na(n, a), + t + ); + })(fe.PureComponent), + la = n("mHLn"); + function sa(e) { + return (sa = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ca(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ua(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function fa(e, t) { + return !t || ("object" !== sa(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function da(e) { + return (da = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function pa(e, t) { + return (pa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ha = (function (e) { + function t() { + return ca(this, t), fa(this, da(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && pa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.loadTeams(); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.isLoading, + n = e.teams; + return t + ? de.a.createElement(j.LoadingPlaceholder, { + text: "Loading teams...", + }) + : de.a.createElement( + de.a.Fragment, + null, + n.length > 0 && + de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + "h3", + { className: "page-sub-heading" }, + "Teams" + ), + de.a.createElement( + "div", + { className: "gf-form-group" }, + de.a.createElement( + "table", + { className: "filter-table form-inline" }, + de.a.createElement( + "thead", + null, + de.a.createElement( + "tr", + null, + de.a.createElement("th", null), + de.a.createElement("th", null, "Name"), + de.a.createElement("th", null, "Email"), + de.a.createElement("th", null, "Members") + ) + ), + de.a.createElement( + "tbody", + null, + n.map(function (e, t) { + return de.a.createElement( + "tr", + { key: t }, + de.a.createElement( + "td", + { className: "width-4 text-center" }, + de.a.createElement("img", { + className: "filter-table__avatar", + src: e.avatarUrl, + }) + ), + de.a.createElement("td", null, e.name), + de.a.createElement("td", null, e.email), + de.a.createElement( + "td", + null, + e.memberCount + ) + ); + }) + ) + ) + ) + ) + ); + }, + }, + ]) && ua(n.prototype, r), + a && ua(n, a), + t + ); + })(fe.PureComponent); + function ma(e) { + return (ma = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ga(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ba(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function va(e, t) { + return !t || ("object" !== ma(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ya(e) { + return (ya = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function wa(e, t) { + return (wa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Oa = (function (e) { + function t() { + return ga(this, t), va(this, ya(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && wa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.loadOrgs(); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.isLoading, + r = t.orgs, + a = t.user; + return n + ? de.a.createElement(j.LoadingPlaceholder, { + text: "Loading organizations...", + }) + : de.a.createElement( + de.a.Fragment, + null, + r.length > 0 && + de.a.createElement( + de.a.Fragment, + null, + de.a.createElement( + "h3", + { className: "page-sub-heading" }, + "Organizations" + ), + de.a.createElement( + "div", + { className: "gf-form-group" }, + de.a.createElement( + "table", + { className: "filter-table form-inline" }, + de.a.createElement( + "thead", + null, + de.a.createElement( + "tr", + null, + de.a.createElement("th", null, "Name"), + de.a.createElement("th", null, "Role"), + de.a.createElement("th", null) + ) + ), + de.a.createElement( + "tbody", + null, + r.map(function (t, n) { + return de.a.createElement( + "tr", + { key: n }, + de.a.createElement("td", null, t.name), + de.a.createElement("td", null, t.role), + de.a.createElement( + "td", + { className: "text-right" }, + t.orgId === a.orgId + ? de.a.createElement( + "span", + { + className: + "btn btn-primary btn-small", + }, + "Current" + ) + : de.a.createElement( + j.Button, + { + variant: "inverse", + size: "sm", + onClick: function () { + e.props.setUserOrg(t); + }, + }, + "Select" + ) + ) + ); + }) + ) + ) + ) + ) + ); + }, + }, + ]) && ba(n.prototype, r), + a && ba(n, a), + t + ); + })(fe.PureComponent), + xa = function () { + return de.a.createElement( + Zr.a, + { userId: Ze.config.bootData.user.id }, + function (e, t, n, r, a) { + return de.a.createElement( + de.a.Fragment, + null, + t.loadUser + ? de.a.createElement(j.LoadingPlaceholder, { + text: "Loading user profile...", + }) + : de.a.createElement(ia, { + updateProfile: e.updateUserProfile, + isSavingUser: t.updateUserProfile, + user: a, + }), + de.a.createElement(la.a, { resourceUri: "user" }), + de.a.createElement(ha, { + isLoading: t.loadTeams, + loadTeams: e.loadTeams, + teams: n, + }), + !t.loadUser && + de.a.createElement(Oa, { + isLoading: t.loadOrgs, + setUserOrg: e.setUserOrg, + loadOrgs: e.loadOrgs, + orgs: r, + user: a, + }) + ); + } + ); + }, + ka = n("Yj82"), + ja = n("KwPh"), + Sa = Object(fe.memo)(function (e) { + var t = e.expr, + n = e.datasource, + r = e.onChange, + a = { from: Date.now() - 1e4, to: Date.now() }, + o = Object(ka.a)(n.languageProvider, a), + i = o.isSyntaxReady, + l = o.setActiveOption, + s = o.refreshLabels, + c = o.syntax, + u = o.logLabelOptions, + f = { refId: "", expr: t }; + return de.a.createElement( + "div", + { className: "gf-form-group" }, + de.a.createElement(ja.a, { + datasource: n, + query: f, + onChange: function (e) { + return r(e.expr); + }, + onRunQuery: function () {}, + history: [], + data: null, + onLoadOptions: l, + onLabelsRefresh: s, + absoluteRange: a, + syntax: c, + syntaxLoaded: i, + logLabelOptions: u, + }) + ); + }); + function Ea(e) { + return (Ea = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ca(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Pa(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ta(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Da(e, t) { + return !t || ("object" !== Ea(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Aa(e) { + return (Aa = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function _a(e, t) { + return (_a = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Na = (function (e) { + function t() { + return Pa(this, t), Da(this, Aa(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && _a(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "dismiss", + value: function () { + ke.b.emit("hide-modal"); + }, + }, + { + key: "render", + value: function () { + return de.a.createElement( + "div", + { className: "modal-body" }, + de.a.createElement( + "div", + { className: "modal-header" }, + de.a.createElement( + "h2", + { className: "modal-header-title" }, + de.a.createElement("i", { + className: "fa fa-keyboard-o", + }), + de.a.createElement( + "span", + { className: "p-l-1" }, + "Shortcuts" + ) + ), + de.a.createElement( + "a", + { + className: "modal-header-close", + onClick: this.dismiss, + }, + de.a.createElement("i", { className: "fa fa-remove" }) + ) + ), + de.a.createElement( + "div", + { className: "modal-content help-modal" }, + de.a.createElement( + "p", + { + className: "small", + style: { + position: "absolute", + top: "13px", + right: "44px", + }, + }, + de.a.createElement( + "span", + { className: "shortcut-table-key" }, + "mod" + ), + " =", + de.a.createElement( + "span", + { className: "muted" }, + " CTRL on windows or linux and CMD key on Mac" + ) + ), + Object.entries(t.shortcuts).map(function (e, t) { + var n = Ca(e, 2), + r = n[0], + a = n[1]; + return de.a.createElement( + "div", + { className: "shortcut-category", key: t }, + de.a.createElement( + "table", + { className: "shortcut-table" }, + de.a.createElement( + "tbody", + null, + de.a.createElement( + "tr", + null, + de.a.createElement( + "th", + { + className: "shortcut-table-category-header", + colSpan: 2, + }, + r + ) + ), + a.map(function (e, n) { + return de.a.createElement( + "tr", + { key: "".concat(t, "-").concat(n) }, + de.a.createElement( + "td", + { className: "shortcut-table-keys" }, + e.keys.map(function (e, r) { + return de.a.createElement( + "span", + { + className: "shortcut-table-key", + key: "" + .concat(t, "-") + .concat(n, "-") + .concat(r), + }, + e + ); + }) + ), + de.a.createElement( + "td", + { className: "shortcut-table-description" }, + e.description + ) + ); + }) + ) + ) + ); + }), + de.a.createElement("div", { className: "clearfix" }) + ) + ); + }, + }, + ]) && Ta(n.prototype, r), + a && Ta(n, a), + t + ); + })(de.a.PureComponent); + (Na.tabIndex = 0), + (Na.shortcuts = { + Global: [ + { keys: ["g", "h"], description: "Go to Home Dashboard" }, + { keys: ["g", "p"], description: "Go to Profile" }, + { keys: ["s", "o"], description: "Open search" }, + { keys: ["esc"], description: "Exit edit/setting views" }, + ], + Dashboard: [ + { keys: ["mod+s"], description: "Save dashboard" }, + { keys: ["d", "r"], description: "Refresh all panels" }, + { keys: ["d", "s"], description: "Dashboard settings" }, + { keys: ["d", "v"], description: "Toggle in-active / view mode" }, + { + keys: ["d", "k"], + description: "Toggle kiosk mode (hides top nav)", + }, + { keys: ["d", "E"], description: "Expand all rows" }, + { keys: ["d", "C"], description: "Collapse all rows" }, + { + keys: ["d", "a"], + description: "Toggle auto fit panels (experimental feature)", + }, + { keys: ["mod+o"], description: "Toggle shared graph crosshair" }, + { keys: ["d", "l"], description: "Toggle all panel legends" }, + ], + "Focused Panel": [ + { keys: ["e"], description: "Toggle panel edit view" }, + { keys: ["v"], description: "Toggle panel fullscreen view" }, + { keys: ["p", "s"], description: "Open Panel Share Modal" }, + { keys: ["p", "d"], description: "Duplicate Panel" }, + { keys: ["p", "r"], description: "Remove Panel" }, + { keys: ["p", "l"], description: "Toggle panel legend" }, + ], + "Time Range": [ + { keys: ["t", "z"], description: "Zoom out time range" }, + { + keys: [ + "t", + de.a.createElement("i", { className: "fa fa-long-arrow-left" }), + ], + description: "Move time range back", + }, + { + keys: [ + "t", + de.a.createElement("i", { + className: "fa fa-long-arrow-right", + }), + ], + description: "Move time range forward", + }, + ], + }); + var Ma, + Ia = n("fL47"), + Ra = n("N9j+"), + Fa = n("buVq"); + function La(e) { + return (La = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Va(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ba(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function $a(e, t) { + return !t || ("object" !== La(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function qa(e) { + return (qa = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ua(e, t) { + return (Ua = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e[(e.down = 1)] = "down"), (e[(e.up = -1)] = "up"); + })(Ma || (Ma = {})); + var za = (function (e) { + function t() { + var e, n; + Va(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = $a( + this, + (e = qa(t)).call.apply(e, [this].concat(a)) + )).onEditClick = function (e, t) { + e.preventDefault(), n.props.onEditClick(t); + }), + (n.onChangeVariableOrder = function (e, t, r) { + e.preventDefault(), + n.props.onChangeVariableOrder( + Object(Fa.g)(t), + t.index, + t.index + r + ); + }), + (n.onDuplicateVariable = function (e, t) { + e.preventDefault(), n.props.onDuplicateVariable(t); + }), + (n.onRemoveVariable = function (e, t) { + e.preventDefault(), n.props.onRemoveVariable(t); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ua(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this; + return de.a.createElement( + "div", + null, + de.a.createElement( + "div", + null, + 0 === this.props.variables.length && + de.a.createElement( + "div", + null, + de.a.createElement(mn.a, { + title: "There are no variables yet", + buttonIcon: "gicon gicon-variable", + buttonTitle: "Add variable", + infoBox: { + __html: + ' <p>\n Variables enable more interactive and dynamic dashboards. Instead of hard-coding things like server\n or sensor names in your metric queries you can use variables in their place. Variables are shown as\n dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data\n being displayed in your dashboard. Check out the\n <a class="external-link" href="http://docs.grafana.org/reference/templating/" target="_blank">\n Templating documentation\n </a>\n for more information.\n </p>', + }, + infoBoxTitle: "What do variables do?", + onClick: this.props.onAddClick, + }) + ), + this.props.variables.length > 0 && + de.a.createElement( + "div", + null, + de.a.createElement( + "table", + { + className: "filter-table filter-table--hover", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.List + .selectors.table, + }, + de.a.createElement( + "thead", + null, + de.a.createElement( + "tr", + null, + de.a.createElement("th", null, "Variable"), + de.a.createElement("th", null, "Definition"), + de.a.createElement("th", { colSpan: 5 }) + ) + ), + de.a.createElement( + "tbody", + null, + this.props.variables.map(function (t, n) { + var r = t; + return de.a.createElement( + "tr", + { key: "".concat(r.name, "-").concat(n) }, + de.a.createElement( + "td", + { style: { width: "1%" } }, + de.a.createElement( + "span", + { + onClick: function (t) { + return e.onEditClick( + t, + Object(Fa.g)(r) + ); + }, + className: "pointer template-variable", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowNameFields( + r.name + ), + }, + r.name + ) + ), + de.a.createElement( + "td", + { + style: { maxWidth: "200px" }, + onClick: function (t) { + return e.onEditClick( + t, + Object(Fa.g)(r) + ); + }, + className: "pointer max-width", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowDefinitionFields( + r.name + ), + }, + r.definition ? r.definition : r.query + ), + de.a.createElement( + "td", + { style: { width: "1%" } }, + n > 0 && + de.a.createElement("i", { + onClick: function (t) { + return e.onChangeVariableOrder( + t, + r, + Ma.up + ); + }, + className: "pointer fa fa-arrow-up", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowArrowUpButtons( + r.name + ), + }) + ), + de.a.createElement( + "td", + { style: { width: "1%" } }, + n < e.props.variables.length - 1 && + de.a.createElement("i", { + onClick: function (t) { + return e.onChangeVariableOrder( + t, + r, + Ma.down + ); + }, + className: "pointer fa fa-arrow-down", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowArrowDownButtons( + r.name + ), + }) + ), + de.a.createElement( + "td", + { style: { width: "1%" } }, + de.a.createElement( + "a", + { + onClick: function (t) { + return e.onDuplicateVariable( + t, + Object(Fa.g)(r) + ); + }, + className: "btn btn-inverse btn-small", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowDuplicateButtons( + r.name + ), + }, + "Duplicate" + ) + ), + de.a.createElement( + "td", + { style: { width: "1%" } }, + de.a.createElement( + "a", + { + onClick: function (t) { + return e.onRemoveVariable( + t, + Object(Fa.g)(r) + ); + }, + className: "btn btn-danger btn-small", + "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowRemoveButtons( + r.name + ), + }, + de.a.createElement("i", { + className: "fa fa-remove", + }) + ) + ) + ); + }) + ) + ) + ) + ) + ); + }, + }, + ]) && Ba(n.prototype, r), + a && Ba(n, a), + t + ); + })(fe.PureComponent), + Ha = n("Y+p1"), + Ga = n.n(Ha), + Wa = n("+CPp"); + function Qa(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var Ya = function (e) { + var t = e.variable, + n = Qa(Object(fe.useState)(20), 2), + r = n[0], + a = n[1], + o = Qa(Object(fe.useState)([]), 2), + i = o[0], + l = o[1], + s = Object(fe.useCallback)( + function () { + return a(r + 20); + }, + [r, a] + ); + return ( + Object(fe.useEffect)( + function () { + t && t.hasOwnProperty("options") && l(t.options.slice(0, r)); + }, + [r, t] + ), + i.length + ? de.a.createElement( + "div", + { className: "gf-form-group" }, + de.a.createElement("h5", null, "Preview of values"), + de.a.createElement( + "div", + { className: "gf-form-inline" }, + i.map(function (e, t) { + return de.a.createElement( + "div", + { + className: "gf-form", + key: "".concat(e.value, "-").concat(t), + }, + de.a.createElement( + "span", + { + className: "gf-form-label", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit.General + .selectors.previewOfValuesOption, + }, + e.text + ) + ); + }), + i.length > r && + de.a.createElement( + "div", + { + className: "gf-form", + "ng-if": "current.options.length > optionsLimit", + }, + de.a.createElement( + "a", + { + className: "gf-form-label btn-secondary", + onClick: s, + "aria-label": + "Variable editor Preview of Values Show More link", + }, + "Show more" + ) + ) + ) + ) + : null + ); + }; + Ya.displayName = "VariableValuesPreview"; + var Ka = n("Yyu/"), + Ja = n("dcGt"), + Za = n("EcEN"), + Xa = n("BkRI"), + eo = n.n(Xa), + to = n("mpro"); + function no(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function ro(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + no(o, r, a, i, l, "next", e); + } + function l(e) { + no(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var ao = function () { + return function (e) { + e(Object(Ja.e)()); + }; + }; + function oo(e) { + return (oo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function io(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function lo(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + io(o, r, a, i, l, "next", e); + } + function l(e) { + io(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function so(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function co(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function uo(e, t) { + return !t || ("object" !== oo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function fo(e) { + return (fo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function po(e, t) { + return (po = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ho = (function (e) { + function t() { + var e, n; + so(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = uo( + this, + (e = fo(t)).call.apply(e, [this].concat(a)) + )).onNameChange = function (e) { + e.preventDefault(), + n.props.changeVariableName( + n.props.identifier, + e.target.value + ); + }), + (n.onTypeChange = function (e) { + e.preventDefault(), + n.props.changeVariableType( + Object(Fa.h)(n.props.identifier, { + newType: e.target.value, + }) + ); + }), + (n.onLabelChange = function (e) { + e.preventDefault(), + n.props.changeVariableProp( + Object(Fa.h)(n.props.identifier, { + propName: "label", + propValue: e.target.value, + }) + ); + }), + (n.onHideChange = function (e) { + e.preventDefault(), + n.props.changeVariableProp( + Object(Fa.h)(n.props.identifier, { + propName: "hide", + propValue: parseInt(e.target.value, 10), + }) + ); + }), + (n.onPropChanged = (function () { + var e = lo( + regeneratorRuntime.mark(function e(t) { + var r, a, o, i; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = t.propName), + (a = t.propValue), + (o = t.updateOptions), + (i = void 0 !== o && o), + n.props.changeVariableProp( + Object(Fa.h)(n.props.identifier, { + propName: r, + propValue: a, + }) + ), + !i) + ) { + e.next = 5; + break; + } + return ( + (e.next = 5), + Wa.a + .get(n.props.variable.type) + .updateOptions(n.props.variable) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onHandleSubmit = (function () { + var e = lo( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ((t.preventDefault(), n.props.editor.isValid)) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + if (n.props.variable.uuid === Fa.c) { + e.next = 6; + break; + } + return ( + (e.next = 6), + n.props.onEditorUpdate(n.props.identifier) + ); + case 6: + if (n.props.variable.uuid !== Fa.c) { + e.next = 9; + break; + } + return ( + (e.next = 9), + n.props.onEditorAdd(n.props.identifier) + ); + case 9: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && po(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.variableEditorMount(this.props.identifier); + }, + }, + { + key: "componentDidUpdate", + value: function (e, t, n) { + Ga()(e.editor.errors, this.props.editor.errors) || + Object.values(this.props.editor.errors).forEach(function ( + e + ) { + ke.b.emit(v.AppEvents.alertWarning, ["Validation", e]); + }); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.props.variableEditorUnMount(this.props.identifier); + }, + }, + { + key: "render", + value: function () { + var e, + t = Wa.a.get(this.props.variable.type).editor; + if (!t) return null; + var n = + this.props.variable.uuid && + this.props.variable.uuid === Fa.c; + return de.a.createElement( + "div", + null, + de.a.createElement( + "form", + { + "aria-label": "Variable editor Form", + onSubmit: this.onHandleSubmit, + }, + de.a.createElement( + "h5", + { className: "section-heading" }, + "General" + ), + de.a.createElement( + "div", + { className: "gf-form-group" }, + de.a.createElement( + "div", + { className: "gf-form-inline" }, + de.a.createElement( + "div", + { className: "gf-form max-width-19" }, + de.a.createElement( + "span", + { className: "gf-form-label width-6" }, + "Name" + ), + de.a.createElement("input", { + type: "text", + className: "gf-form-input", + name: "name", + placeholder: "name", + required: !0, + value: this.props.editor.name, + onChange: this.onNameChange, + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.generalNameInput, + }) + ), + de.a.createElement( + "div", + { className: "gf-form max-width-19" }, + de.a.createElement( + j.FormLabel, + { + width: 6, + tooltip: Wa.a.get(this.props.variable.type) + .description, + }, + "Type" + ), + de.a.createElement( + "div", + { + className: + "gf-form-select-wrapper max-width-17", + }, + de.a.createElement( + "select", + { + className: "gf-form-input", + value: this.props.variable.type, + onChange: this.onTypeChange, + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.generalTypeSelect, + }, + Wa.a.registeredTypes().map(function (e) { + return de.a.createElement( + "option", + { + key: e.type, + label: e.label, + value: e.type, + }, + e.label + ); + }) + ) + ) + ) + ), + this.props.editor.errors.name && + de.a.createElement( + "div", + { className: "gf-form" }, + de.a.createElement( + "span", + { + className: "gf-form-label gf-form-label--error", + }, + this.props.editor.errors.name + ) + ), + de.a.createElement( + "div", + { className: "gf-form-inline" }, + de.a.createElement( + "div", + { className: "gf-form max-width-19" }, + de.a.createElement( + "span", + { className: "gf-form-label width-6" }, + "Label" + ), + de.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: + null !== (e = this.props.variable.label) && + void 0 !== e + ? e + : "", + onChange: this.onLabelChange, + placeholder: "optional display name", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.generalLabelInput, + }) + ), + de.a.createElement( + "div", + { className: "gf-form max-width-19" }, + de.a.createElement( + "span", + { className: "gf-form-label width-6" }, + "Hide" + ), + de.a.createElement( + "div", + { + className: + "gf-form-select-wrapper max-width-15", + }, + de.a.createElement( + "select", + { + className: "gf-form-input", + value: this.props.variable.hide, + onChange: this.onHideChange, + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.generalHideSelect, + }, + de.a.createElement( + "option", + { label: "", value: V.a.dontHide }, + "" + ), + de.a.createElement( + "option", + { label: "", value: V.a.hideLabel }, + "Label" + ), + de.a.createElement( + "option", + { label: "", value: V.a.hideVariable }, + "Variable" + ) + ) + ) + ) + ) + ), + t && + de.a.createElement(t, { + variable: this.props.variable, + onPropChange: this.onPropChanged, + }), + de.a.createElement(Ya, { variable: this.props.variable }), + de.a.createElement( + "div", + { className: "gf-form-button-row p-y-0" }, + !n && + de.a.createElement( + "button", + { + type: "submit", + className: "btn btn-primary", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.updateButton, + }, + "Update" + ), + n && + de.a.createElement( + "button", + { + type: "submit", + className: "btn btn-primary", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.addButton, + }, + "Add" + ) + ) + ) + ); + }, + }, + ]) && co(n.prototype, r), + a && co(n, a), + t + ); + })(fe.PureComponent), + mo = { + variableEditorMount: function (e) { + return (function () { + var t = ro( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + n(Object(Ja.h)({ name: Object(Ka.a)(e.uuid).name })); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + }, + variableEditorUnMount: function (e) { + return (function () { + var t = ro( + regeneratorRuntime.mark(function t(n, r) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + n(Object(Ja.j)(Object(Fa.h)(e))), + r().templating.variables[Fa.c] && + n( + Object(to.h)( + Object(Fa.h)( + { type: e.type, uuid: Fa.c }, + { reIndex: !1 } + ) + ) + ); + case 2: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + changeVariableName: function (e, t) { + return function (n, r) { + var a = null; + t.match(/^(?!__).*$/) || + (a = + "Template names cannot begin with '__', that's reserved for Grafana's global variables"), + t.match(/^\w+$/) || + (a = + "Only word and digit characters are allowed in variable names"), + Object(Ka.d)(r()).filter(function (n) { + return n.name === t && n.uuid !== e.uuid; + }).length && (a = "Variable with the same name already exists"), + a && n(Object(Ja.c)({ newName: t, errorText: a })), + a || n(Object(Ja.d)(Object(Fa.h)(e, t))); + }; + }, + changeVariableProp: to.d, + onEditorUpdate: function (e) { + return (function () { + var t = ro( + regeneratorRuntime.mark(function t(n, r) { + var a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (a = Object(Ka.a)(e.uuid, r())), + (t.next = 3), + Wa.a.get(a.type).updateOptions(a) + ); + case 3: + n(ao()); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + onEditorAdd: function (e) { + return (function () { + var t = ro( + regeneratorRuntime.mark(function t(n, r) { + var a, o; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (a = Object(Za.v4)()), + n( + Object(to.l)( + Object(Fa.h)({ type: e.type, uuid: a }) + ) + ), + (o = Object(Ka.a)(a, r())), + (t.next = 5), + Wa.a.get(o.type).updateOptions(o) + ); + case 5: + n(ao()), + n( + Object(to.h)( + Object(Fa.h)( + { type: e.type, uuid: Fa.c }, + { reIndex: !1 } + ) + ) + ); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + changeVariableType: to.e, + }, + go = Object(lt.b)( + ho, + function (e, t) { + return { + editor: e.templating.editor, + variable: Object(Ka.a)(t.identifier.uuid, e), + }; + }, + mo + ); + function bo(e) { + return (bo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function vo(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function yo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function wo(e, t) { + return !t || ("object" !== bo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Oo(e) { + return (Oo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function xo(e, t) { + return (xo = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ko = (function (e) { + function t() { + var e, n; + vo(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = wo( + this, + (e = Oo(t)).call.apply(e, [this].concat(a)) + )).onChangeToListMode = function (e) { + e.preventDefault(), n.props.switchToListMode(); + }), + (n.onEditVariable = function (e) { + n.props.switchToEditMode(e); + }), + (n.onNewVariable = function (e) { + e.preventDefault(), n.props.switchToNewMode(); + }), + (n.onChangeVariableOrder = function (e, t, r) { + n.props.changeVariableOrder( + Object(Fa.h)(e, { fromIndex: t, toIndex: r }) + ); + }), + (n.onDuplicateVariable = function (e) { + n.props.duplicateVariable(Object(Fa.h)(e)); + }), + (n.onRemoveVariable = function (e) { + n.props.removeVariable(Object(Fa.h)(e, { reIndex: !0 })); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && xo(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.switchToListMode(); + }, + }, + { + key: "render", + value: function () { + var e, + t = this, + n = + null !== + (e = this.props.variables.find(function (e) { + return e.uuid === t.props.idInEditor; + })) && void 0 !== e + ? e + : null; + return de.a.createElement( + "div", + null, + de.a.createElement( + "div", + { className: "page-action-bar" }, + de.a.createElement( + "h3", + { className: "dashboard-settings__header" }, + de.a.createElement( + "a", + { + onClick: this.onChangeToListMode, + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.headerLink, + }, + "Variables" + ), + this.props.idInEditor === Fa.c && + de.a.createElement( + "span", + null, + de.a.createElement("i", { + className: "fa fa-fw fa-chevron-right", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.modeLabelNew, + }), + "New" + ), + this.props.idInEditor && + this.props.idInEditor !== Fa.c && + de.a.createElement( + "span", + null, + de.a.createElement("i", { + className: "fa fa-fw fa-chevron-right", + "aria-label": + L.a.pages.Dashboard.Settings.Variables.Edit + .General.selectors.modeLabelEdit, + }), + "Edit" + ) + ), + de.a.createElement("div", { + className: "page-action-bar__spacer", + }), + this.props.variables.length > 0 && + null === n && + de.a.createElement( + "a", + { + type: "button", + className: "btn btn-primary", + onClick: this.onNewVariable, + "aria-label": + L.a.pages.Dashboard.Settings.Variables.List + .selectors.newButton, + }, + "New" + ) + ), + !n && + de.a.createElement(za, { + variables: this.props.variables, + onAddClick: this.onNewVariable, + onEditClick: this.onEditVariable, + onChangeVariableOrder: this.onChangeVariableOrder, + onDuplicateVariable: this.onDuplicateVariable, + onRemoveVariable: this.onRemoveVariable, + }), + n && de.a.createElement(go, { identifier: Object(Fa.g)(n) }) + ); + }, + }, + ]) && yo(n.prototype, r), + a && yo(n, a), + t + ); + })(fe.PureComponent), + jo = { + changeVariableOrder: to.c, + duplicateVariable: to.f, + removeVariable: to.h, + switchToNewMode: function () { + return function (e, t) { + var n = Fa.c, + r = eo()(Wa.a.get("query").initialState), + a = Object.values(t().templating.variables).length, + o = { type: "query", uuid: n }; + e( + Object(to.b)( + Object(Fa.h)(o, { global: !1, model: r, index: a }) + ) + ), + e(Object(Ja.g)({ id: o.uuid })); + }; + }, + switchToEditMode: function (e) { + return function (t) { + t(Object(Ja.g)({ id: e.uuid })); + }; + }, + switchToListMode: ao, + }, + So = Object(lt.b)( + ko, + function (e) { + return { + variables: Object(Ka.b)(e, !0), + idInEditor: e.templating.editor.id, + }; + }, + jo + ); + function Eo() { + Object(Nt.a)("footer", Bn.a, []), + Object(Nt.a)("helpModal", Na, []), + Object(Nt.a)("sidemenu", rr, []), + Object(Nt.a)("functionEditor", Br, [ + "func", + "onRemove", + "onMoveLeft", + "onMoveRight", + ]), + Object(Nt.a)("appNotificationsList", Pr, []), + Object(Nt.a)("pageHeader", hn.a, ["model", "noTabs"]), + Object(Nt.a)("emptyListCta", mn.a, [ + "title", + "buttonIcon", + "buttonLink", + "buttonTitle", + ["onClick", { watchDepth: "reference", wrapApply: !0 }], + "proTip", + "proTipLink", + "proTipLinkTitle", + "proTipTarget", + "infoBox", + "infoBoxTitle", + ]), + Object(Nt.a)("searchField", Jr, [ + "query", + "autoFocus", + ["onChange", { watchDepth: "reference" }], + ["onKeyDown", { watchDepth: "reference" }], + ]), + Object(Nt.a)("tagFilter", Sn, [ + "tags", + ["onChange", { watchDepth: "reference" }], + ["tagOptions", { watchDepth: "reference" }], + ]), + Object(Nt.a)("colorPicker", j.ColorPicker, [ + "color", + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)( + "seriesColorPickerPopover", + j.SeriesColorPickerPopoverWithTheme, + ["color", "series", "onColorChange", "onToggleAxis"] + ), + Object(Nt.a)("unitPicker", j.UnitPicker, [ + "value", + "width", + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("metricSelect", ur, [ + "options", + "onChange", + "value", + "isSearchable", + "className", + "placeholder", + ["variables", { watchDepth: "reference" }], + ]), + Object(Nt.a)("stackdriverQueryEditor", Qt, [ + "target", + "onQueryChange", + "onExecuteQuery", + ["events", { watchDepth: "reference" }], + ["datasource", { watchDepth: "reference" }], + ["templateSrv", { watchDepth: "reference" }], + ]), + Object(Nt.a)("stackdriverAnnotationQueryEditor", ln, [ + "target", + "onQueryChange", + ["datasource", { watchDepth: "reference" }], + ["templateSrv", { watchDepth: "reference" }], + ]), + Object(Nt.a)("cloudwatchAnnotationQueryEditor", pn, [ + "query", + "onChange", + ["datasource", { watchDepth: "reference" }], + ]), + Object(Nt.a)("secretFormField", j.SecretFormField, [ + "value", + "isConfigured", + "inputWidth", + "labelWidth", + ["onReset", { watchDepth: "reference", wrapApply: !0 }], + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("graphContextMenu", j.GraphContextMenu, [ + "x", + "y", + "items", + ["onClose", { watchDepth: "reference", wrapApply: !0 }], + [ + "getContextMenuSource", + { watchDepth: "reference", wrapApply: !0 }, + ], + ["formatSourceDate", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("drilldownLinksEditor", j.DataLinksEditor, [ + "value", + "suggestions", + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("reactProfileWrapper", xa, []), + Object(Nt.a)("lokiAnnotationsQueryEditor", Sa, [ + "expr", + "onChange", + ["datasource", { watchDepth: "reference" }], + ]), + Object(Nt.a)("datasourceHttpSettingsNext", j.DataSourceHttpSettings, [ + "defaultUrl", + "showAccessOptions", + "dataSourceConfig", + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("folderPicker", Ia.a, [ + "labelClass", + "rootName", + "enableCreateNew", + "enableReset", + "initialTitle", + "initialFolderId", + "dashboardId", + "onCreateFolder", + ["enterFolderCreation", { watchDepth: "reference", wrapApply: !0 }], + ["exitFolderCreation", { watchDepth: "reference", wrapApply: !0 }], + ["onLoad", { watchDepth: "reference", wrapApply: !0 }], + ["onChange", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("saveDashboardButton", Ra.c, [ + ["getDashboard", { watchDepth: "reference", wrapApply: !0 }], + ["onSaveSuccess", { watchDepth: "reference", wrapApply: !0 }], + ["dashboard", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("saveDashboardAsButton", Ra.b, [ + "variant", + "useNewForms", + ["getDashboard", { watchDepth: "reference", wrapApply: !0 }], + ["onSaveSuccess", { watchDepth: "reference", wrapApply: !0 }], + ]), + Object(Nt.a)("variableEditorContainer", So, []); + } + var Co = n("1Zgx"); + function Po(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var To = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$location = t), + (this.$scope = n), + (this.selectors = L.a.pages.Dashboards.selectors); + } + var t, n, r; + return ( + (e.$inject = ["$location", "$scope"]), + (t = e), + (n = [ + { + key: "toggleFolderExpand", + value: function (e) { + var t = this; + e.toggle && + (!e.expanded && + this.onFolderExpanding && + this.onFolderExpanding(), + Object(He.a)(this.$scope)( + e.toggle(e).then(function (e) { + t.editable && + e.expanded && + e.items && + (a.a.each(e.items, function (t) { + t.checked = e.checked; + }), + t.onSelectionChanged && t.onSelectionChanged()); + }) + )); + }, + }, + { + key: "navigateToFolder", + value: function (e, t) { + this.$location.path(e.url), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + { + key: "toggleSelection", + value: function (e, t) { + (e.checked = !e.checked), + e.items && + a.a.each(e.items, function (t) { + t.checked = e.checked; + }), + this.onSelectionChanged && this.onSelectionChanged(), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + { + key: "onItemClick", + value: function (e) { + (this.$location.path().indexOf(e.url) > -1 || + e.url.indexOf(this.$location.path()) > -1) && + ke.b.emit(G.CoreEvents.hideDashSearch); + }, + }, + { + key: "selectTag", + value: function (e, t) { + this.onTagSelected && this.onTagSelected({ $tag: e }), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + ]) && Po(t.prototype, n), + r && Po(t, r), + e + ); + })(); + function Do(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Ao(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function _o(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + l.c.directive("dashboardSearchResults", function () { + return { + restrict: "E", + templateUrl: "public/app/core/components/search/search_results.html", + controller: To, + bindToController: !0, + controllerAs: "ctrl", + scope: { + editable: "@", + results: "=", + onSelectionChanged: "&", + onTagSelected: "&", + onFolderExpanding: "&", + }, + }; + }); + var No = (function () { + function e(t, n, r) { + var a = this; + _o(this, e), + (this.$scope = t), + (this.searchSrv = n), + (this.contextSrv = r), + (this.selectAllChecked = !1), + (this.canDelete = !1), + (this.canMove = !1), + (this.hasFilters = !1), + (this.starredFilterOptions = [ + { text: "Filter by Starred", disabled: !0 }, + { text: "Yes" }, + { text: "No" }, + ]), + (this.canSave = !1), + (this.isEditor = this.contextSrv.isEditor), + (this.hasEditPermissionInFolders = this.contextSrv.hasEditPermissionInFolders), + (this.query = { + query: "", + mode: "tree", + tag: [], + starred: !1, + skipRecent: !0, + skipStarred: !0, + folderIds: [], + }), + this.folderId && (this.query.folderIds = [this.folderId]), + (this.selectedStarredFilter = this.starredFilterOptions[0]), + this.refreshList().then(function () { + a.initTagFilter(); + }); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "searchSrv", "contextSrv"]), + (t = e), + (n = [ + { + key: "refreshList", + value: function () { + var e = this; + return this.searchSrv + .search(this.query) + .then(function (t) { + return e.initDashboardList(t); + }) + .then(function () { + if (e.folderUid) + return se.b + .getFolderByUid(e.folderUid) + .then(function (t) { + (e.canSave = t.canSave), + e.canSave || (e.hasEditPermissionInFolders = !1), + e.$scope.$digest(); + }); + e.$scope.$digest(); + }); + }, + }, + { + key: "initDashboardList", + value: function (e) { + if ( + ((this.canMove = !1), + (this.canDelete = !1), + (this.selectAllChecked = !1), + (this.hasFilters = + this.query.query.length > 0 || + this.query.tag.length > 0 || + this.query.starred), + e) + ) { + this.sections = e; + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.sections[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + i.checked = !1; + var l = !0, + s = !1, + c = void 0; + try { + for ( + var u, f = i.items[Symbol.iterator](); + !(l = (u = f.next()).done); + l = !0 + ) + u.value.checked = !1; + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == f.return || f.return(); + } finally { + if (s) throw c; + } + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + this.folderId && + this.sections.length > 0 && + (this.sections[0].hideHeader = !0); + } else this.sections = []; + }, + }, + { + key: "selectionChanged", + value: function () { + var e = 0, + t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.sections[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) { + var l = o.value; + e += a.a.filter(l.items, { checked: !0 }).length; + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + var s = a.a.filter(this.sections, { checked: !0 }).length; + (this.canMove = e > 0), (this.canDelete = e > 0 || s > 0); + }, + }, + { + key: "getFoldersAndDashboardsToDelete", + value: function () { + var e = { folderUids: [], dashboardUids: [] }, + t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.sections[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) { + var l = o.value; + if (l.checked && 0 !== l.id) e.folderUids.push(l.uid); + else { + var s, + c = a.a.filter(l.items, { checked: !0 }); + (s = e.dashboardUids).push.apply( + s, + Do(a.a.map(c, "uid")) + ); + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + return e; + }, + }, + { + key: "getFolderIds", + value: function (e) { + var t = [], + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + l.checked && t.push(l.id); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + { + key: "delete", + value: function () { + var e, + t = this, + n = this.getFoldersAndDashboardsToDelete(), + r = n.folderUids.length, + a = n.dashboardUids.length, + o = "Do you want to delete the "; + r > 0 && a > 0 + ? ((o += "selected folder" + .concat(1 === r ? "" : "s", " and dashboard") + .concat(1 === a ? "" : "s", "?")), + (e = "All dashboards of the selected folder".concat( + 1 === r ? "" : "s", + " will also be deleted" + ))) + : (o += + r > 0 + ? "selected folder".concat( + 1 === r ? "" : "s", + " and all its dashboards?" + ) + : "selected dashboard".concat(1 === a ? "" : "s", "?")), + ke.b.emit(G.CoreEvents.showConfirmModal, { + title: "Delete", + text: o, + text2: e, + icon: "fa-trash", + yesText: "Delete", + onConfirm: function () { + t.deleteFoldersAndDashboards( + n.folderUids, + n.dashboardUids + ); + }, + }); + }, + }, + { + key: "deleteFoldersAndDashboards", + value: function (e, t) { + var n = this; + Object(He.a)(this.$scope)( + se.b.deleteFoldersAndDashboards(e, t).then(function () { + n.refreshList(); + }) + ); + }, + }, + { + key: "getDashboardsToMove", + value: function () { + var e = [], + t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.sections[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) { + var l = o.value, + s = a.a.filter(l.items, { checked: !0 }); + e.push.apply(e, Do(a.a.map(s, "uid"))); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + return e; + }, + }, + { + key: "moveTo", + value: function () { + var e = this.getDashboardsToMove(); + ke.b.emit(G.CoreEvents.showModal, { + templateHtml: + '<move-to-folder-modal dismiss="dismiss()" dashboards="model.dashboards" after-save="model.afterSave()"></move-to-folder-modal>', + modalClass: "modal--narrow", + model: { + dashboards: e, + afterSave: this.refreshList.bind(this), + }, + }); + }, + }, + { + key: "initTagFilter", + value: function () { + var e = this; + return this.searchSrv.getDashboardTags().then(function (t) { + (e.tagFilterOptions = [ + { term: "Filter By Tag", disabled: !0 }, + ].concat(t)), + (e.selectedTagFilter = e.tagFilterOptions[0]); + }); + }, + }, + { + key: "filterByTag", + value: function (e) { + return ( + -1 === a.a.indexOf(this.query.tag, e) && + this.query.tag.push(e), + this.refreshList() + ); + }, + }, + { + key: "onQueryChange", + value: function () { + return this.refreshList(); + }, + }, + { + key: "onTagFilterChange", + value: function () { + var e = this.filterByTag(this.selectedTagFilter.term); + return (this.selectedTagFilter = this.tagFilterOptions[0]), e; + }, + }, + { + key: "removeTag", + value: function (e, t) { + (this.query.tag = a.a.without(this.query.tag, e)), + this.refreshList(), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + { + key: "removeStarred", + value: function () { + return (this.query.starred = !1), this.refreshList(); + }, + }, + { + key: "onStarredFilterChange", + value: function () { + return ( + (this.query.starred = + "Yes" === this.selectedStarredFilter.text), + (this.selectedStarredFilter = this.starredFilterOptions[0]), + this.refreshList() + ); + }, + }, + { + key: "onSelectAllChanged", + value: function () { + var e = this, + t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.sections[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) { + var l = o.value; + l.hideHeader || (l.checked = this.selectAllChecked), + (l.items = a.a.map(l.items, function (t) { + return (t.checked = e.selectAllChecked), t; + })); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + this.selectionChanged(); + }, + }, + { + key: "clearFilters", + value: function () { + (this.query.query = ""), + (this.query.tag = []), + (this.query.starred = !1), + this.refreshList(); + }, + }, + { + key: "createDashboardUrl", + value: function () { + var e = "dashboard/new"; + return ( + this.folderId && (e += "?folderId=".concat(this.folderId)), e + ); + }, + }, + { + key: "importDashboardUrl", + value: function () { + var e = "dashboard/import"; + return ( + this.folderId && (e += "?folderId=".concat(this.folderId)), e + ); + }, + }, + ]) && Ao(t.prototype, n), + r && Ao(t, r), + e + ); + })(); + l.c.directive("manageDashboards", function () { + return { + restrict: "E", + templateUrl: + "public/app/core/components/manage_dashboards/manage_dashboards.html", + controller: No, + bindToController: !0, + controllerAs: "ctrl", + scope: { folderId: "=", folderUid: "=" }, + }; + }), + n.d(t, "d", function () { + return _t.a; + }), + n.d(t, "e", function () { + return Eo; + }), + n.d(t, "c", function () { + return l.c; + }), + n.d(t, "a", function () { + return ke.b; + }), + n.d(t, "b", function () { + return le.a; + }), + n.d(t, "f", function () { + return Co.b; + }); + }, + HJqT: function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e.time = "time"), + (e.number = "number"), + (e.string = "string"), + (e.boolean = "boolean"), + (e.other = "other"); + })(r || (r = {})); + }, + HPUJ: function (e, t) { + var n = "public/app/features/dashboard/components/DashLinks/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=page-action-bar>\n <h3 class=dashboard-settings__header>\n <a ng-click=ctrl.backToList()>Dashboard Links</a>\n <span ng-show="ctrl.mode === \'new\'"><i class="fa fa-fw fa-chevron-right"></i> New</span>\n <span ng-show="ctrl.mode === \'edit\'"><i class="fa fa-fw fa-chevron-right"></i> Edit</span>\n </h3>\n\n <div class=page-action-bar__spacer></div>\n <a type=button class="btn btn-primary" ng-click=ctrl.setupNew() ng-if="ctrl.dashboard.links.length > 0" ng-hide="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n New\n </a>\n</div>\n\n<div ng-if="ctrl.mode == \'list\'">\n <div ng-if="ctrl.dashboard.links.length === 0">\n <empty-list-cta on-click=ctrl.setupNew title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle />\n </div>\n\n <div ng-if="ctrl.dashboard.links.length > 0">\n <table class="filter-table filter-table--hover">\n <thead>\n <tr>\n <th>Type</th>\n <th>Info</th>\n <th colspan=3></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="link in ctrl.dashboard.links">\n <td class=pointer ng-click=ctrl.editLink(link)>\n <i class="fa fa-fw fa-external-link"></i>\n {{ link.type }}\n </td>\n <td>\n <div ng-if=link.title>\n {{ link.title }}\n </div>\n <div ng-if="!link.title && link.url">\n {{ link.url }}\n </div>\n <span ng-if="!link.title && link.tags" ng-repeat="tag in link.tags" tag-color-from-name=tag class="label label-tag" style=margin-right:6px>\n {{ tag }}\n </span>\n </td>\n <td style=width:1%>\n <i ng-click="ctrl.moveLink($index, -1)" ng-hide=$first class="pointer fa fa-arrow-up"></i>\n </td>\n <td style=width:1%>\n <i ng-click="ctrl.moveLink($index, 1)" ng-hide=$last class="pointer fa fa-arrow-down"></i>\n </td>\n <td style=width:1%>\n <a ng-click=ctrl.deleteLink($index) class="btn btn-danger btn-small" ng-hide=annotation.builtIn>\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n\n<div ng-if="ctrl.mode == \'edit\' || ctrl.mode == \'new\'">\n <div class=gf-form-group>\n <div class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-8">Type</span>\n <div class="gf-form-select-wrapper width-10">\n <select class=gf-form-input ng-model=ctrl.link.type ng-options="f for f in [\'dashboards\',\'link\']"></select>\n </div>\n </div>\n\n <div class=gf-form ng-show="ctrl.link.type === \'dashboards\'">\n <span class="gf-form-label width-8">With tags</span>\n <bootstrap-tagsinput ng-model=ctrl.link.tags tagclass="label label-tag" placeholder="add tags" style=margin-right:.25rem></bootstrap-tagsinput>\n </div>\n\n <gf-form-switch ng-show="ctrl.link.type === \'dashboards\'" class=gf-form label="As dropdown" checked=ctrl.link.asDropdown switch-class=max-width-4 label-class=width-8></gf-form-switch>\n <div class=gf-form ng-show="ctrl.link.type === \'dashboards\' && ctrl.link.asDropdown">\n <span class="gf-form-label width-8">Title</span>\n <input type=text ng-model=ctrl.link.title class="gf-form-input max-width-10" ng-model-onblur/>\n </div>\n <div ng-show="ctrl.link.type === \'link\'">\n <div class=gf-form>\n <li class="gf-form-label width-8">Url</li>\n <input type=text ng-model=ctrl.link.url class="gf-form-input width-20" ng-model-onblur/>\n </div>\n\n <div class=gf-form>\n <span class="gf-form-label width-8">Title</span>\n <input type=text ng-model=ctrl.link.title class="gf-form-input width-20" ng-model-onblur/>\n </div>\n\n <div class=gf-form>\n <span class="gf-form-label width-8">Tooltip</span>\n <input type=text ng-model=ctrl.link.tooltip class="gf-form-input width-20" placeholder="Open dashboard" ng-model-onblur/>\n </div>\n\n <div class=gf-form>\n <span class="gf-form-label width-8">Icon</span>\n <div class="gf-form-select-wrapper width-20">\n <select class=gf-form-input ng-model=ctrl.link.icon ng-options="k as k for (k, v) in ctrl.iconMap"></select>\n </div>\n </div>\n </div>\n </div>\n\n <div class=gf-form-group>\n <h5 class=section-heading>Include</h5>\n <div>\n <gf-form-switch class=gf-form label="Time range" checked=ctrl.link.keepTime switch-class=max-width-6 label-class=width-9></gf-form-switch>\n <gf-form-switch class=gf-form label="Variable values" checked=ctrl.link.includeVars switch-class=max-width-6 label-class=width-9></gf-form-switch>\n <gf-form-switch class=gf-form label="Open in new tab" checked=ctrl.link.targetBlank switch-class=max-width-6 label-class=width-9></gf-form-switch>\n </div>\n </div>\n </div>\n <button class="btn btn-primary" ng-if="ctrl.mode == \'new\'" ng-click=ctrl.addLink()>\n Add\n </button>\n <button class="btn btn-primary" ng-if="ctrl.mode == \'edit\'" ng-click=ctrl.saveLink()>\n Update\n </button>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + HXnQ: function (e, t) {}, + HmKx: function (e, t) { + var n = + "public/app/plugins/datasource/postgres/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n <div ng-if=ctrl.target.rawQuery>\n <div class=gf-form-inline>\n <div class="gf-form gf-form--grow">\n <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n </code-editor>\n </div>\n </div>\n </div>\n\n <div ng-if=!ctrl.target.rawQuery>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">FROM</label>\n <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n <label class="gf-form-label query-keyword width-7">Time column</label>\n <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n <label class="gf-form-label query-keyword width-9">\n Metric column\n <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n </label>\n <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n\n </div>\n\n <div class=gf-form-inline ng-repeat="selectParts in ctrl.selectParts">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">\n <span ng-show="$index === 0">SELECT</span> \n </label>\n </div>\n\n <div class=gf-form ng-repeat="part in selectParts">\n <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n </label>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">WHERE</label>\n </div>\n\n <div class=gf-form ng-repeat="part in ctrl.whereParts">\n <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change="ctrl.addWhereAction(part, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">\n <span>GROUP BY</span>\n </label>\n\n <sql-part-editor ng-repeat="part in ctrl.groupParts" part=part class="gf-form-label sql-part" handle-event="ctrl.handleGroupPartEvent(part, $index, $event)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change="ctrl.addGroupAction(part, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword">Format as</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleEditorMode() ng-show="ctrl.panelCtrl.panel.type !== \'table\'">\n <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n </label>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n </div>\n <div class=gf-form ng-show=ctrl.lastQueryMeta>\n <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n Generated SQL\n <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n </label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n <pre class="gf-form-pre alert alert-info">Time series:\n- return column named <i>time</i> (UTC in seconds or timestamp)\n- return column(s) with numeric datatype as values\nOptional:\n - return column named <i>metric</i> to represent the series name.\n - If multiple value columns are returned the metric column is used as prefix.\n - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -> column as "time"\n- $__timeEpoch -> extract(epoch from column) as "time"\n- $__timeFilter(column) -> column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n- $__timeGroup(column,\'5m\'[, fillvalue]) -> (extract(epoch from column)/300)::bigint*300\n by setting fillvalue grafana will fill in missing values according to the interval\n fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,\'5m\') -> (extract(epoch from column)/300)::bigint*300 AS "time"\n- $__unixEpochGroup(column,\'5m\') -> floor(column/300)*300\n- $__unixEpochGroupAlias(column,\'5m\') -> floor(column/300)*300 AS "time"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n $__timeGroup(date_time_col, \'1h\'),\n sum(value) as value\nFROM yourtable\nGROUP BY time\nORDER BY time\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> \'2017-04-21T05:01:17Z\'\n- $__timeTo() -> \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n </pre>\n </div>\n\n \n\n <div class=gf-form ng-show=ctrl.lastQueryError>\n <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n </div>\n\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + "I+An": function (e, t) { + var n = + "public/app/plugins/datasource/postgres/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=gf-form-group>\n <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n\t\t</div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event time-end. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'\n\n\nMacros:\n- $__time(column) -> column as "time"\n- $__timeEpoch -> extract(epoch from column) as "time"\n- $__timeFilter(column) -> column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> \'2017-04-21T05:01:17Z\'\n- $__timeTo() -> \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + IjGO: function (e, t, n) { + "use strict"; + var r = {}; + n.r(r), + n.d(r, "isMathString", function () { + return f; + }), + n.d(r, "parse", function () { + return d; + }), + n.d(r, "isValid", function () { + return p; + }), + n.d(r, "parseDateMath", function () { + return h; + }); + var a = {}; + n.r(a), + n.d(a, "getRelativeTimesList", function () { + return x; + }), + n.d(a, "describeTextRange", function () { + return j; + }), + n.d(a, "describeTimeRange", function () { + return S; + }), + n.d(a, "isValidTimeSpan", function () { + return E; + }); + var o = n("ijCd"), + i = n.n(o), + l = n("YiAA"), + s = n.n(l), + c = n("tAX7"), + u = ["y", "M", "w", "d", "h", "m", "s"]; + function f(e) { + return ( + !!e && + !( + "string" != typeof e || + ("now" !== e.substring(0, 3) && !e.includes("||")) + ) + ); + } + function d(e, t, n) { + if (e) { + if ("string" != typeof e) + return Object(c.f)(e) ? e : s()(e) ? Object(c.b)(e) : void 0; + var r, + a, + o, + i = ""; + return ( + "now" === e.substring(0, 3) + ? ((r = Object(c.d)(n)), (i = e.substring("now".length))) + : (-1 === (a = e.indexOf("||")) + ? ((o = e), (i = "")) + : ((o = e.substring(0, a)), (i = e.substring(a + 2))), + (r = Object(c.b)(o, c.a))), + i.length ? h(i, r, t) : r + ); + } + } + function p(e) { + var t = d(e); + return !!t && !!Object(c.f)(t) && t.isValid(); + } + function h(e, t, n) { + for ( + var r = e.replace(/\s/g, ""), a = t, o = 0, l = r.length; + o < l; + + ) { + var s, + c = r.charAt(o++), + f = void 0, + d = void 0; + if ("/" === c) f = 0; + else if ("+" === c) f = 1; + else { + if ("-" !== c) return; + f = 2; + } + if (isNaN(parseInt(r.charAt(o), 10))) d = 1; + else if (2 === r.length) d = r.charAt(o); + else { + for (var p = o; !isNaN(parseInt(r.charAt(o), 10)); ) + if (++o > 10) return; + d = parseInt(r.substring(p, o), 10); + } + if (0 === f && 1 !== d) return; + if (((s = r.charAt(o++)), !i()(u, s))) return; + 0 === f + ? n + ? a.endOf(s) + : a.startOf(s) + : 1 === f + ? a.add(d, s) + : 2 === f && a.subtract(d, s); + } + return a; + } + var m = n("xkGU"), + g = n.n(m), + b = n("bt/X"), + v = n.n(b), + y = { + s: { display: "second" }, + m: { display: "minute" }, + h: { display: "hour" }, + d: { display: "day" }, + w: { display: "week" }, + M: { display: "month" }, + y: { display: "year" }, + }, + w = [ + { from: "now/d", to: "now/d", display: "Today", section: 2 }, + { from: "now/d", to: "now", display: "Today so far", section: 2 }, + { from: "now/w", to: "now/w", display: "This week", section: 2 }, + { from: "now/w", to: "now", display: "This week so far", section: 2 }, + { from: "now/M", to: "now/M", display: "This month", section: 2 }, + { + from: "now/M", + to: "now", + display: "This month so far", + section: 2, + }, + { from: "now/y", to: "now/y", display: "This year", section: 2 }, + { from: "now/y", to: "now", display: "This year so far", section: 2 }, + { + from: "now-1d/d", + to: "now-1d/d", + display: "Yesterday", + section: 1, + }, + { + from: "now-2d/d", + to: "now-2d/d", + display: "Day before yesterday", + section: 1, + }, + { + from: "now-7d/d", + to: "now-7d/d", + display: "This day last week", + section: 1, + }, + { + from: "now-1w/w", + to: "now-1w/w", + display: "Previous week", + section: 1, + }, + { + from: "now-1M/M", + to: "now-1M/M", + display: "Previous month", + section: 1, + }, + { + from: "now-1y/y", + to: "now-1y/y", + display: "Previous year", + section: 1, + }, + { from: "now-5m", to: "now", display: "Last 5 minutes", section: 3 }, + { + from: "now-15m", + to: "now", + display: "Last 15 minutes", + section: 3, + }, + { + from: "now-30m", + to: "now", + display: "Last 30 minutes", + section: 3, + }, + { from: "now-1h", to: "now", display: "Last 1 hour", section: 3 }, + { from: "now-3h", to: "now", display: "Last 3 hours", section: 3 }, + { from: "now-6h", to: "now", display: "Last 6 hours", section: 3 }, + { from: "now-12h", to: "now", display: "Last 12 hours", section: 3 }, + { from: "now-24h", to: "now", display: "Last 24 hours", section: 3 }, + { from: "now-2d", to: "now", display: "Last 2 days", section: 0 }, + { from: "now-7d", to: "now", display: "Last 7 days", section: 0 }, + { from: "now-30d", to: "now", display: "Last 30 days", section: 0 }, + { from: "now-90d", to: "now", display: "Last 90 days", section: 0 }, + { from: "now-6M", to: "now", display: "Last 6 months", section: 0 }, + { from: "now-1y", to: "now", display: "Last 1 year", section: 0 }, + { from: "now-2y", to: "now", display: "Last 2 years", section: 0 }, + { from: "now-5y", to: "now", display: "Last 5 years", section: 0 }, + ], + O = {}; + function x(e, t) { + return v()(w, function (e) { + return (e.active = e.display === t), e.section; + }); + } + function k(e) { + return e.format("YYYY-MM-DD HH:mm:ss"); + } + function j(e) { + var t = 0 !== e.indexOf("+"); + -1 === e.indexOf("now") && (e = (t ? "now-" : "now") + e); + var n = O[e + " to now"]; + if (n) return n; + n = t ? { from: e, to: "now" } : { from: "now", to: e }; + var r = /^now([-+])(\d+)(\w)/.exec(e); + if (r) { + var a = r[3], + o = parseInt(r[2], 10), + i = y[a]; + i && + ((n.display = t ? "Last " : "Next "), + (n.display += o + " " + i.display), + (n.section = i.section), + o > 1 && (n.display += "s")); + } else (n.display = n.from + " to " + n.to), (n.invalid = !0); + return n; + } + function S(e) { + var t = O[e.from.toString() + " to " + e.to.toString()]; + if (t) return t.display; + if (Object(c.f)(e.from) && Object(c.f)(e.to)) + return k(e.from) + " to " + k(e.to); + if (Object(c.f)(e.from)) { + var n = d(e.to, !0); + return n ? k(e.from) + " to " + n.fromNow() : ""; + } + if (Object(c.f)(e.to)) { + var r = d(e.from, !1); + return r ? r.fromNow() + " to " + k(e.to) : ""; + } + return "now" === e.to.toString() + ? j(e.from).display + : e.from.toString() + " to " + e.to.toString(); + } + g()(w, function (e) { + O[e.from + " to " + e.to] = e; + }); + var E = function (e) { + return ( + 0 === e.indexOf("$") || 0 === e.indexOf("+$") || !0 !== j(e).invalid + ); + }, + C = function () { + return [ + { + label: "Africa", + options: [ + "Africa/Abidjan", + "Africa/Accra", + "Africa/Algiers", + "Africa/Bissau", + "Africa/Cairo", + "Africa/Casablanca", + "Africa/Ceuta", + "Africa/El_Aaiun", + "Africa/Johannesburg", + "Africa/Juba", + "Africa/Khartoum", + "Africa/Lagos", + "Africa/Maputo", + "Africa/Monrovia", + "Africa/Nairobi", + "Africa/Ndjamena", + "Africa/Sao_Tome", + "Africa/Tripoli", + "Africa/Tunis", + "Africa/Windhoek", + ], + }, + { + label: "America", + options: [ + "America/Adak", + "America/Anchorage", + "America/Araguaina", + "America/Argentina/Buenos_Aires", + "America/Argentina/Catamarca", + "America/Argentina/Cordoba", + "America/Argentina/Jujuy", + "America/Argentina/La_Rioja", + "America/Argentina/Mendoza", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Salta", + "America/Argentina/San_Juan", + "America/Argentina/San_Luis", + "America/Argentina/Tucuman", + "America/Argentina/Ushuaia", + "America/Asuncion", + "America/Atikokan", + "America/Bahia", + "America/Bahia_Banderas", + "America/Barbados", + "America/Belem", + "America/Belize", + "America/Blanc-Sablon", + "America/Boa_Vista", + "America/Bogota", + "America/Boise", + "America/Cambridge_Bay", + "America/Campo_Grande", + "America/Cancun", + "America/Caracas", + "America/Cayenne", + "America/Chicago", + "America/Chihuahua", + "America/Costa_Rica", + "America/Creston", + "America/Cuiaba", + "America/Curacao", + "America/Danmarkshavn", + "America/Dawson", + "America/Dawson_Creek", + "America/Denver", + "America/Detroit", + "America/Edmonton", + "America/Eirunepe", + "America/El_Salvador", + "America/Fort_Nelson", + "America/Fortaleza", + "America/Glace_Bay", + "America/Godthab", + "America/Goose_Bay", + "America/Grand_Turk", + "America/Guatemala", + "America/Guayaquil", + "America/Guyana", + "America/Halifax", + "America/Havana", + "America/Hermosillo", + "America/Indiana/Indianapolis", + "America/Indiana/Knox", + "America/Indiana/Marengo", + "America/Indiana/Petersburg", + "America/Indiana/Tell_City", + "America/Indiana/Vevay", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Inuvik", + "America/Iqaluit", + "America/Jamaica", + "America/Juneau", + "America/Kentucky/Louisville", + "America/Kentucky/Monticello", + "America/La_Paz", + "America/Lima", + "America/Los_Angeles", + "America/Maceio", + "America/Managua", + "America/Manaus", + "America/Martinique", + "America/Matamoros", + "America/Mazatlan", + "America/Menominee", + "America/Merida", + "America/Metlakatla", + "America/Mexico_City", + "America/Miquelon", + "America/Moncton", + "America/Monterrey", + "America/Montevideo", + "America/Nassau", + "America/New_York", + "America/Nipigon", + "America/Nome", + "America/Noronha", + "America/North_Dakota/Beulah", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/Ojinaga", + "America/Panama", + "America/Pangnirtung", + "America/Paramaribo", + "America/Phoenix", + "America/Port-au-Prince", + "America/Port_of_Spain", + "America/Porto_Velho", + "America/Puerto_Rico", + "America/Punta_Arenas", + "America/Rainy_River", + "America/Rankin_Inlet", + "America/Recife", + "America/Regina", + "America/Resolute", + "America/Rio_Branco", + "America/Santarem", + "America/Santiago", + "America/Santo_Domingo", + "America/Sao_Paulo", + "America/Scoresbysund", + "America/Sitka", + "America/St_Johns", + "America/Swift_Current", + "America/Tegucigalpa", + "America/Thule", + "America/Thunder_Bay", + "America/Tijuana", + "America/Toronto", + "America/Vancouver", + "America/Whitehorse", + "America/Winnipeg", + "America/Yakutat", + "America/Yellowknife", + ], + }, + { + label: "Antarctica", + options: [ + "Antarctica/Casey", + "Antarctica/Davis", + "Antarctica/DumontDUrville", + "Antarctica/Macquarie", + "Antarctica/Mawson", + "Antarctica/Palmer", + "Antarctica/Rothera", + "Antarctica/Syowa", + "Antarctica/Troll", + "Antarctica/Vostok", + ], + }, + { + label: "Asia", + options: [ + "Asia/Almaty", + "Asia/Amman", + "Asia/Anadyr", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Ashgabat", + "Asia/Atyrau", + "Asia/Baghdad", + "Asia/Baku", + "Asia/Bangkok", + "Asia/Barnaul", + "Asia/Beirut", + "Asia/Bishkek", + "Asia/Brunei", + "Asia/Chita", + "Asia/Choibalsan", + "Asia/Colombo", + "Asia/Damascus", + "Asia/Dhaka", + "Asia/Dili", + "Asia/Dubai", + "Asia/Dushanbe", + "Asia/Famagusta", + "Asia/Gaza", + "Asia/Hebron", + "Asia/Ho_Chi_Minh", + "Asia/Hong_Kong", + "Asia/Hovd", + "Asia/Irkutsk", + "Asia/Jakarta", + "Asia/Jayapura", + "Asia/Jerusalem", + "Asia/Kabul", + "Asia/Kamchatka", + "Asia/Karachi", + "Asia/Kathmandu", + "Asia/Khandyga", + "Asia/Kolkata", + "Asia/Krasnoyarsk", + "Asia/Kuala_Lumpur", + "Asia/Kuching", + "Asia/Macau", + "Asia/Magadan", + "Asia/Makassar", + "Asia/Manila", + "Asia/Nicosia", + "Asia/Novokuznetsk", + "Asia/Novosibirsk", + "Asia/Omsk", + "Asia/Oral", + "Asia/Pontianak", + "Asia/Pyongyang", + "Asia/Qatar", + "Asia/Qostanay", + "Asia/Qyzylorda", + "Asia/Riyadh", + "Asia/Sakhalin", + "Asia/Samarkand", + "Asia/Seoul", + "Asia/Shanghai", + "Asia/Singapore", + "Asia/Srednekolymsk", + "Asia/Taipei", + "Asia/Tashkent", + "Asia/Tbilisi", + "Asia/Tehran", + "Asia/Thimphu", + "Asia/Tokyo", + "Asia/Tomsk", + "Asia/Ulaanbaatar", + "Asia/Urumqi", + "Asia/Ust-Nera", + "Asia/Vladivostok", + "Asia/Yakutsk", + "Asia/Yangon", + "Asia/Yekaterinburg", + "Asia/Yerevan", + ], + }, + { + label: "Atlantic", + options: [ + "Atlantic/Azores", + "Atlantic/Bermuda", + "Atlantic/Canary", + "Atlantic/Cape_Verde", + "Atlantic/Faroe", + "Atlantic/Madeira", + "Atlantic/Reykjavik", + "Atlantic/South_Georgia", + "Atlantic/Stanley", + ], + }, + { + label: "Australia", + options: [ + "Australia/Adelaide", + "Australia/Brisbane", + "Australia/Broken_Hill", + "Australia/Currie", + "Australia/Darwin", + "Australia/Eucla", + "Australia/Hobart", + "Australia/Lindeman", + "Australia/Lord_Howe", + "Australia/Melbourne", + "Australia/Perth", + "Australia/Sydney", + ], + }, + { + label: "Europe", + options: [ + "Europe/Amsterdam", + "Europe/Andorra", + "Europe/Astrakhan", + "Europe/Athens", + "Europe/Belgrade", + "Europe/Berlin", + "Europe/Brussels", + "Europe/Bucharest", + "Europe/Budapest", + "Europe/Chisinau", + "Europe/Copenhagen", + "Europe/Dublin", + "Europe/Gibraltar", + "Europe/Helsinki", + "Europe/Istanbul", + "Europe/Kaliningrad", + "Europe/Kiev", + "Europe/Kirov", + "Europe/Lisbon", + "Europe/London", + "Europe/Luxembourg", + "Europe/Madrid", + "Europe/Malta", + "Europe/Minsk", + "Europe/Monaco", + "Europe/Moscow", + "Europe/Oslo", + "Europe/Paris", + "Europe/Prague", + "Europe/Riga", + "Europe/Rome", + "Europe/Samara", + "Europe/Saratov", + "Europe/Simferopol", + "Europe/Sofia", + "Europe/Stockholm", + "Europe/Tallinn", + "Europe/Tirane", + "Europe/Ulyanovsk", + "Europe/Uzhgorod", + "Europe/Vienna", + "Europe/Vilnius", + "Europe/Volgograd", + "Europe/Warsaw", + "Europe/Zaporozhye", + "Europe/Zurich", + ], + }, + { + label: "Indian", + options: [ + "Indian/Chagos", + "Indian/Christmas", + "Indian/Cocos", + "Indian/Kerguelen", + "Indian/Mahe", + "Indian/Maldives", + "Indian/Mauritius", + "Indian/Reunion", + ], + }, + { + label: "Pacific", + options: [ + "Pacific/Apia", + "Pacific/Auckland", + "Pacific/Bougainville", + "Pacific/Chatham", + "Pacific/Chuuk", + "Pacific/Easter", + "Pacific/Efate", + "Pacific/Enderbury", + "Pacific/Fakaofo", + "Pacific/Fiji", + "Pacific/Funafuti", + "Pacific/Galapagos", + "Pacific/Gambier", + "Pacific/Guadalcanal", + "Pacific/Guam", + "Pacific/Honolulu", + "Pacific/Kiritimati", + "Pacific/Kosrae", + "Pacific/Kwajalein", + "Pacific/Majuro", + "Pacific/Marquesas", + "Pacific/Nauru", + "Pacific/Niue", + "Pacific/Norfolk", + "Pacific/Noumea", + "Pacific/Pago_Pago", + "Pacific/Palau", + "Pacific/Pitcairn", + "Pacific/Pohnpei", + "Pacific/Port_Moresby", + "Pacific/Rarotonga", + "Pacific/Tahiti", + "Pacific/Tarawa", + "Pacific/Tongatapu", + "Pacific/Wake", + "Pacific/Wallis", + ], + }, + ]; + }; + n.d(t, "b", function () { + return c.a; + }), + n.d(t, "l", function () { + return c.g; + }), + n.d(t, "h", function () { + return c.e; + }), + n.d(t, "j", function () { + return c.f; + }), + n.d(t, "n", function () { + return c.i; + }), + n.d(t, "m", function () { + return c.h; + }), + n.d(t, "e", function () { + return c.b; + }), + n.d(t, "f", function () { + return c.c; + }), + n.d(t, "g", function () { + return c.d; + }), + n.d(t, "i", function () { + return C; + }), + n.d(t, "a", function () { + return "YYYY-MM-DD HH:mm:ss"; + }), + n.d(t, "c", function () { + return "YYYY-MM-DD HH:mm:ss.SSS"; + }), + n.d(t, "d", function () { + return r; + }), + n.d(t, "k", function () { + return a; + }); + }, + J4FA: function (e, t, n) { + "use strict"; + var r = { + gray98: "#f7f8fa", + gray95: "#e9edf2", + gray85: "#c7d0d9", + gray70: "#9fa7b3", + gray60: "#7B8087", + gray33: "#464c54", + gray25: "#343b40", + gray15: "#202226", + gray10: "#141619", + gray05: "#0b0c0e", + blue95: "#5794f2", + blue85: "#3274d9", + blue77: "#1f60c4", + red88: "#e02f44", + }, + a = { + name: "Grafana Default", + typography: { + fontFamily: { + sansSerif: "'Roboto', 'Helvetica Neue', Arial, sans-serif", + monospace: "Menlo, Monaco, Consolas, 'Courier New', monospace", + }, + size: { + base: "14px", + xs: "10px", + sm: "12px", + md: "14px", + lg: "18px", + }, + heading: { + h1: "28px", + h2: "24px", + h3: "21px", + h4: "18px", + h5: "16px", + h6: "14px", + }, + weight: { light: 300, regular: 400, semibold: 500, bold: 600 }, + lineHeight: { xs: 1, sm: 1.1, md: 1.5, lg: 2 }, + link: { decoration: "none", hoverDecoration: "none" }, + }, + breakpoints: { + xs: "0", + sm: "544px", + md: "769px", + lg: "992px", + xl: "1200px", + }, + spacing: { + insetSquishMd: "4px 8px", + d: "14px", + xxs: "2px", + xs: "4px", + sm: "8px", + md: "16px", + lg: "24px", + xl: "32px", + gutter: "30px", + formSpacingBase: 8, + formMargin: "".concat(32, "px"), + formFieldsetMargin: "".concat(16, "px"), + formLegendMargin: "0 0 ".concat(16, "px 0"), + formInputHeight: "".concat(32, "px"), + formButtonHeight: 32, + formInputPaddingHorizontal: "".concat(8, "px"), + formInputAffixPaddingHorizontal: "".concat(4, "px"), + formInputMargin: "".concat(16, "px"), + formLabelPadding: "0 0 0 2px", + formLabelMargin: "0 0 ".concat("4px", " 0"), + formValidationMessagePadding: "4px 8px", + formValidationMessageMargin: "4px 0 0 0", + }, + border: { + radius: { sm: "2px", md: "3px", lg: "5px" }, + width: { sm: "1px" }, + }, + height: { sm: "24px", md: "32px", lg: "48px" }, + panelPadding: 8, + panelHeaderHeight: 28, + zIndex: { + dropdown: "1000", + navbarFixed: "1020", + sidemenu: "1025", + tooltip: "1030", + modalBackdrop: "1040", + modal: "1050", + typeahead: "1060", + }, + }, + o = n("Obii"); + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var c = l({}, r, { + black: "#000000", + white: "#ffffff", + dark1: "#141414", + dark2: "#161719", + dark3: "#1f1f20", + dark4: "#212124", + dark5: "#222426", + dark6: "#262628", + dark7: "#292a2d", + dark8: "#2f2f32", + dark9: "#343436", + dark10: "#424345", + gray1: "#555555", + gray2: "#8e8e8e", + gray3: "#b3b3b3", + gray4: "#d8d9da", + gray5: "#ececec", + gray6: "#f4f5f8", + gray7: "#fbfbfb", + grayBlue: "#212327", + blueBase: "#3274d9", + blueShade: "#1f60c4", + blueLight: "#5794f2", + blueFaint: "#041126", + redBase: "#e02f44", + redShade: "#c4162a", + greenBase: "#299c46", + greenShade: "#23843b", + blue: "#33b5e5", + red: "#d44a3a", + yellow: "#ecbb13", + purple: "#9933cc", + variable: "#32d1df", + orange: "#eb7b18", + orangeDark: "#ff780a", + }), + u = l({}, a, { + type: o.GrafanaThemeType.Dark, + isDark: !0, + isLight: !1, + name: "Grafana Dark", + colors: l({}, c, { + inputBlack: "#09090b", + brandPrimary: c.orange, + brandSuccess: c.greenBase, + brandWarning: c.orange, + brandDanger: c.redBase, + queryRed: c.redBase, + queryGreen: "#74e680", + queryPurple: "#fe85fc", + queryKeyword: "#66d9ef", + queryOrange: c.orange, + online: c.greenBase, + warn: "#f79520", + critical: c.redBase, + bodyBg: c.dark2, + pageBg: c.dark2, + body: c.gray4, + text: c.gray4, + textStrong: c.white, + textWeak: c.gray2, + textEmphasis: c.gray5, + textFaint: c.dark5, + link: c.gray4, + linkDisabled: c.gray2, + linkHover: c.white, + linkExternal: c.blue, + headingColor: c.gray4, + pageHeaderBorder: c.dark9, + panelBg: c.dark4, + formLabel: c.gray70, + formDescription: c.gray60, + formLegend: c.gray85, + formInputBg: c.gray05, + formInputBgDisabled: c.gray10, + formInputBorder: c.gray25, + formInputBorderHover: c.gray33, + formInputBorderActive: c.blue95, + formInputBorderInvalid: c.red88, + formInputPlaceholderText: c.gray33, + formInputText: c.gray85, + formInputDisabledText: c.gray70, + formInputTextStrong: c.gray85, + formInputTextWhite: c.white, + formFocusOutline: c.blueShade, + formValidationMessageText: c.white, + formValidationMessageBg: c.red88, + formSwitchBg: c.gray25, + formSwitchBgActive: c.blueLight, + formSwitchBgHover: c.gray33, + formSwitchBgActiveHover: c.blueBase, + formSwitchBgDisabled: c.gray25, + formSwitchDot: c.gray15, + formCheckboxBg: c.dark5, + formCheckboxBgChecked: c.blueLight, + formCheckboxBgCheckedHover: c.blueBase, + formCheckboxCheckmark: c.gray25, + }), + background: { + dropdown: c.dark3, + scrollbar: c.dark9, + scrollbar2: c.dark9, + pageHeader: "linear-gradient(90deg, " + .concat(c.dark7, ", ") + .concat(c.black, ")"), + }, + shadow: { pageHeader: "inset 0px -4px 14px ".concat(c.dark3) }, + }); + function f(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? f(Object(n), !0).forEach(function (t) { + p(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : f(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function p(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var h, + m = d({}, r, { + black: "#000000", + white: "#ffffff", + dark1: "#1e2028", + dark2: "#41444b", + dark3: "#303133", + dark4: "#35373f", + dark5: "#41444b", + dark6: "#41444b", + dark7: "#41444b", + dark8: "#2f2f32", + dark9: "#343436", + dark10: "#424345", + gray1: "#52545c", + gray2: "#767980", + gray3: "#acb6bf", + gray4: "#c7d0d9", + gray5: "#dde4ed", + gray6: "#e9edf2", + gray7: "#f7f8fa", + grayBlue: "#212327", + blueBase: "#3274d9", + blueShade: "#1f60c4", + blueLight: "#5794f2", + blueFaint: "#f5f9ff", + redBase: "#e02f44", + redShade: "#c4162a", + greenBase: "#3eb15b", + greenShade: "#369b4f", + blue: "#0083b3", + red: "#d44939", + yellow: "#ff851b", + purple: "#9954bb", + variable: "#007580", + orange: "#ff7941", + orangeDark: "#ed5700", + }), + g = d({}, a, { + type: o.GrafanaThemeType.Light, + isDark: !1, + isLight: !0, + name: "Grafana Light", + colors: d({}, m, { + variable: m.blue, + inputBlack: "#09090b", + brandPrimary: m.orange, + brandSuccess: m.greenBase, + brandWarning: m.orange, + brandDanger: m.redBase, + queryRed: m.redBase, + queryGreen: m.greenBase, + queryPurple: m.purple, + queryKeyword: m.blueBase, + queryOrange: m.orange, + online: m.greenShade, + warn: "#f79520", + critical: m.redShade, + bodyBg: m.gray7, + pageBg: m.gray7, + body: m.gray1, + text: m.gray1, + textStrong: m.dark2, + textWeak: m.gray2, + textEmphasis: m.dark5, + textFaint: m.dark4, + link: m.gray1, + linkDisabled: m.gray3, + linkHover: m.dark1, + linkExternal: m.blueLight, + headingColor: m.gray1, + pageHeaderBorder: m.gray4, + panelBg: m.white, + formLabel: m.gray33, + formDescription: m.gray33, + formLegend: m.gray25, + formInputBg: m.white, + formInputBgDisabled: m.gray95, + formInputBorder: m.gray85, + formInputBorderHover: m.gray70, + formInputBorderActive: m.blue77, + formInputBorderInvalid: m.red88, + formInputText: m.gray25, + formInputPlaceholderText: m.gray70, + formInputDisabledText: m.gray33, + formInputTextStrong: m.gray25, + formInputTextWhite: m.white, + formFocusOutline: m.blueLight, + formValidationMessageText: m.white, + formValidationMessageBg: m.red88, + formSwitchBg: m.gray85, + formSwitchBgActive: m.blueShade, + formSwitchBgHover: m.gray3, + formSwitchBgActiveHover: m.blueBase, + formSwitchBgDisabled: m.gray4, + formSwitchDot: m.white, + formCheckboxBg: m.white, + formCheckboxBgChecked: m.blueShade, + formCheckboxBgCheckedHover: m.blueBase, + formCheckboxCheckmark: m.white, + }), + background: { + dropdown: m.white, + scrollbar: m.gray5, + scrollbar2: m.gray5, + pageHeader: "linear-gradient(90deg, " + .concat(m.white, ", ") + .concat(m.gray7, ")"), + }, + shadow: { pageHeader: "inset 0px -3px 10px ".concat(m.gray6) }, + }); + n.d(t, "a", function () { + return b; + }), + n.d(t, "b", function () { + return v; + }); + var b = function (e) { + return (h && h(e)) || ("light" === e ? g : u); + }, + v = function (e) { + return ( + (h = e), + function () { + h = null; + } + ); + }; + }, + J4KJ: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return u; + }), + n.d(t, "h", function () { + return d; + }), + n.d(t, "g", function () { + return p; + }), + n.d(t, "a", function () { + return h; + }), + n.d(t, "d", function () { + return m; + }), + n.d(t, "f", function () { + return g; + }), + n.d(t, "e", function () { + return b; + }), + n.d(t, "b", function () { + return v; + }); + var r = n("t8hP"), + a = n("UvM7"), + o = n("jGYO"), + i = n("KyLG"), + l = n("3SGO"); + function s(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function c(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + s(o, r, a, i, l, "next", e); + } + function l(e) { + s(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function u(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(r.getBackendSrv)().get( + "/api/dashboards/id/".concat(e, "/permissions") + ) + ); + case 2: + (a = t.sent), n(Object(i.k)(a)); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function f(e) { + return { + userId: e.userId, + teamId: e.teamId, + role: e.role, + permission: e.permission, + }; + } + function d(e, t, n) { + return (function () { + var a = c( + regeneratorRuntime.mark(function a(o, i) { + var l, s, c, d, p, h, m, g, b, v; + return regeneratorRuntime.wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + (l = i()), + (s = l.dashboard), + (c = []), + (d = !0), + (p = !1), + (h = void 0), + (a.prev = 5), + (m = s.permissions[Symbol.iterator]()); + case 7: + if ((d = (g = m.next()).done)) { + a.next = 17; + break; + } + if (!(b = g.value).inherited) { + a.next = 11; + break; + } + return a.abrupt("continue", 14); + case 11: + (v = f(b)), t === b && (v.permission = n), c.push(v); + case 14: + (d = !0), (a.next = 7); + break; + case 17: + a.next = 23; + break; + case 19: + (a.prev = 19), + (a.t0 = a.catch(5)), + (p = !0), + (h = a.t0); + case 23: + (a.prev = 23), + (a.prev = 24), + d || null == m.return || m.return(); + case 26: + if (((a.prev = 26), !p)) { + a.next = 29; + break; + } + throw h; + case 29: + return a.finish(26); + case 30: + return a.finish(23); + case 31: + return ( + (a.next = 33), + Object( + r.getBackendSrv + )().post( + "/api/dashboards/id/".concat(e, "/permissions"), + { items: c } + ) + ); + case 33: + return (a.next = 35), o(u(e)); + case 35: + case "end": + return a.stop(); + } + }, + a, + null, + [ + [5, 19, 23, 31], + [24, , 26, 30], + ] + ); + }) + ); + return function (e, t) { + return a.apply(this, arguments); + }; + })(); + } + function p(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(a, o) { + var i, l, s, c, d, p, h, m; + return regeneratorRuntime.wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + (i = o().dashboard), + (l = []), + (s = !0), + (c = !1), + (d = void 0), + (n.prev = 5), + (p = i.permissions[Symbol.iterator]()); + case 7: + if ((s = (h = p.next()).done)) { + n.next = 15; + break; + } + if (!(m = h.value).inherited && m !== t) { + n.next = 11; + break; + } + return n.abrupt("continue", 12); + case 11: + l.push(f(m)); + case 12: + (s = !0), (n.next = 7); + break; + case 15: + n.next = 21; + break; + case 17: + (n.prev = 17), + (n.t0 = n.catch(5)), + (c = !0), + (d = n.t0); + case 21: + (n.prev = 21), + (n.prev = 22), + s || null == p.return || p.return(); + case 24: + if (((n.prev = 24), !c)) { + n.next = 27; + break; + } + throw d; + case 27: + return n.finish(24); + case 28: + return n.finish(21); + case 29: + return ( + (n.next = 31), + Object( + r.getBackendSrv + )().post( + "/api/dashboards/id/".concat(e, "/permissions"), + { items: l } + ) + ); + case 31: + return (n.next = 33), a(u(e)); + case 33: + case "end": + return n.stop(); + } + }, + n, + null, + [ + [5, 17, 21, 29], + [22, , 24, 28], + ] + ); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + } + function h(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(a, o) { + var i, l, s, c, d, p, h, m, g; + return regeneratorRuntime.wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + (i = o()), + (l = i.dashboard), + (s = []), + (c = !0), + (d = !1), + (p = void 0), + (n.prev = 5), + (h = l.permissions[Symbol.iterator]()); + case 7: + if ((c = (m = h.next()).done)) { + n.next = 15; + break; + } + if (!(g = m.value).inherited) { + n.next = 11; + break; + } + return n.abrupt("continue", 12); + case 11: + s.push(f(g)); + case 12: + (c = !0), (n.next = 7); + break; + case 15: + n.next = 21; + break; + case 17: + (n.prev = 17), + (n.t0 = n.catch(5)), + (d = !0), + (p = n.t0); + case 21: + (n.prev = 21), + (n.prev = 22), + c || null == h.return || h.return(); + case 24: + if (((n.prev = 24), !d)) { + n.next = 27; + break; + } + throw p; + case 27: + return n.finish(24); + case 28: + return n.finish(21); + case 29: + return ( + s.push({ + userId: t.userId, + teamId: t.teamId, + role: t.role, + permission: t.permission, + }), + (n.next = 32), + Object( + r.getBackendSrv + )().post( + "/api/dashboards/id/".concat(e, "/permissions"), + { items: s } + ) + ); + case 32: + return (n.next = 34), a(u(e)); + case 34: + case "end": + return n.stop(); + } + }, + n, + null, + [ + [5, 17, 21, 29], + [22, , 24, 28], + ] + ); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + } + function m(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(i) { + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + Object(r.getBackendSrv)().post( + "/api/dashboards/import", + e + ) + ); + case 2: + i(Object(l.b)(Object(a.b)("Dashboard Imported", t))), + i(Object(o.b)()); + case 4: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + } + function g(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(r.getBackendSrv)().delete( + "/api/dashboards/".concat(e) + ) + ); + case 2: + n(Object(o.b)()); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function b(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n, r) { + var a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ((a = r().plugins.panels[e.type])) { + t.next = 5; + break; + } + return (t.next = 4), n(Object(o.a)(e.type)); + case 4: + a = t.sent; + case 5: + e.plugin || e.pluginLoaded(a), + n(Object(i.l)({ panelId: e.id, plugin: a })); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + } + function v(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(r, a) { + var l, s, c; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e.type !== t) { + n.next = 2; + break; + } + return n.abrupt("return"); + case 2: + if (((l = a()), (s = l.plugins.panels[t]))) { + n.next = 8; + break; + } + return (n.next = 7), r(Object(o.a)(t)); + case 7: + s = n.sent; + case 8: + (c = l.dashboard.panels[e.id].angularComponent) && + (c.destroy(), + r( + Object(i.n)({ panelId: e.id, angularComponent: null }) + )), + e.changePlugin(s), + r(Object(i.l)({ panelId: e.id, plugin: s })); + case 12: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + } + }, + J9Im: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return l; + }), + n.d(t, "b", function () { + return u; + }); + var r = n("zdiy"), + a = n.n(r), + o = n("kDLi"), + i = n("Obii"); + var l = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.datasources = {}), + (this.panels = {}), + (this.minRefreshInterval = ""), + (this.appSubUrl = ""), + (this.windowTitlePrefix = ""), + (this.buildInfo = {}), + (this.newPanelTitle = ""), + (this.externalUserMngLinkUrl = ""), + (this.externalUserMngLinkName = ""), + (this.externalUserMngInfo = ""), + (this.allowOrgCreate = !1), + (this.disableLoginForm = !1), + (this.defaultDatasource = ""), + (this.alertingEnabled = !1), + (this.alertingErrorOrTimeout = ""), + (this.alertingNoDataOrNullValues = ""), + (this.alertingMinInterval = 1), + (this.authProxyEnabled = !1), + (this.exploreEnabled = !1), + (this.ldapEnabled = !1), + (this.samlEnabled = !1), + (this.autoAssignOrg = !0), + (this.verifyEmailEnabled = !1), + (this.disableUserSignUp = !1), + (this.viewersCanEdit = !1), + (this.editorsCanAdmin = !1), + (this.disableSanitizeHtml = !1), + (this.pluginsToPreload = []), + (this.featureToggles = { + transformations: !1, + inspect: !1, + expressions: !1, + newEdit: !1, + meta: !1, + newVariables: !1, + }), + (this.licenseInfo = {}), + (this.phantomJSRenderer = !1), + (this.theme = t.bootData.user.lightTheme + ? Object(o.getTheme)(i.GrafanaThemeType.Light) + : Object(o.getTheme)(i.GrafanaThemeType.Dark)); + a()( + this, + { + datasources: {}, + windowTitlePrefix: "Grafana - ", + panels: {}, + newPanelTitle: "Panel Title", + playlist_timespan: "1m", + unsaved_changes_warning: !0, + appSubUrl: "", + buildInfo: { + version: "v1.0", + commit: "1", + env: "production", + isEnterprise: !1, + }, + viewersCanEdit: !1, + editorsCanAdmin: !1, + disableSanitizeHtml: !1, + }, + t + ); + }, + s = window.grafanaBootData || { settings: {}, user: {}, navTree: [] }, + c = s.settings; + c.bootData = s; + var u = new l(c); + }, + JL5c: function (e, t, n) { + "use strict"; + n.r(t), + n.d(t, "base64StringToArrowTable", function () { + return o; + }), + n.d(t, "arrowTableToDataFrame", function () { + return s; + }), + n.d(t, "grafanaDataFrameToArrowTable", function () { + return u; + }), + n.d(t, "resultsToDataFrames", function () { + return f; + }); + var r = n("KgU3"), + a = n("3+te"); + function o(e) { + var t = atob(e), + n = Uint8Array.from(t, function (e) { + return e.charCodeAt(0); + }); + return a.Table.from(n); + } + function i(e) { + return e || void 0; + } + function l(e) { + if (e && e.length && "{}" !== e) + try { + return JSON.parse(e); + } catch (t) { + console.warn("Error reading JSON from arrow metadata: ", e); + } + } + function s(e) { + for (var t = [], n = 0; n < e.numCols; n++) { + var o = e.getColumnAt(n); + if (o) { + var s = e.schema.fields[n], + u = r.FieldType.other, + f = o; + switch (s.typeId) { + case a.ArrowType.Decimal: + case a.ArrowType.Int: + case a.ArrowType.FloatingPoint: + u = r.FieldType.number; + break; + case a.ArrowType.Bool: + u = r.FieldType.boolean; + break; + case a.ArrowType.Timestamp: + u = r.FieldType.time; + break; + case a.ArrowType.Utf8: + u = r.FieldType.string; + break; + default: + console.log("UNKNOWN Type:", s); + } + t.push({ + name: c(o.name), + type: u, + values: f, + config: l(o.metadata.get("config")) || {}, + labels: l(o.metadata.get("labels")), + }); + } + } + var d = e.schema.metadata; + return { + fields: t, + length: e.length, + refId: i(d.get("refId")), + name: i(d.get("name")), + meta: l(d.get("meta")), + table: e, + }; + } + function c(e) { + var t = e.indexOf("🦥: "); + return t > 0 ? e.substring(t + "🦥: ".length) : e; + } + function u(e) { + var t = e.table; + if (t instanceof a.Table) return t; + var n = new Set(), + o = (t = a.Table.new( + e.fields.map(function (e, t) { + var o = e.name; + n.has(e.name) && (o = "".concat(t).concat("🦥: ").concat(e.name)), + n.add(o); + var i = a.Column.new( + o, + (function (e) { + var t; + t = + e.type === r.FieldType.number + ? new a.Float64() + : e.type === r.FieldType.time + ? new a.TimestampMillisecond() + : e.type === r.FieldType.boolean + ? new a.Bool() + : (e.type, r.FieldType.string, new a.Utf8()); + var n = a.Builder.new({ type: t, nullValues: [null] }); + return ( + e.values.toArray().forEach(n.append.bind(n)), + n.finish().toVector() + ); + })(e) + ); + return ( + e.labels && i.metadata.set("labels", JSON.stringify(e.labels)), + e.config && i.metadata.set("config", JSON.stringify(e.config)), + i + ); + }) + )).schema.metadata; + return ( + e.name && o.set("name", e.name), + e.refId && o.set("refId", e.refId), + e.meta && o.set("meta", JSON.stringify(e.meta)), + t + ); + } + function f(e) { + for ( + var t = [], n = 0, r = Object.values(e.results); + n < r.length; + n++ + ) { + var a = r[n]; + if (a.dataframes) { + var i = !0, + l = !1, + c = void 0; + try { + for ( + var u, f = a.dataframes[Symbol.iterator](); + !(i = (u = f.next()).done); + i = !0 + ) { + var d = o(u.value); + t.push(s(d)); + } + } catch (e) { + (l = !0), (c = e); + } finally { + try { + i || null == f.return || f.return(); + } finally { + if (l) throw c; + } + } + } + } + return t; + } + }, + K47g: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("1524"), + i = n("bMS5"), + l = n("Obii"), + s = n("eXZ6"), + c = n("ZFWI"), + u = n("S5bw"), + f = n("67Y/"), + d = n("WnbS"), + p = n("PbtU"), + h = n("5kRJ"), + m = n("kHZm"), + g = n("4RCQ"); + function b(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function v(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + b(o, r, a, i, l, "next", e); + } + function l(e) { + b(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function y(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function w(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? y(Object(n), !0).forEach(function (t) { + O(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : y(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function O(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function x(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var k = 100; + var j = (function () { + function e() { + var t = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.pipeDataToSubject = function (e) { + t.subject.next(e), (t.lastResult = e); + }), + (this.subject = new u.a(1)); + } + var t, n, a, o; + return ( + (t = e), + (n = [ + { + key: "getData", + value: function () { + var e = this, + t = + !(arguments.length > 0 && void 0 !== arguments[0]) || + arguments[0]; + return t + ? this.subject.pipe( + Object(f.a)(function (t) { + return e.hasTransformations() + ? w({}, t, { + series: Object(l.transformDataFrame)( + e.transformations, + t.series + ), + }) + : t; + }) + ) + : this.subject.pipe(); + }, + }, + { + key: "hasTransformations", + value: function () { + return ( + c.a.featureToggles.transformations && + this.transformations && + this.transformations.length > 0 + ); + }, + }, + { + key: "run", + value: + ((o = v( + regeneratorRuntime.mark(function e(t) { + var n, a, o, i, s, c, u, f, d, b, v, y, w, O, x, j; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = t.queries), + (a = t.timezone), + (o = t.datasource), + (i = t.panelId), + (s = t.dashboardId), + (c = t.timeRange), + (u = t.timeInfo), + (f = t.cacheTimeout), + (d = t.widthPixels), + (b = t.maxDataPoints), + (v = t.scopedVars), + (y = t.minInterval), + !Object(g.b)(o)) + ) { + e.next = 4; + break; + } + return ( + this.pipeToSubject(Object(g.c)(t)), + e.abrupt("return") + ); + case 4: + return ( + ((w = { + app: l.CoreApp.Dashboard, + requestId: "Q" + k++, + timezone: a, + panelId: i, + dashboardId: s, + range: c, + timeInfo: u, + interval: "", + intervalMs: 0, + targets: Object(r.cloneDeep)(n), + maxDataPoints: b || d, + scopedVars: v || {}, + cacheTimeout: f, + startTime: Date.now(), + }).rangeRaw = c.raw), + (e.prev = 6), + (e.next = 9), + S(o, w.scopedVars) + ); + case 9: + (O = e.sent), + (w.targets = w.targets.map(function (e) { + return ( + e.datasource || (e.datasource = O.name), e + ); + })), + (x = y + ? h.b.replace(y, w.scopedVars) + : O.interval), + (j = p.a.calculateInterval(c, d, x)), + (w.scopedVars = Object.assign( + {}, + w.scopedVars, + { + __interval: { + text: j.interval, + value: j.interval, + }, + __interval_ms: { + text: j.intervalMs.toString(), + value: j.intervalMs, + }, + } + )), + (w.interval = j.interval), + (w.intervalMs = j.intervalMs), + this.pipeToSubject(Object(m.c)(O, w)), + (e.next = 22); + break; + case 19: + (e.prev = 19), + (e.t0 = e.catch(6)), + console.log("PanelQueryRunner Error", e.t0); + case 22: + case "end": + return e.stop(); + } + }, + e, + this, + [[6, 19]] + ); + }) + )), + function (e) { + return o.apply(this, arguments); + }), + }, + { + key: "pipeToSubject", + value: function (e) { + var t = this; + this.subscription && this.subscription.unsubscribe(), + (this.subscription = e.subscribe({ + next: function (e) { + (t.lastResult = Object(m.b)(e, t.lastResult)), + t.subject.next(t.lastResult); + }, + })); + }, + }, + { + key: "setTransformations", + value: function (e) { + this.transformations = e; + }, + }, + { + key: "destroy", + value: function () { + this.subject && this.subject.complete(), + this.subscription && this.subscription.unsubscribe(); + }, + }, + { + key: "getLastResult", + value: function () { + return this.lastResult; + }, + }, + ]) && x(t.prototype, n), + a && x(t, a), + e + ); + })(); + function S(e, t) { + return E.apply(this, arguments); + } + function E() { + return (E = v( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!t || !t.query) { + e.next = 2; + break; + } + return e.abrupt("return", t); + case 2: + return (e.next = 4), Object(d.a)().get(t, n); + case 4: + return e.abrupt("return", e.sent); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + var C = n("t9fZ"); + function P(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function T(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function D(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "b", function () { + return A; + }), + n.d(t, "c", function () { + return _; + }), + n.d(t, "a", function () { + return R; + }); + var A = Object(l.eventFactory)("panel-added"), + _ = Object(l.eventFactory)("panel-removed"), + N = { + events: !0, + fullscreen: !0, + isEditing: !0, + isInView: !0, + hasRefreshed: !0, + cachedPluginOptions: !0, + plugin: !0, + queryRunner: !0, + }, + M = { + id: !0, + gridPos: !0, + type: !0, + title: !0, + scopedVars: !0, + repeat: !0, + repeatIteration: !0, + repeatPanelId: !0, + repeatDirection: !0, + repeatedByRow: !0, + minSpan: !0, + collapsed: !0, + panels: !0, + targets: !0, + datasource: !0, + timeFrom: !0, + timeShift: !0, + hideTimeOverride: !0, + description: !0, + links: !0, + fullscreen: !0, + isEditing: !0, + hasRefreshed: !0, + events: !0, + cacheTimeout: !0, + cachedPluginOptions: !0, + transparent: !0, + pluginVersion: !0, + queryRunner: !0, + transformations: !0, + }, + I = { + gridPos: { x: 0, y: 0, h: 3, w: 6 }, + targets: [{ refId: "A" }], + cachedPluginOptions: {}, + transparent: !1, + options: {}, + }, + R = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.events = new o.a()), + (this.datasource = null), + this.restoreModel(t); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "restoreModel", + value: function (e) { + for (var t in e) this[t] = e[t]; + a.a.defaultsDeep(this, a.a.cloneDeep(I)), + this.ensureQueryIds(); + }, + }, + { + key: "ensureQueryIds", + value: function () { + if (this.targets && a.a.isArray(this.targets)) { + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, o = this.targets[Symbol.iterator](); + !(e = (r = o.next()).done); + e = !0 + ) { + var l = r.value; + l.refId || (l.refId = Object(i.b)(this.targets)); + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == o.return || o.return(); + } finally { + if (t) throw n; + } + } + } + }, + }, + { + key: "getOptions", + value: function () { + return this.options; + }, + }, + { + key: "updateOptions", + value: function (e) { + (this.options = e), this.render(); + }, + }, + { + key: "getSaveModel", + value: function () { + var e = {}; + for (var t in this) + !N[t] && + this.hasOwnProperty(t) && + (a.a.isEqual(this[t], I[t]) || + (e[t] = a.a.cloneDeep(this[t]))); + return e; + }, + }, + { + key: "setViewMode", + value: function (e, t) { + (this.fullscreen = e), + (this.isEditing = t), + this.events.emit(l.PanelEvents.viewModeChanged); + }, + }, + { + key: "updateGridPos", + value: function (e) { + var t = !1; + (this.gridPos.w === e.w && this.gridPos.h === e.h) || + (t = !0), + (this.gridPos.x = e.x), + (this.gridPos.y = e.y), + (this.gridPos.w = e.w), + (this.gridPos.h = e.h), + t && this.events.emit(l.PanelEvents.panelSizeChanged); + }, + }, + { + key: "resizeDone", + value: function () { + this.events.emit(l.PanelEvents.panelSizeChanged); + }, + }, + { + key: "refresh", + value: function () { + (this.hasRefreshed = !0), + this.events.emit(l.PanelEvents.refresh); + }, + }, + { + key: "render", + value: function () { + this.hasRefreshed + ? this.events.emit(l.PanelEvents.render) + : this.refresh(); + }, + }, + { + key: "initialized", + value: function () { + this.events.emit(l.PanelEvents.panelInitialized); + }, + }, + { + key: "getOptionsToRemember", + value: function () { + var e = this; + return Object.keys(this).reduce(function (t, n) { + return N[n] || M[n] + ? t + : (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? P(Object(n), !0).forEach(function (t) { + T(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : P(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, t, T({}, n, e[n])); + }, {}); + }, + }, + { + key: "restorePanelOptions", + value: function (e) { + var t = this, + n = this.cachedPluginOptions[e] || {}; + Object.keys(n).map(function (e) { + t[e] = n[e]; + }); + }, + }, + { + key: "applyPluginOptionDefaults", + value: function (e) { + e.angularConfigCtrl || + (this.options = a.a.mergeWith( + {}, + e.defaults, + this.options || {}, + function (e, t) { + if (a.a.isArray(t)) return t; + } + )); + }, + }, + { + key: "pluginLoaded", + value: function (e) { + if ( + ((this.plugin = e), + this.applyPluginOptionDefaults(e), + e.panel && e.onPanelMigration) + ) { + var t = F(e); + t !== this.pluginVersion && + ((this.options = e.onPanelMigration(this)), + (this.pluginVersion = t)); + } + this.applyPluginOptionDefaults(e); + }, + }, + { + key: "changePlugin", + value: function (e) { + var t = e.meta.id, + n = this.getOptionsToRemember(), + r = this.type, + o = !!this.plugin.angularPanelCtrl, + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = a.a.keys(this)[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = c.value; + M[f] || delete this[f]; + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + if ( + ((this.cachedPluginOptions[r] = n), + this.restorePanelOptions(t), + e.onPanelTypeChanged) + ) { + var d = {}; + o + ? (d = { angular: n }) + : n && n.options && (d = n.options), + (this.options = this.options || {}), + Object.assign( + this.options, + e.onPanelTypeChanged(this.options, r, d) + ); + } + (this.type = t), + (this.plugin = e), + this.applyPluginOptionDefaults(e), + e.onPanelMigration && (this.pluginVersion = F(e)); + }, + }, + { + key: "addQuery", + value: function (e) { + ((e = e || { refId: "A" }).refId = Object(i.b)(this.targets)), + this.targets.push(e); + }, + }, + { + key: "changeQuery", + value: function (e, t) { + (e.refId = this.targets[t].refId), + (this.targets = this.targets.map(function (n, r) { + return r === t ? e : n; + })); + }, + }, + { + key: "getEditClone", + value: function () { + var t = this.getSaveModel(); + t.id = s.c; + var n = new e(t); + return ( + this.getQueryRunner() + .getData() + .pipe(Object(C.a)(1)) + .subscribe(function (e) { + return n.getQueryRunner().pipeDataToSubject(e); + }), + n + ); + }, + }, + { + key: "getQueryRunner", + value: function () { + return ( + this.queryRunner || + ((this.queryRunner = new j()), + this.setTransformations(this.transformations)), + this.queryRunner + ); + }, + }, + { + key: "hasTitle", + value: function () { + return this.title && this.title.length > 0; + }, + }, + { + key: "isAngularPlugin", + value: function () { + return this.plugin && !!this.plugin.angularPanelCtrl; + }, + }, + { + key: "destroy", + value: function () { + this.events.removeAllListeners(), + this.queryRunner && + (this.queryRunner.destroy(), (this.queryRunner = null)); + }, + }, + { + key: "setTransformations", + value: function (e) { + (this.transformations = e), + this.getQueryRunner().setTransformations(e); + }, + }, + ]) && D(t.prototype, n), + r && D(t, r), + e + ); + })(); + function F(e) { + return e && e.meta.info.version + ? e.meta.info.version + : c.b.buildInfo.version; + } + }, + KBRh: function (e, t) {}, + KODV: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("6WZ+"), + i = n("kDLi"), + l = n("kDDq"), + s = n("JEAp"), + c = n("ttS0"); + function u() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n padding: 8px 16px;\n background: black;\n height: 400px;\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + var f = function (e) { + var t = e.dashboard, + n = e.onCancel, + o = Object(r.useMemo)( + function () { + var e = t.getSaveModelClone(); + return delete e.id, e; + }, + [t] + ), + f = Object(r.useCallback)( + function () { + return JSON.stringify(o, null, 2); + }, + [t] + ), + d = Object(r.useCallback)( + function () { + var e = new Blob([JSON.stringify(o, null, 2)], { + type: "application/json;charset=utf-8", + }); + Object(s.saveAs)( + e, + t.title + "-" + new Date().getTime() + ".json" + ); + }, + [o] + ); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + i.VerticalGroup, + { spacing: "lg" }, + a.a.createElement( + "small", + null, + "This dashboard cannot be saved from Grafana's UI since it has been provisioned from another source. Copy the JSON or save it to a file below. Then you can update your dashboard in corresponding provisioning source.", + a.a.createElement("br", null), + a.a.createElement( + "i", + null, + "See", + " ", + a.a.createElement( + "a", + { + className: "external-link", + href: + "http://docs.grafana.org/administration/provisioning/#dashboards", + target: "_blank", + }, + "documentation" + ), + " ", + "for more information about provisioning." + ) + ), + a.a.createElement( + "div", + null, + a.a.createElement("strong", null, "File path: "), + " ", + t.meta.provisionedExternalId + ), + a.a.createElement( + "div", + { className: Object(l.css)(u()) }, + a.a.createElement( + i.CustomScrollbar, + null, + a.a.createElement(i.JSONFormatter, { json: o, open: 1 }) + ) + ), + a.a.createElement( + i.HorizontalGroup, + null, + a.a.createElement( + c.a, + { text: f, elType: i.Button }, + "Copy JSON to clipboard" + ), + a.a.createElement( + i.Button, + { onClick: d }, + "Save JSON to file" + ), + a.a.createElement( + i.Forms.Button, + { variant: "secondary", onClick: n }, + "Cancel" + ) + ) + ) + ); + }, + d = function (e) { + var t = e.dashboard, + n = e.onDismiss; + return a.a.createElement( + i.Modal, + { + isOpen: !0, + title: "Cannot save provisioned dashboard", + icon: "copy", + onDismiss: n, + }, + a.a.createElement(f, { dashboard: t, onCancel: n, onSuccess: n }) + ); + }, + p = n("e9GU"), + h = n("1gCF"); + function m(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var g = function (e) { + var t = e.dashboard, + n = e.onCancel, + o = e.onSuccess, + l = e.onSubmit, + s = Object(r.useMemo)( + function () { + return t.hasTimeChanged(); + }, + [t] + ), + c = Object(r.useMemo)( + function () { + return t.hasVariableValuesChanged(); + }, + [t] + ); + return a.a.createElement( + i.Forms.Form, + { + onSubmit: (function () { + var e, + n = + ((e = regeneratorRuntime.mark(function e(n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), l(t.getSaveModelClone(n), n, t) + ); + case 2: + "success" === e.sent.status && + (n.saveVariables && t.resetOriginalVariables(), + n.saveTimerange && t.resetOriginalTime(), + o()); + case 4: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + m(o, r, a, i, l, "next", e); + } + function l(e) { + m(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return n.apply(this, arguments); + }; + })(), + }, + function (e) { + var t = e.register; + e.errors; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-group" }, + s && + a.a.createElement(i.Forms.Checkbox, { + label: "Save current time range as dashboard default", + name: "saveTimerange", + ref: t, + "aria-label": + h.a.pages.SaveDashboardModal.selectors.saveTimerange, + }), + c && + a.a.createElement(i.Forms.Checkbox, { + label: + "Save current variable values as dashboard default", + name: "saveVariables", + ref: t, + "aria-label": + h.a.pages.SaveDashboardModal.selectors.saveVariables, + }), + (c || s) && + a.a.createElement("div", { className: "gf-form-group" }), + a.a.createElement(i.Forms.TextArea, { + name: "message", + ref: t, + placeholder: "Add a note to describe your changes...", + autoFocus: !0, + }) + ), + a.a.createElement( + i.HorizontalGroup, + null, + a.a.createElement( + i.Button, + { + type: "submit", + "aria-label": h.a.pages.SaveDashboardModal.selectors.save, + }, + "Save" + ), + a.a.createElement( + i.Forms.Button, + { variant: "secondary", onClick: n }, + "Cancel" + ) + ) + ); + } + ); + }, + b = n("x16D"), + v = n("atUN"); + function y() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: 500px;\n "]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var O = function (e) { + var t = e.dashboard, + n = e.onDismiss, + o = e.onSaveSuccess, + s = Object(v.a)(t), + c = s.state, + u = s.onDashboardSave, + f = w(Object(r.useState)(), 2), + d = f[0], + p = f[1]; + return a.a.createElement( + a.a.Fragment, + null, + c.error && + a.a.createElement(b.a, { + error: c.error, + dashboard: t, + dashboardSaveModel: d, + onDismiss: n, + }), + !c.error && + a.a.createElement( + i.Modal, + { + isOpen: !0, + title: "Save dashboard", + icon: "copy", + onDismiss: n, + className: Object(l.css)(y()), + }, + a.a.createElement(g, { + dashboard: t, + onCancel: n, + onSuccess: function () { + n(), o && o(); + }, + onSubmit: function (e, t, n) { + return p(e), u(e, t, n); + }, + }) + ) + ); + }; + function x() { + return (x = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + n.d(t, "a", function () { + return k; + }); + var k = function (e) { + var t = e.dashboard, + n = e.onDismiss, + r = e.onSaveSuccess, + i = t.meta.provisioned, + l = t.title === o.a || 0 === t.version, + s = t.version > 0, + c = { dashboard: t, onDismiss: n, onSaveSuccess: r }; + return a.a.createElement( + a.a.Fragment, + null, + s && !i && a.a.createElement(O, c), + i && a.a.createElement(d, c), + l && a.a.createElement(p.a, x({}, c, { isNew: !0 })) + ); + }; + }, + Kcoi: function (e, t, n) { + "use strict"; + function r(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function a(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function o(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function i(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function l(e, t, n) { + return t && i(e.prototype, t), n && i(e, n), e; + } + n.d(t, "a", function () { + return x; + }); + var s = Object, + c = [ + "black", + "red", + "green", + "yellow", + "blue", + "magenta", + "cyan", + "lightGray", + "", + "default", + ], + u = [ + "darkGray", + "lightRed", + "lightGreen", + "lightYellow", + "lightBlue", + "lightMagenta", + "lightCyan", + "white", + "", + ], + f = ["", "bright", "dim", "italic", "underline", "", "", "inverse"], + d = { + red: "lightRed", + green: "lightGreen", + yellow: "lightYellow", + blue: "lightBlue", + magenta: "lightMagenta", + cyan: "lightCyan", + black: "darkGray", + lightGray: "white", + }, + p = { + 0: "style", + 2: "unstyle", + 3: "color", + 9: "colorLight", + 4: "bgColor", + 10: "bgColorLight", + }, + h = { + color: c, + colorLight: u, + bgColor: c, + bgColorLight: u, + style: f, + unstyle: f, + }, + m = function (e) { + for (var t in e) e[t] || delete e[t]; + return 0 === s.keys(e).length ? void 0 : e; + }, + g = (function () { + function e(t, n, r) { + o(this, e), + (this.background = t), + (this.name = n), + (this.brightness = r); + } + return ( + l(e, [ + { + key: "defaultBrightness", + value: function (t) { + return new e( + this.background, + this.name, + this.brightness || t + ); + }, + }, + { + key: "css", + value: function (e) { + var t = e ? this.inverse : this, + n = (t.brightness === b.bright && d[t.name]) || t.name, + r = t.background ? "background:" : "color:", + o = x.rgb[n], + i = this.brightness === b.dim ? 0.5 : 1; + return o + ? r + "rgba(" + [].concat(a(o), [i]).join(",") + ");" + : !t.background && i < 1 + ? "color:rgba(0,0,0,0.5);" + : ""; + }, + }, + { + key: "inverse", + get: function () { + return new e( + !this.background, + this.name || (this.background ? "black" : "white"), + this.brightness + ); + }, + }, + { + key: "clean", + get: function () { + return m({ + name: "default" === this.name ? "" : this.name, + bright: this.brightness === b.bright, + dim: this.brightness === b.dim, + }); + }, + }, + ]), + e + ); + })(), + b = (function () { + function e(t) { + o(this, e), (this.value = void 0 !== t ? Number(t) : void 0); + } + return ( + l( + e, + [ + { + key: "type", + get: function () { + return p[Math.floor(this.value / 10)]; + }, + }, + { + key: "subtype", + get: function () { + return h[this.type][this.value % 10]; + }, + }, + { + key: "str", + get: function () { + return this.value ? "[" + this.value + "m" : ""; + }, + }, + { + key: "isBrightness", + get: function () { + return ( + this.value === e.noBrightness || + this.value === e.bright || + this.value === e.dim + ); + }, + }, + ], + [ + { + key: "str", + value: function (t) { + return new e(t).str; + }, + }, + ] + ), + e + ); + })(); + (b.reset = 0), + (b.bright = 1), + (b.dim = 2), + (b.inverse = 7), + (b.noBrightness = 22), + (b.noItalic = 23), + (b.noUnderline = 24), + (b.noInverse = 27), + (b.noColor = 39), + (b.noBgColor = 49); + var v = function (e, t, n) { + var r = b.str(t), + a = b.str(n); + return String(e) + .split("\n") + .map(function (e) { + return (function (e) { + return e.replace(/(\u001b\[(1|2)m)/g, "[22m$1"); + })( + r + + ((t = e.replace(/\u001b\[22m(\u001b\[(1|2)m)/g, "$1")), + (n = a), + (o = r), + t.split(n).join(o)) + + a + ); + var t, n, o; + }) + .join("\n"); + }, + y = function (e, t) { + return e + t.charAt(0).toUpperCase() + t.slice(1); + }, + w = [] + .concat( + a( + c.map(function (e, t) { + return e + ? [ + [e, 30 + t, b.noColor], + [y("bg", e), 40 + t, b.noBgColor], + ] + : []; + }) + ), + a( + u.map(function (e, t) { + return e + ? [ + [e, 90 + t, b.noColor], + [y("bg", e), 100 + t, b.noBgColor], + ] + : []; + }) + ), + a( + [ + "", + "BrightRed", + "BrightGreen", + "BrightYellow", + "BrightBlue", + "BrightMagenta", + "BrightCyan", + ].map(function (e, t) { + return e ? [["bg" + e, 100 + t, b.noBgColor]] : []; + }) + ), + a( + f.map(function (e, t) { + return e + ? [ + [ + e, + t, + "bright" === e || "dim" === e ? b.noBrightness : 20 + t, + ], + ] + : []; + }) + ) + ) + .reduce(function (e, t) { + return e.concat(t); + }); + var O = Symbol.iterator, + x = (function () { + function e(t) { + o(this, e), + (this.spans = t + ? (function (e) { + for ( + var t = 0, + n = "", + r = "", + a = "", + o = [], + i = [], + l = 0, + s = e.length; + l < s; + l++ + ) { + var c = e[l]; + switch (((n += c), t)) { + case 0: + "" === c ? ((t = 1), (n = c)) : (r += c); + break; + case 1: + "[" === c + ? ((t = 2), (a = ""), (o = [])) + : ((t = 0), (r += n)); + break; + case 2: + if (c >= "0" && c <= "9") a += c; + else if (";" === c) o.push(new b(a)), (a = ""); + else if ("m" === c && a.length) { + o.push(new b(a)); + var u = !0, + f = !1, + d = void 0; + try { + for ( + var p, h = o[Symbol.iterator](); + !(u = (p = h.next()).done); + u = !0 + ) { + var m = p.value; + i.push({ text: r, code: m }), (r = ""); + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == h.return || h.return(); + } finally { + if (f) throw d; + } + } + t = 0; + } else (t = 0), (r += n); + } + } + return ( + 0 !== t && (r += n), + r && i.push({ text: r, code: new b() }), + i + ); + })(t) + : []); + } + return ( + l( + e, + [ + { + key: O, + value: function () { + return this.spans[Symbol.iterator](); + }, + }, + { + key: "str", + get: function () { + return this.spans.reduce(function (e, t) { + return e + t.text + t.code.str; + }, ""); + }, + }, + { + key: "parsed", + get: function () { + var t, n, r, a; + function o() { + (r = new g()), + (a = new g(!0)), + (n = void 0), + (t = new Set()); + } + return ( + o(), + s.assign(new e(), { + spans: this.spans + .map(function (e) { + var i = e.code, + l = t.has("inverse"), + c = t.has("underline") + ? "text-decoration: underline;" + : "", + u = t.has("italic") ? "font-style: italic;" : "", + f = n === b.bright ? "font-weight: bold;" : "", + d = r.defaultBrightness(n), + p = s.assign( + { css: f + u + c + d.css(l) + a.css(l) }, + m({ + bold: !!f, + color: d.clean, + bgColor: a.clean, + }), + e + ), + h = !0, + v = !1, + y = void 0; + try { + for ( + var w, O = t[Symbol.iterator](); + !(h = (w = O.next()).done); + h = !0 + ) { + p[w.value] = !0; + } + } catch (e) { + (v = !0), (y = e); + } finally { + try { + h || null == O.return || O.return(); + } finally { + if (v) throw y; + } + } + if (i.isBrightness) n = i.value; + else if (void 0 !== e.code.value) + if (e.code.value === b.reset) o(); + else + switch (e.code.type) { + case "color": + case "colorLight": + r = new g(!1, i.subtype); + break; + case "bgColor": + case "bgColorLight": + a = new g(!0, i.subtype); + break; + case "style": + t.add(i.subtype); + break; + case "unstyle": + t.delete(i.subtype); + } + return p; + }) + .filter(function (e) { + return e.text.length > 0; + }), + }) + ); + }, + }, + { + key: "asChromeConsoleLogArguments", + get: function () { + var e = this.parsed.spans; + return [ + e + .map(function (e) { + return "%c" + e.text; + }) + .join(""), + ].concat( + a( + e.map(function (e) { + return e.css; + }) + ) + ); + }, + }, + { + key: "browserConsoleArguments", + get: function () { + return this.asChromeConsoleLogArguments; + }, + }, + ], + [ + { + key: "parse", + value: function (t) { + return new e(t).parsed; + }, + }, + { + key: "strip", + value: function (e) { + return e.replace( + /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g, + "" + ); + }, + }, + { + key: "nice", + get: function () { + return ( + e.names.forEach(function (t) { + t in String.prototype || + s.defineProperty(String.prototype, t, { + get: function () { + return e[t](this); + }, + }); + }), + e + ); + }, + }, + ] + ), + e + ); + })(); + (x.names = w.map(function (e) { + return r(e, 1)[0]; + })), + (x.rgb = { + black: [0, 0, 0], + darkGray: [100, 100, 100], + lightGray: [200, 200, 200], + white: [255, 255, 255], + red: [204, 0, 0], + lightRed: [255, 51, 0], + green: [0, 204, 0], + lightGreen: [51, 204, 51], + yellow: [204, 102, 0], + lightYellow: [255, 153, 51], + blue: [0, 0, 255], + lightBlue: [26, 140, 255], + magenta: [204, 0, 204], + lightMagenta: [255, 0, 255], + cyan: [0, 153, 255], + lightCyan: [0, 204, 255], + }), + (function e(t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t; + return w.reduce(function (t, a) { + var o = r(a, 3), + i = o[0], + l = o[1], + c = o[2]; + return s.defineProperty(t, i, { + get: function () { + return e(function (e) { + return n(v(e, l, c)); + }); + }, + }); + }, t); + })(x, function (e) { + return e; + }); + }, + Ke2B: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("Fts8"); + function l() { + var e = u([ + "\n margin-left: ", + ";\n ", + ]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + var e = u([ + "\n color: ", + ";\n font-weight: bold;\n text-align: right;\n cursor: pointer;\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = u([ + "\n width: 100%;\n td {\n padding: 2px 10px;\n }\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var f = function (e) { + var t = e.items, + n = e.columns, + u = e.sortBy, + f = e.sortDesc, + d = e.itemRenderer, + p = e.className, + h = e.onToggleSort, + m = Object(r.useContext)(i.a); + return a.a.createElement( + "table", + { className: Object(o.cx)(Object(o.css)(c()), p) }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + n.map(function (e) { + return a.a.createElement( + "th", + { + key: e, + className: Object(o.css)(s(), m.colors.blue), + onClick: function () { + h && h(e); + }, + }, + e, + u === e && + a.a.createElement("span", { + className: Object(o.cx)( + "fa fa-caret-".concat(f ? "down" : "up"), + Object(o.css)(l(), m.spacing.sm) + ), + }) + ); + }) + ) + ), + a.a.createElement( + "tbody", + null, + t.map(function (e, t) { + return d + ? d(e, t) + : a.a.createElement( + "tr", + { key: "".concat(e.label, "-").concat(t) }, + a.a.createElement("td", null, e.label) + ); + }) + ) + ); + }; + }, + KgU3: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("1BU0"); + n.d(t, "LoadingState", function () { + return r.a; + }), + n.d(t, "NullValueMode", function () { + return r.b; + }); + var a = n("HJqT"); + n.d(t, "FieldType", function () { + return a.a; + }); + var o = n("eqXR"); + n.d(t, "VariableOrigin", function () { + return o.a; + }), + n.d(t, "VariableSuggestionsScope", function () { + return o.b; + }); + var i = n("RH9q"); + n.d(t, "LogLevel", function () { + return i.a; + }), + n.d(t, "LogsMetaKind", function () { + return i.d; + }), + n.d(t, "LogsDedupStrategy", function () { + return i.c; + }), + n.d(t, "LogsDedupDescription", function () { + return i.b; + }); + var l = n("a9tP"); + for (var s in l) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return l[e]; + }); + })(s); + var c = n("nnkO"); + for (var s in c) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return c[e]; + }); + })(s); + var u = n("5VON"); + n.d(t, "DefaultTimeZone", function () { + return u.b; + }), + n.d(t, "TIME_FORMAT", function () { + return u.c; + }), + n.d(t, "DefaultTimeRange", function () { + return u.a; + }); + var f = n("mgzm"); + n.d(t, "ThresholdsMode", function () { + return f.a; + }); + var d = n("5m9O"); + n.d(t, "eventFactory", function () { + return d.a; + }); + var p = n("6edu"); + n.d(t, "MappingType", function () { + return p.a; + }); + var h = n("cFxn"); + for (var s in h) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return h[e]; + }); + })(s); + var m = n("Qrgx"); + for (var s in m) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return m[e]; + }); + })(s); + var g = n("pu3h"); + for (var s in g) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return g[e]; + }); + })(s); + var b = n("BxXJ"); + for (var s in b) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return b[e]; + }); + })(s); + var v = n("0HV/"); + for (var s in v) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return v[e]; + }); + })(s); + var y = n("QNe1"); + for (var s in y) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return y[e]; + }); + })(s); + var w = n("/r3D"); + n.d(t, "CoreApp", function () { + return w.b; + }), + n.d(t, "AppPlugin", function () { + return w.a; + }); + var O = n("Z6j/"); + n.d(t, "DataSourcePlugin", function () { + return O.b; + }), + n.d(t, "DataSourceApi", function () { + return O.a; + }), + n.d(t, "DataSourceStatus", function () { + return O.c; + }), + n.d(t, "ExploreMode", function () { + return O.d; + }), + n.d(t, "LanguageProvider", function () { + return O.e; + }); + var x = n("BwrN"); + n.d(t, "PanelPlugin", function () { + return x.a; + }), + n.d(t, "VizOrientation", function () { + return x.b; + }); + var k = n("CnP+"); + n.d(t, "PluginState", function () { + return k.c; + }), + n.d(t, "PluginType", function () { + return k.d; + }), + n.d(t, "PluginIncludeType", function () { + return k.b; + }), + n.d(t, "GrafanaPlugin", function () { + return k.a; + }); + var j = n("QGP0"); + n.d(t, "FieldColorMode", function () { + return j.b; + }), + n.d(t, "ColorScheme", function () { + return j.a; + }); + var S = n("UcAx"); + n.d(t, "GrafanaThemeType", function () { + return S.a; + }); + var E = n("/FV5"); + n.d(t, "OrgRole", function () { + return E.a; + }); + var C = n("QlHa"); + for (var s in C) + [ + "AppEvent", + "AppEvents", + "PanelEvents", + "LoadingState", + "NullValueMode", + "FieldType", + "VariableOrigin", + "VariableSuggestionsScope", + "LogLevel", + "LogsMetaKind", + "LogsDedupStrategy", + "LogsDedupDescription", + "DefaultTimeZone", + "TIME_FORMAT", + "DefaultTimeRange", + "ThresholdsMode", + "eventFactory", + "MappingType", + "CoreApp", + "AppPlugin", + "DataSourcePlugin", + "DataSourceApi", + "DataSourceStatus", + "ExploreMode", + "LanguageProvider", + "PanelPlugin", + "VizOrientation", + "PluginState", + "PluginType", + "PluginIncludeType", + "GrafanaPlugin", + "FieldColorMode", + "ColorScheme", + "GrafanaThemeType", + "OrgRole", + "default", + ].indexOf(s) < 0 && + (function (e) { + n.d(t, e, function () { + return C[e]; + }); + })(s); + var P = n("vi1D"); + n.d(t, "AppEvents", function () { + return P; + }), + n.d(t, "AppEvent", function () { + return P.AppEvent; + }); + var T = n("/GJV"); + n.d(t, "PanelEvents", function () { + return T; + }); + }, + KwPh: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return m; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function u(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function f(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function d(e) { + return (d = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function p(e, t) { + return (p = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function h(e, t) { + var n = t.typeaheadContext, + r = t.typeaheadText; + switch (n) { + case "context-labels": + var a = o.DOMUtil.getNextCharacter(); + (a && "}" !== a && "," !== a) || (e += "="); + break; + case "context-label-values": + r.match(/^(!?=~?"|")/) || (e = '"'.concat(e)), + '"' !== o.DOMUtil.getNextCharacter() && (e = "".concat(e, '"')); + } + return e; + } + var m = (function (e) { + function t(e, n) { + var r; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((r = f(this, d(t).call(this, e, n))).loadOptions = function (e) { + r.props.onLoadOptions(e); + }), + (r.onChangeLogLabels = function (e, t) { + if (2 === t.length) { + var n = t[0].value, + a = t[1].value, + o = "{".concat(n, '="').concat(a, '"}'); + r.onChangeQuery(o, !0); + } + }), + (r.onChangeQuery = function (e, t) { + var n = r.props, + a = n.query, + o = n.onChange, + i = n.onRunQuery; + o && + (o( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, a, { expr: e }) + ), + t && i && i()); + }), + (r.onTypeahead = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t) { + var n, a, o, i, l, s, c, u, f, d, p; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ((n = r.props.datasource).languageProvider) { + e.next = 3; + break; + } + return e.abrupt("return", { suggestions: [] }); + case 3: + return ( + (a = n.languageProvider), + (o = r.props), + (i = o.history), + (l = o.absoluteRange), + (s = t.prefix), + (c = t.text), + (u = t.value), + (f = t.wrapperClasses), + (d = t.labelKey), + (e.next = 8), + a.provideCompletionItems( + { + text: c, + value: u, + prefix: s, + wrapperClasses: f, + labelKey: d, + }, + { history: i, absoluteRange: l } + ) + ); + case 8: + return (p = e.sent), e.abrupt("return", p); + case 10: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + l(o, r, a, i, s, "next", e); + } + function s(e) { + l(o, r, a, i, s, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return t.apply(this, arguments); + }; + })()), + (r.plugins = [ + Object(o.BracesPlugin)(), + Object(o.SlatePrism)({ + onlyIn: function (e) { + return "block" === e.object && "code_block" === e.type; + }, + getSyntax: function (e) { + return "promql"; + }, + }), + ]), + r + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && p(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.ExtraFieldElement, + n = e.query, + r = e.syntaxLoaded, + i = e.logLabelOptions, + l = e.onLoadOptions, + s = e.onLabelsRefresh, + c = e.datasource, + u = c.languageProvider, + f = c.languageProvider ? u.cleanText : void 0, + d = i && i.length > 0, + p = (function (e, t) { + return e + ? t + ? "Log labels" + : "(No labels found)" + : "Loading labels..."; + })(r, d), + m = !(r && d); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { + className: + "gf-form-inline gf-form-inline--nowrap flex-grow-1", + }, + a.a.createElement( + "div", + { className: "gf-form flex-shrink-0" }, + a.a.createElement( + o.ButtonCascader, + { + options: i || [], + disabled: m, + onChange: this.onChangeLogLabels, + loadData: l, + onPopupVisibleChange: function (e) { + return e && s && s(); + }, + }, + p + ) + ), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow flex-shrink-1" }, + a.a.createElement(o.QueryField, { + additionalPlugins: this.plugins, + cleanText: f, + query: n.expr, + onTypeahead: this.onTypeahead, + onWillApplySuggestion: h, + onChange: this.onChangeQuery, + onBlur: this.props.onBlur, + onRunQuery: this.props.onRunQuery, + placeholder: "Enter a Loki query", + portalOrigin: "loki", + syntaxLoaded: r, + }) + ), + t + ) + ); + }, + }, + ]) && u(n.prototype, r), + i && u(n, i), + t + ); + })(a.a.PureComponent); + }, + KyLG: function (e, t, n) { + "use strict"; + n.d(t, "k", function () { + return h; + }), + n.d(t, "g", function () { + return m; + }), + n.d(t, "f", function () { + return g; + }), + n.d(t, "i", function () { + return b; + }), + n.d(t, "e", function () { + return v; + }), + n.d(t, "h", function () { + return y; + }), + n.d(t, "b", function () { + return w; + }), + n.d(t, "m", function () { + return O; + }), + n.d(t, "d", function () { + return x; + }), + n.d(t, "l", function () { + return k; + }), + n.d(t, "a", function () { + return j; + }), + n.d(t, "c", function () { + return S; + }), + n.d(t, "n", function () { + return E; + }); + var r = n("i7Pf"), + a = n("GQ3c"), + o = n("eXZ6"), + i = n("ZJ8E"), + l = n("xL/7"), + s = n("tEy8"), + c = n("rd46"), + u = { + initPhase: a.DashboardInitPhase.NotStarted, + isInitSlow: !1, + getModel: function () { + return null; + }, + permissions: [], + modifiedQueries: null, + panels: {}, + initError: null, + }, + f = Object(r.c)({ + name: "dashboard", + initialState: u, + reducers: { + loadDashboardPermissions: function (e, t) { + e.permissions = Object(i.a)(t.payload); + }, + dashboardInitFetching: function (e, t) { + e.initPhase = a.DashboardInitPhase.Fetching; + }, + dashboardInitServices: function (e, t) { + e.initPhase = a.DashboardInitPhase.Services; + }, + dashboardInitSlow: function (e, t) { + e.isInitSlow = !0; + }, + dashboardInitCompleted: function (e, t) { + (e.getModel = function () { + return t.payload; + }), + (e.initPhase = a.DashboardInitPhase.Completed), + (e.isInitSlow = !1); + var n = !0, + r = !1, + o = void 0; + try { + for ( + var i, l = t.payload.panels[Symbol.iterator](); + !(n = (i = l.next()).done); + n = !0 + ) { + var s = i.value; + e.panels[s.id] = { pluginId: s.type }; + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw o; + } + } + }, + dashboardInitFailed: function (e, t) { + (e.initPhase = a.DashboardInitPhase.Failed), + (e.initError = t.payload), + (e.getModel = function () { + return new c.a( + { title: "Dashboard init failed" }, + { canSave: !1, canEdit: !1 } + ); + }); + }, + cleanUpDashboard: function (e, t) { + e.getModel() && + (e.getModel().destroy(), + (e.getModel = function () { + return null; + })), + (e.panels = {}), + (e.initPhase = a.DashboardInitPhase.NotStarted), + (e.isInitSlow = !1), + (e.initError = null); + }, + setDashboardQueriesToUpdateOnLoad: function (e, t) { + e.modifiedQueries = t.payload; + }, + clearDashboardQueriesToUpdateOnLoad: function (e, t) { + e.modifiedQueries = null; + }, + panelModelAndPluginReady: function (e, t) { + d(e, t.payload.panelId, { plugin: t.payload.plugin }); + }, + cleanUpEditPanel: function (e, t) { + delete e.panels[o.c]; + }, + setPanelAngularComponent: function (e, t) { + d(e, t.payload.panelId, { + angularComponent: t.payload.angularComponent, + }); + }, + addPanel: function (e, t) { + e.panels[t.payload.id] = { pluginId: t.payload.type }; + }, + }, + }); + function d(e, t, n) { + e.panels[t] ? Object.assign(e.panels[t], n) : (e.panels[t] = n); + } + var p = f.actions, + h = p.loadDashboardPermissions, + m = p.dashboardInitFetching, + g = p.dashboardInitFailed, + b = p.dashboardInitSlow, + v = p.dashboardInitCompleted, + y = p.dashboardInitServices, + w = p.cleanUpDashboard, + O = p.setDashboardQueriesToUpdateOnLoad, + x = p.clearDashboardQueriesToUpdateOnLoad, + k = p.panelModelAndPluginReady, + j = p.addPanel, + S = p.cleanUpEditPanel, + E = p.setPanelAngularComponent, + C = f.reducer; + t.j = { dashboard: C, panelEditor: l.e, panelEditorNew: s.c }; + }, + LCjV: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }); + var r = n("Obii"), + a = function (e, t) { + var n, + a, + o = { from: Object(r.toUtc)(t.from), to: Object(r.toUtc)(t.to) }, + i = (o.to.valueOf() - o.from.valueOf()) / 2; + return ( + -1 === e + ? ((n = o.to.valueOf() - i), (a = o.from.valueOf() - i)) + : 1 === e + ? ((n = o.to.valueOf() + i), + (a = o.from.valueOf() + i), + n > Date.now() && + o.to.valueOf() < Date.now() && + ((n = Date.now()), (a = o.from.valueOf()))) + : ((n = o.to.valueOf()), (a = o.from.valueOf())), + { from: a, to: n } + ); + }, + o = function (e, t) { + var n = e.to.valueOf() - e.from.valueOf(), + r = e.to.valueOf() - n / 2; + return { from: r - (n * t) / 2, to: r + (n * t) / 2 }; + }; + }, + LOGi: function (e, t, n) { + "use strict"; + (function (e) { + var r = n("q1tI"), + a = n.n(r), + o = n("ZFWI"), + i = n("3SGO"), + l = n("/MKj"), + s = n("t8hP"), + c = n("0cfB"), + u = n("Xmxp"), + f = n("Obii"); + function d(e) { + return (d = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function h(e, t) { + return !t || ("object" !== d(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function m(e) { + return (m = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function g(e, t) { + return (g = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var b = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = h(this, m(t).call(this, e))).result = {}), + (n.changePassword = function (e) { + var t = { + newPassword: e, + confirmNew: e, + oldPassword: "admin", + }; + Object(s.getBackendSrv)() + .put("/api/user/password", t) + .then(function () { + n.toGrafana(); + }) + .catch(function (e) { + return console.log(e); + }); + }), + (n.login = function (e) { + n.setState({ isLoggingIn: !0 }), + Object(s.getBackendSrv)() + .post("/login", e) + .then(function (t) { + (n.result = t), + "admin" !== e.password || + o.b.ldapEnabled || + o.b.authProxyEnabled + ? n.toGrafana() + : n.changeView(); + }) + .catch(function () { + n.setState({ isLoggingIn: !1 }); + }); + }), + (n.changeView = function () { + n.setState({ isChangingPassword: !0 }); + }), + (n.toGrafana = function () { + var e = n.props.routeParams; + e.redirect && "/" === e.redirect[0] + ? "" === o.b.appSubUrl || + e.redirect.startsWith(o.b.appSubUrl) + ? (window.location.href = e.redirect) + : (window.location.href = o.b.appSubUrl + e.redirect) + : n.result.redirectUrl + ? "" === o.b.appSubUrl || + n.result.redirectUrl.startsWith(o.b.appSubUrl) + ? (window.location.href = n.result.redirectUrl) + : (window.location.href = + o.b.appSubUrl + n.result.redirectUrl) + : (window.location.href = o.b.appSubUrl + "/"); + }), + (n.state = { isLoggingIn: !1, isChangingPassword: !1 }), + o.b.loginError && + u.b.emit(f.AppEvents.alertWarning, [ + "Login Failed", + o.b.loginError, + ]), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && g(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.children, + t = this.state, + n = t.isLoggingIn, + r = t.isChangingPassword, + i = this.login, + l = this.toGrafana, + s = this.changePassword, + c = o.b.loginHint, + u = o.b.passwordHint, + f = o.b.disableLoginForm, + d = o.b.ldapEnabled, + p = o.b.authProxyEnabled, + h = o.b.disableUserSignUp; + return a.a.createElement( + a.a.Fragment, + null, + e({ + isOauthEnabled: + !!o.b.oauth && Object.keys(o.b.oauth).length > 0, + loginHint: c, + passwordHint: u, + disableLoginForm: f, + ldapEnabled: d, + authProxyEnabled: p, + disableUserSignUp: h, + login: i, + isLoggingIn: n, + changePassword: s, + skipPasswordChange: l, + isChangingPassword: r, + }) + ); + }, + }, + ]) && p(n.prototype, r), + i && p(n, i), + t + ); + })(r.PureComponent), + v = { updateLocation: i.c }; + t.a = Object(c.hot)(e)( + Object(l.connect)(function (e) { + return { routeParams: e.location.routeParams }; + }, v)(b) + ); + }.call(this, n("3UD+")(e))); + }, + LUja: function (e, t) {}, + Lmi3: function (e, t) { + var n = "public/app/plugins/panel/graph/tab_display.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n <div class="section gf-form-group">\n <h5 class=section-heading>Draw Modes</h5>\n <gf-form-switch class=gf-form label=Bars label-class=width-5 checked=ctrl.panel.bars on-change=ctrl.render()></gf-form-switch>\n <gf-form-switch class=gf-form label=Lines label-class=width-5 checked=ctrl.panel.lines on-change=ctrl.render()></gf-form-switch>\n <gf-form-switch class=gf-form label=Points label-class=width-5 checked=ctrl.panel.points on-change=ctrl.render()></gf-form-switch>\n </div>\n <div class="section gf-form-group">\n <h5 class=section-heading>Time Range</h5>\n <gf-form-switch class=gf-form label=Show label-class=width-5 checked=ctrl.panel.timeRange on-change=ctrl.render()></gf-form-switch>\n </div>\n <div class="section gf-form-group">\n <h5 class=section-heading>Mode Options</h5>\n <div class=gf-form>\n <label class="gf-form-label width-8">Fill</label>\n <div class="gf-form-select-wrapper max-width-5">\n <select class=gf-form-input ng-model=ctrl.panel.fill ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n </div>\n </div>\n <div class=gf-form ng-if="ctrl.panel.lines && ctrl.panel.fill">\n <label class="gf-form-label width-8">Fill Gradient</label>\n <div class="gf-form-select-wrapper max-width-5">\n <select class=gf-form-input ng-model=ctrl.panel.fillGradient ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Line Width</label>\n <div class="gf-form-select-wrapper max-width-5">\n <select class=gf-form-input ng-model=ctrl.panel.linewidth ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n </div>\n </div>\n <gf-form-switch ng-disabled=!ctrl.panel.lines class=gf-form label=Staircase label-class=width-8 checked=ctrl.panel.steppedLine on-change=ctrl.render()>\n </gf-form-switch>\n <div class=gf-form ng-if=ctrl.panel.points>\n <label class="gf-form-label width-8">Point Radius</label>\n <div class="gf-form-select-wrapper max-width-5">\n <select class=gf-form-input ng-model=ctrl.panel.pointradius ng-options="f for f in [0.5,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render()></select>\n </div>\n </div>\n </div>\n <div class="section gf-form-group">\n <h5 class=section-heading>Hover tooltip</h5>\n <div class=gf-form>\n <label class="gf-form-label width-9">Mode</label>\n <div class="gf-form-select-wrapper max-width-8">\n <select class=gf-form-input ng-model=ctrl.panel.tooltip.shared ng-options="f.value as f.text for f in [{text: \'All series\', value: true}, {text: \'Single\', value: false}]" ng-change=ctrl.render()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">Sort order</label>\n <div class="gf-form-select-wrapper max-width-8">\n <select class=gf-form-input ng-model=ctrl.panel.tooltip.sort ng-options="f.value as f.text for f in [{text: \'None\', value: 0}, {text: \'Increasing\', value: 1}, {text: \'Decreasing\', value: 2}]" ng-change=ctrl.render()></select>\n </div>\n </div>\n <div class=gf-form ng-show=ctrl.panel.stack>\n <label class="gf-form-label width-9">Stacked value</label>\n <div class="gf-form-select-wrapper max-width-8">\n <select class=gf-form-input ng-model=ctrl.panel.tooltip.value_type ng-options="f for f in [\'cumulative\',\'individual\']" ng-change=ctrl.render()></select>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Stacking & Null value</h5>\n <gf-form-switch class=gf-form label=Stack label-class=width-7 checked=ctrl.panel.stack on-change=ctrl.render()>\n </gf-form-switch>\n <gf-form-switch class=gf-form ng-show=ctrl.panel.stack label=Percent label-class=width-7 checked=ctrl.panel.percentage on-change=ctrl.render()>\n </gf-form-switch>\n <div class=gf-form>\n <label class="gf-form-label width-7">Null value</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input max-width-9" ng-model=ctrl.panel.nullPointMode ng-options="f for f in [\'connected\', \'null\', \'null as zero\']" ng-change=ctrl.render()></select>\n </div>\n </div>\n </div>\n</div>\n\n<div>\n <div class=gf-form-inline ng-repeat="override in ctrl.panel.seriesOverrides" ng-controller=SeriesOverridesCtrl>\n <div class=gf-form>\n <label class=gf-form-label>alias or regex</label>\n </div>\n <div class="gf-form width-15">\n <input type=text ng-model=override.alias bs-typeahead=getSeriesNames ng-blur=ctrl.render() data-min-length=0 data-items=100 class="gf-form-input width-15"/>\n </div>\n <div class=gf-form ng-repeat="option in currentOverrides">\n <label class=gf-form-label>\n <i class="pointer fa fa-remove" ng-click=removeOverride(option)></i>\n <span ng-show="option.propertyName === \'color\'">\n Color: <i class="fa fa-circle" ng-style={color:option.value}></i>\n </span>\n <span ng-show="option.propertyName !== \'color\'"> {{ option.name }}: {{ option.value }} </span>\n </label>\n </div>\n\n <div class=gf-form>\n <span class=dropdown dropdown-typeahead2=overrideMenu dropdown-typeahead-on-select="setOverride($item, $subItem)" button-template-class=gf-form-label>\n </span>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>\n <i class="fa fa-trash pointer" ng-click=ctrl.removeSeriesOverride(override)></i>\n </label>\n </div>\n </div>\n <div class=gf-form-button-row>\n <button class="btn btn-inverse" ng-click=ctrl.addSeriesOverride()>\n <i class="fa fa-plus"></i> Add series override<tip>Regex match example: /server[0-3]/i </tip>\n </button>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + Lrfw: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("lonE"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function u(e) { + return (u = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function f(e, t) { + return (f = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var d = (function (e) { + function t() { + return l(this, t), c(this, u(t).apply(this, arguments)); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && f(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return a.a.createElement(o.a, this.props); + }, + }, + ]) && s(n.prototype, r), + i && s(n, i), + t + ); + })(a.a.PureComponent); + }, + LzXI: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("AVRW"), + a = n("LvDl"), + o = n.n(a), + i = n("+JUD"), + l = n("Obii"), + s = n("GQ3c"); + function c(e) { + return (c = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function u(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function p(e, t) { + return (p = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var h = (function (e) { + function t(e, n) { + var r, a, o; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (a = this), + (o = f(t).call(this, e, n)), + ((r = + !o || ("object" !== c(o) && "function" != typeof o) + ? d(a) + : o).useDataFrames = !1), + (r.panelDataObserver = { + next: function (e) { + if ( + (e.state === l.LoadingState.Error && + ((r.loading = !1), r.processDataError(e.error)), + e.state === l.LoadingState.Loading) + ) + return (r.loading = !0), void r.angularDirtyCheck(); + if (e.request) { + var t = e.request.timeInfo; + t && (r.timeInfo = t); + } + if ((e.timeRange && (r.range = e.timeRange), r.useDataFrames)) + r.handleDataFrames(e.series); + else { + var n = e.series.map(function (e) { + return Object(l.toLegacyResponseData)(e); + }); + r.handleQueryResult({ data: n }); + } + r.angularDirtyCheck(); + }, + }), + (r.contextSrv = n.get("contextSrv")), + (r.datasourceSrv = n.get("datasourceSrv")), + (r.timeSrv = n.get("timeSrv")), + (r.templateSrv = n.get("templateSrv")), + (r.scope = e), + (r.panel.datasource = r.panel.datasource || null), + r.events.on( + l.PanelEvents.refresh, + r.onMetricsPanelRefresh.bind(d(r)) + ), + r.events.on( + l.PanelEvents.panelTeardown, + r.onPanelTearDown.bind(d(r)) + ), + r.events.on( + l.PanelEvents.componentDidMount, + r.onMetricsPanelMounted.bind(d(r)) + ), + r + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && p(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onMetricsPanelMounted", + value: function () { + var e = this.panel.getQueryRunner(); + this.querySubscription = e + .getData() + .subscribe(this.panelDataObserver); + }, + }, + { + key: "onPanelTearDown", + value: function () { + this.querySubscription && + (this.querySubscription.unsubscribe(), + (this.querySubscription = null)); + }, + }, + { + key: "onMetricsPanelRefresh", + value: function () { + var e = this; + if (!this.otherPanelInFullscreenMode()) { + if (this.panel.snapshotData) { + this.updateTimeRange(); + var t = this.panel.snapshotData; + return ( + o.a.isArray(t) || (t = t.data), + this.$timeout(function () { + e.events.emit(l.PanelEvents.dataSnapshotLoad, t); + }) + ); + } + return ( + delete this.error, + (this.loading = !0), + this.datasourceSrv + .get(this.panel.datasource, this.panel.scopedVars) + .then(this.updateTimeRange.bind(this)) + .then(this.issueQueries.bind(this)) + .catch(function (t) { + e.processDataError(t); + }) + ); + } + }, + }, + { + key: "processDataError", + value: function (e) { + e.cancelled + ? console.log("Panel request cancelled", e) + : ((this.error = e.message || "Request Error"), + e.data && + (e.data.message + ? (this.error = e.data.message) + : e.data.error && (this.error = e.data.error)), + this.angularDirtyCheck()); + }, + }, + { + key: "angularDirtyCheck", + value: function () { + this.$scope.$root.$$phase || this.$scope.$digest(); + }, + }, + { + key: "updateTimeRange", + value: function (e) { + (this.datasource = e || this.datasource), + (this.range = this.timeSrv.timeRange()); + var t = Object(i.a)(this.panel, this.range); + return ( + (this.timeInfo = t.timeInfo), + (this.range = t.timeRange), + this.datasource + ); + }, + }, + { + key: "issueQueries", + value: function (e) { + this.datasource = e; + var t = this.panel; + return t.getQueryRunner().run({ + datasource: t.datasource, + queries: t.targets, + panelId: t.id, + dashboardId: this.dashboard.id, + timezone: this.dashboard.timezone, + timeInfo: this.timeInfo, + timeRange: this.range, + widthPixels: this.width, + maxDataPoints: t.maxDataPoints, + minInterval: t.interval, + scopedVars: t.scopedVars, + cacheTimeout: t.cacheTimeout, + transformations: t.transformations, + }); + }, + }, + { + key: "handleDataFrames", + value: function (e) { + (this.loading = !1), + this.dashboard && + this.dashboard.snapshot && + (this.panel.snapshotData = e.map(function (e) { + return Object(l.toDataFrameDTO)(e); + })); + try { + this.events.emit(s.CoreEvents.dataFramesReceived, e); + } catch (e) { + this.processDataError(e); + } + }, + }, + { + key: "handleQueryResult", + value: function (e) { + (this.loading = !1), + this.dashboard.snapshot && + (this.panel.snapshotData = e.data), + (e && e.data) || + (console.log( + "Data source query result invalid, missing data field:", + e + ), + (e = { data: [] })); + try { + this.events.emit(l.PanelEvents.dataReceived, e.data); + } catch (e) { + this.processDataError(e); + } + }, + }, + ]) && u(n.prototype, r), + a && u(n, a), + t + ); + })(r.a), + m = n("fQqI"), + g = n("eK0o"), + b = n("t8hP"); + n.d(t, "PanelCtrl", function () { + return r.a; + }), + n.d(t, "MetricsPanelCtrl", function () { + return h; + }), + n.d(t, "QueryCtrl", function () { + return m.a; + }), + n.d(t, "alertTab", function () { + return g.a; + }), + n.d(t, "loadPluginCss", function () { + return b.loadPluginCss; + }); + }, + LzuI: function (e, t) { + var n = + "public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n\t<div class=gf-form ng-if=ctrl.annotation.index>\n\t\t<span class="gf-form-label width-14">Index name</span>\n\t\t<input type=text class="gf-form-input max-width-20" ng-model=ctrl.annotation.index placeholder=events-*>\n\t</div>\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder="Elasticsearch lucene query">\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h6>Field mappings</h6>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Time</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.timeField placeholder=@timestamp>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Time End</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.timeEndField placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Text</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.textField placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.tagsField placeholder=tags>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleField>\n\t\t\t<span class=gf-form-label>Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class="gf-form-input max-width-16" ng-model=ctrl.annotation.titleField placeholder=desc>\n\t\t</div>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "M/8g": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return b; + }), + n.d(t, "b", function () { + return w; + }), + n.d(t, "d", function () { + return O; + }), + n.d(t, "e", function () { + return k; + }), + n.d(t, "c", function () { + return j; + }); + var r = n("j1EC"), + a = n.n(r), + o = n("4qJB"), + i = n("Yyu/"), + l = n("+CPp"), + s = n("Y8cN"), + c = n("3SGO"), + u = n("mpro"), + f = n("buVq"); + function d(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function p(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(n), !0).forEach(function (t) { + h(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : d(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function h(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function m(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function g(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + m(o, r, a, i, l, "next", e); + } + function l(e) { + m(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var b = function (e) { + return function (t, n) { + for (var r = 0, a = 0; a < e.length; a++) { + var o = e[a]; + l.a.contains(o.type) && + t( + Object(u.b)( + Object(f.h)(o, { global: !1, index: r++, model: o }) + ) + ); + } + for (var s = 0; s < Object(i.d)(n()).length; s++) + t(Object(u.a)(Object(f.h)(Object(i.d)(n())[s]))); + }; + }, + v = (function () { + var e = g( + regeneratorRuntime.mark(function e(t, n) { + var r, a, o, s, c, u, f; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + (r = []), + (a = !0), + (o = !1), + (s = void 0), + (e.prev = 4), + (c = Object(i.d)(n)[Symbol.iterator]()); + case 6: + if ((a = (u = c.next()).done)) { + e.next = 14; + break; + } + if (((f = u.value), t !== f)) { + e.next = 10; + break; + } + return e.abrupt("continue", 11); + case 10: + l.a.contains(t.type) && + l.a.get(t.type).dependsOn(t, f) && + r.push(f.initLock.promise); + case 11: + (a = !0), (e.next = 6); + break; + case 14: + e.next = 20; + break; + case 16: + (e.prev = 16), + (e.t0 = e.catch(4)), + (o = !0), + (s = e.t0); + case 20: + (e.prev = 20), + (e.prev = 21), + a || null == c.return || c.return(); + case 23: + if (((e.prev = 23), !o)) { + e.next = 26; + break; + } + throw s; + case 26: + return e.finish(23); + case 27: + return e.finish(20); + case 28: + return (e.next = 30), Promise.all(r); + case 30: + case "end": + return e.stop(); + } + }, + e, + null, + [ + [4, 16, 20, 28], + [21, , 23, 27], + ] + ); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(), + y = function (e, t) { + return (function () { + var n = g( + regeneratorRuntime.mark(function n(r, a) { + var s, c, d; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (s = Object(i.a)(e.uuid, a())), + (n.next = 3), + v(s, a()) + ); + case 3: + if (void 0 === (c = t["var-" + s.name])) { + n.next = 10; + break; + } + return ( + (n.next = 7), + l.a.get(s.type).setValueFromUrl(s, null != c ? c : "") + ); + case 7: + return (n.next = 9), r(Object(u.i)(Object(f.h)(s))); + case 9: + return n.abrupt("return"); + case 10: + if (!s.hasOwnProperty("refresh")) { + n.next = 18; + break; + } + if ( + (d = s).refresh !== o.b.onDashboardLoad && + d.refresh !== o.b.onTimeRangeChanged + ) { + n.next = 18; + break; + } + return (n.next = 15), l.a.get(s.type).updateOptions(d); + case 15: + return (n.next = 17), r(Object(u.i)(Object(f.h)(s))); + case 17: + return n.abrupt("return"); + case 18: + return (n.next = 20), r(Object(u.i)(Object(f.h)(s))); + case 20: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }, + w = function () { + return (function () { + var e = g( + regeneratorRuntime.mark(function e(t, n) { + var r, a, o; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = n().location.query), + (a = Object(i.d)(n()).map( + (function () { + var e = g( + regeneratorRuntime.mark(function e(n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + t(y(Object(f.g)(n), r)) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })() + )), + (e.next = 4), + Promise.all(a) + ); + case 4: + o = 0; + case 5: + if (!(o < Object(i.d)(n()).length)) { + e.next = 11; + break; + } + return ( + (e.next = 8), + t(Object(u.g)(Object(f.h)(Object(i.d)(n())[o]))) + ); + case 8: + o++, (e.next = 5); + break; + case 11: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + }, + O = function (e, t) { + return (function () { + var n = g( + regeneratorRuntime.mark(function n(r, s) { + var c, u, f, d, p; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + !(c = Object(i.a)(e.uuid, s())).hasOwnProperty( + "refresh" + ) || + c.refresh === o.b.never + ) { + n.next = 4; + break; + } + return (n.next = 4), l.a.get(c.type).updateOptions(c); + case 4: + if ((u = Object(i.a)(c.uuid, s()))) { + n.next = 7; + break; + } + throw new Error( + "Couldn't find variable with name: ".concat(c.name) + ); + case 7: + return ( + (f = u.options.find(function (e) { + return e.text === t || e.value === t; + })) || + ((d = t), + (p = t), + Array.isArray(t) && + (d = t.reduce(function (e, t) { + var n = u.options.find(function (e) { + return e.value === t; + }); + return [].concat(e, n ? [n.text] : [t]); + }, [])), + (f = { text: d, value: p, selected: !1 })), + u.hasOwnProperty("multi") && + (f = { + text: a()(f.text), + value: a()(f.value), + selected: !1, + }), + (n.next = 12), + l.a.get(c.type).setValue(u, f) + ); + case 12: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }, + x = function (e) { + var t, + n, + r, + a, + o = []; + for (t = 0; t < e.options.length; t++) + if ( + (((a = p({}, e.options[t])).selected = !1), + Array.isArray(e.current.value)) + ) + for (n = 0; n < e.current.value.length; n++) + (r = e.current.value[n]), + a.value === r && ((a.selected = !0), o.push(a)); + else a.value === e.current.value && ((a.selected = !0), o.push(a)); + return o; + }, + k = function (e, t) { + return (function () { + var n = g( + regeneratorRuntime.mark(function n(r, a) { + var o, s, c, u, f, d, p, h, m, g; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((s = Object(i.a)(e.uuid, a())), + (c = s.current || {}), + (u = l.a.get(s.type).setValue), + !Array.isArray(c.value)) + ) { + n.next = 10; + break; + } + if (0 !== (f = x(s)).length) { + n.next = 8; + break; + } + return (d = s.options[0]), n.abrupt("return", u(s, d)); + case 8: + return ( + (p = { + value: f.map(function (e) { + return e.value; + }), + text: f.map(function (e) { + return e.text; + }), + selected: !0, + }), + n.abrupt("return", u(s, p)) + ); + case 10: + if ( + ((h = null), + !(h = + null === (o = s.options) || void 0 === o + ? void 0 + : o.find(function (e) { + return e.text === c.text; + }))) + ) { + n.next = 14; + break; + } + return n.abrupt("return", u(s, h)); + case 14: + if (!t) { + n.next = 18; + break; + } + if ( + !(h = + null === (m = s.options) || void 0 === m + ? void 0 + : m.find(function (e) { + return e.text === t; + })) + ) { + n.next = 18; + break; + } + return n.abrupt("return", u(s, h)); + case 18: + if (!s.options) { + n.next = 21; + break; + } + return (g = s.options[0]), n.abrupt("return", u(s, g)); + case 21: + return n.abrupt("return", Promise.resolve()); + case 22: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }, + j = function (e, t, n) { + return (function () { + var r = g( + regeneratorRuntime.mark(function r(a) { + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + a(Object(u.j)(Object(f.h)(e, { option: t }))), + r.abrupt("return", a(S(e, n))) + ); + case 2: + case "end": + return r.stop(); + } + }, r); + }) + ); + return function (e) { + return r.apply(this, arguments); + }; + })(); + }, + S = function (e, t) { + return function (n, r) { + var a = Object(i.a)(e.uuid, r()); + if (a.initLock) return Promise.resolve(); + var o = Object(i.d)(r()), + u = (function (e) { + var t = new s.a(); + return ( + e.forEach(function (e) { + t.createNode(e.name); + }), + e.forEach(function (n) { + e.forEach(function (e) { + n !== e && + l.a.get(n.type).dependsOn(n, e) && + t.link(n.name, e.name); + }); + }), + t + ); + })(o).getNode(a.name), + f = []; + return ( + u && + (f = u.getOptimizedInputEdges().map(function (e) { + var t = o.find(function (t) { + return t.name === e.inputNode.name; + }); + return t + ? l.a.get(t.type).updateOptions(t) + : Promise.resolve(); + })), + Promise.all(f).then(function () { + if (t) { + var e = r().dashboard.getModel(); + null == e || e.processRepeats(), + n(Object(c.c)({ query: E(r) })), + null == e || e.startRefresh(); + } + }) + ); + }; + }, + E = function (e) { + var t = e().location.query, + n = Object.keys(t) + .filter(function (e) { + return -1 === e.indexOf("var-"); + }) + .reduce(function (e, n) { + return (e[n] = t[n]), e; + }, {}), + r = !0, + a = !1, + o = void 0; + try { + for ( + var s, c = Object(i.d)(e())[Symbol.iterator](); + !(r = (s = c.next()).done); + r = !0 + ) { + var u = s.value; + if (!u.skipUrlSync) { + var f = l.a.get(u.type); + n["var-" + u.name] = f.getValueForUrl(u); + } + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == c.return || c.return(); + } finally { + if (a) throw o; + } + } + return n; + }; + }, + M76c: function (e, t) { + var n = "public/app/features/playlist/partials/playlists.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n <div ng-if="ctrl.playlists.length > 0">\n <div class=page-action-bar>\n <div class=page-action-bar__spacer></div>\n <a class="btn btn-primary pull-right" href=playlists/create>\n New playlist\n </a>\n </div>\n\n <table class="filter-table filter-table--hover">\n <thead>\n <th><strong>Name</strong></th>\n <th style=width:100px></th>\n <th style=width:78px></th>\n </thead>\n <tr ng-repeat="playlist in ctrl.playlists">\n <td class=link-td>\n <a href=playlists/edit/{{playlist.id}}>{{playlist.name}}</a>\n </td>\n <td class=dropdown>\n <button class="btn btn-inverse btn-small" data-toggle=dropdown>\n Start playlist\n <i class="fa fa-caret-down"></i>\n </button>\n <ul class=dropdown-menu role=menu>\n <li>\n <a href={{playlist.startUrl}}>\n <i class="fa fa-play"></i> In Normal mode\n </a>\n <a href="{{playlist.startUrl}}?kiosk=tv">\n <i class="fa fa-play"></i> In TV mode\n </a>\n <a href="{{playlist.startUrl}}?kiosk=tv&autofitpanels">\n <i class="fa fa-play"></i> In TV mode <span class=muted>(with auto fit panels)</span>\n </a>\n <a href={{playlist.startUrl}}?kiosk>\n <i class="fa fa-play"></i> In Kiosk mode\n </a>\n <a ng-href={{playlist.startUrl}}?kiosk&autofitpanels>\n <i class="fa fa-play"></i> In Kiosk mode <span class=muted>(with auto fit panels)</span>\n </a>\n </li>\n </ul>\n </td>\n <td class=text-right>\n <a ng-click=ctrl.removePlaylist(playlist) class="btn btn-danger btn-small">\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </table>\n </div>\n <div ng-if="ctrl.playlists.length === 0">\n <empty-list-cta title="\'There are no playlists created yet\'" buttonicon="\'fa fa-plus\'" buttonlink="\'playlists/create\'" buttontitle="\'Create Playlist\'" protip="\'You can use playlists to cycle dashboards on TVs without user control\'" protiplink="\'http://docs.grafana.org/reference/playlist/\'" protiplinktitle="\'Learn more\'" protiptarget="\'_blank\'"/>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + MAcC: function (e, t, n) { + "use strict"; + var r = n("Obii"), + a = n("GkHB"), + o = n("t8hP"), + i = n("tLB3"), + l = n.n(i); + n.d(t, "a", function () { + return s; + }), + n.d(t, "c", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }); + var s = function (e) { + var t = e.field.links; + if (t && 0 !== t.length) + return { + getLinks: function (n) { + var i, + s, + c = {}; + if (e.view) { + var u = e.view.dataFrame; + c.__series = { + value: { name: u.name, refId: u.refId }, + text: "Series", + }; + var f = void 0 !== e.colIndex ? u.fields[e.colIndex] : void 0; + if ( + (f && + (console.log("Full Field Info:", f), + (c.__field = { + value: { name: f.name, labels: f.labels }, + text: "Field", + })), + isNaN(e.rowIndex)) + ) + c.__value = { + value: { + raw: e.display.numeric, + numeric: e.display.numeric, + text: Object(r.formattedValueToString)(e.display), + calc: e.name, + }, + text: "Value", + }; + else { + var d = Object(r.getTimeField)(u).timeField; + (c.__value = { + value: { + raw: f.values.get(e.rowIndex), + numeric: e.display.numeric, + text: Object(r.formattedValueToString)(e.display), + time: d ? d.values.get(e.rowIndex) : void 0, + }, + text: "Value", + }), + e.view && + (c.__data = { + value: { + name: u.name, + refId: u.refId, + fields: + ((i = u), + (s = e.rowIndex), + new Proxy( + {}, + { + get: function (e, t) { + var n = i.fields.find(function (e) { + return t === e.name; + }); + if (!n) { + var a = l()(t); + n = i.fields[a]; + } + if ( + (n || + (n = i.fields.find(function (e) { + return t === e.config.title; + })), + n) + ) { + n.display || + (n.display = Object( + r.getDisplayProcessor + )({ field: n, theme: o.config.theme })); + var c = n.values.get(s), + u = n.display(c); + return ( + (u.toString = function () { + return Object( + r.formattedValueToString + )(u); + }), + u + ); + } + }, + } + )), + }, + text: "Data", + }); + } + } else console.log("VALUE", e); + return t.map(function (t) { + return Object(a.c)().getDataLinkUIModel(t, c, e); + }); + }, + }; + }, + c = function (e) { + var t = e.links; + if (t && 0 !== t.length) + return { + getLinks: function () { + return t.map(function (t) { + return Object(a.c)().getDataLinkUIModel(t, e.scopedVars, e); + }); + }, + }; + }, + u = function (e, t) { + var n = {}; + return ( + (n.__value = { + value: { raw: e.values.get(t) }, + text: "Raw value", + }), + e.config.links + ? e.config.links.map(function (t) { + return Object(a.c)().getDataLinkUIModel(t, n, e); + }) + : [] + ); + }; + }, + MIBK: function (e, t, n) { + "use strict"; + var r = {}; + n.r(r), + n.d(r, "cardChrome", function () { + return s; + }), + n.d(r, "listItem", function () { + return c; + }); + var a = n("Fts8"), + o = n("J4FA"), + i = n("eGKl"), + l = n("qQGB"); + function s(e) { + return e.isDark + ? "\n background: linear-gradient(135deg, " + .concat(e.colors.dark8, ", ") + .concat( + e.colors.dark6, + ");\n &:hover {\n background: linear-gradient(135deg, " + ) + .concat(e.colors.dark9, ", ") + .concat( + e.colors.dark6, + ");\n }\n box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.3);\n border-radius: " + ) + .concat(e.border.radius.md, ";\n ") + : "\n background: linear-gradient(135deg, " + .concat(e.colors.gray6, ", ") + .concat( + e.colors.gray7, + ");\n &:hover {\n background: linear-gradient(135deg, " + ) + .concat(e.colors.gray7, ", ") + .concat( + e.colors.gray6, + ");\n }\n box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.1);\n border-radius: " + ) + .concat(e.border.radius.md, ";\n "); + } + function c(e) { + return e.isDark + ? "\n background: " + .concat( + e.colors.dark7, + ";\n &:hover {\n background: " + ) + .concat( + e.colors.dark9, + ";\n }\n box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.3);\n border-radius: " + ) + .concat(e.border.radius.md, ";\n ") + : "\n background: " + .concat( + e.colors.gray7, + ";\n &:hover {\n background: " + ) + .concat( + e.colors.gray6, + ";\n }\n box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.1);\n border-radius: " + ) + .concat(e.border.radius.md, ";\n "); + } + n.d(t, "g", function () { + return l.a; + }), + n.d(t, "a", function () { + return a.a; + }), + n.d(t, "i", function () { + return a.d; + }), + n.d(t, "c", function () { + return o.b; + }), + n.d(t, "b", function () { + return o.a; + }), + n.d(t, "e", function () { + return i.a; + }), + n.d(t, "h", function () { + return a.c; + }), + n.d(t, "d", function () { + return a.b; + }), + n.d(t, "f", function () { + return r; + }); + }, + MbqT: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("wK5K"); + for (var a in r) + "default" !== a && + (function (e) { + n.d(t, e, function () { + return r[e]; + }); + })(a); + }, + N1Zo: function (e, t) { + var n = "public/app/plugins/panel/table/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=table-panel-container>\n\t<div class=table-panel-scroll ng-show=ctrl.table.rows.length>\n\t\t<table class=table-panel-table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th ng-repeat="col in ctrl.table.columns" ng-if=!col.hidden class="table-panel-table-header-inner table-panel-header-bg">\n\t\t\t\t\t\t<div class="table-panel-table-header-inner pointer" ng-click="ctrl.toggleColumnSort(col, $index)">\n\t\t\t\t\t\t\t{{col.title}}\n\t\t\t\t\t\t\t<span class=table-panel-table-header-controls ng-if=col.sort>\n\t\t\t\t\t\t\t\t<i class="fa fa-caret-down" ng-show=col.desc></i>\n\t\t\t\t\t\t\t\t<i class="fa fa-caret-up" ng-hide=col.desc></i>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n<div class=datapoints-warning ng-show="ctrl.table.rows.length===0">\n\t<span class=small>\n\t\tNo data to show <tip>Nothing returned by data query</tip>\n\t</span>\n</div>\n<div class=table-panel-footer>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + "N9j+": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "b", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("kDLi"), + l = n("AI1G"), + s = n("y+vE"), + c = n("e9GU"), + u = n("KODV"); + function f() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n width: 100%;\n justify-content: center;\n ", + ]); + return ( + (f = function () { + return e; + }), + e + ); + } + var d = function (e) { + var t = e.dashboard, + n = e.onSaveSuccess, + r = e.getDashboard, + l = e.useNewForms, + s = e.variant, + u = l ? i.Forms.Button : i.Button; + return a.a.createElement(i.ModalsController, null, function (e) { + var i = e.showModal, + l = e.hideModal; + return a.a.createElement( + u, + { + className: Object(o.css)(f()), + onClick: function () { + i(c.a, { + dashboard: r ? r() : t, + onSaveSuccess: n, + onDismiss: l, + }); + }, + variant: s, + }, + "Save As..." + ); + }); + }, + p = Object(l.a)( + Object(s.a)(function (e) { + var t = e.dashboard, + n = e.onSaveSuccess, + r = e.getDashboard, + o = e.useNewForms ? i.Forms.Button : i.Button; + return a.a.createElement(i.ModalsController, null, function (e) { + var i = e.showModal, + l = e.hideModal; + return a.a.createElement( + o, + { + onClick: function () { + i(u.a, { + dashboard: r ? r() : t, + onSaveSuccess: n, + onDismiss: l, + }); + }, + }, + "Save dashboard" + ); + }); + }) + ), + h = Object(l.a)(Object(s.a)(d)); + }, + NPB1: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return m; + }), + n.d(t, "a", function () { + return g; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("PbtU"), + i = n("txxJ"), + l = n("Obii"), + s = n("LCjV"), + c = n("HJRA"), + u = n("GQ3c"), + f = n("ZFWI"); + function d(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var p, + h = (function () { + function e(t, n, r, a, o) { + var i = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$timeout = n), + (this.$location = r), + (this.timer = a), + (this.contextSrv = o), + (this.time = l.DefaultTimeRange.raw), + c.a.on(u.CoreEvents.zoomOut, this.zoomOut.bind(this)), + c.a.on(u.CoreEvents.shiftTime, this.shiftTime.bind(this)), + t.$on("$routeUpdate", this.routeUpdated.bind(this)), + document.addEventListener("visibilitychange", function () { + i.autoRefreshBlocked && + "visible" === document.visibilityState && + ((i.autoRefreshBlocked = !1), i.refreshDashboard()); + }); + } + var t, n, r; + return ( + (e.$inject = [ + "$rootScope", + "$timeout", + "$location", + "timer", + "contextSrv", + ]), + (t = e), + (n = [ + { + key: "init", + value: function (e) { + this.timer.cancelAll(), + (this.dashboard = e), + (this.time = e.time), + (this.refresh = e.refresh), + this.initTimeFromUrl(), + this.parseTime(), + (this.timeAtLoad = a.a.cloneDeep(this.time)), + this.refresh && this.setAutoRefresh(this.refresh); + }, + }, + { + key: "getValidIntervals", + value: function (e) { + if (!this.contextSrv.minRefreshInterval) return e; + var t = e + .filter(function (e) { + return "" !== e; + }) + .filter(this.contextSrv.isAllowedInterval); + return ( + -1 === t.indexOf(this.contextSrv.minRefreshInterval) && + t.unshift(this.contextSrv.minRefreshInterval), + t + ); + }, + }, + { + key: "parseTime", + value: function () { + a.a.isString(this.time.from) && + this.time.from.indexOf("Z") >= 0 && + (this.time.from = Object(l.dateTime)(this.time.from).utc()), + a.a.isString(this.time.to) && + this.time.to.indexOf("Z") >= 0 && + (this.time.to = Object(l.dateTime)(this.time.to).utc()); + }, + }, + { + key: "parseUrlParam", + value: function (e) { + if (-1 !== e.indexOf("now")) return e; + if (8 === e.length) { + var t = Object(l.toUtc)(e, "YYYYMMDD"); + if (t.isValid()) return t; + } else if (15 === e.length) { + var n = Object(l.toUtc)(e, "YYYYMMDDTHHmmss"); + if (n.isValid()) return n; + } + if (!isNaN(e)) { + var r = parseInt(e, 10); + return Object(l.toUtc)(r); + } + return null; + }, + }, + { + key: "getTimeWindow", + value: function (e, t) { + var n, + r = parseInt(e, 10); + return ( + (n = + t.match(/^\d+$/) && parseInt(t, 10) + ? parseInt(t, 10) + : o.a.interval_to_ms(t)), + { + from: Object(l.toUtc)(r - n / 2), + to: Object(l.toUtc)(r + n / 2), + } + ); + }, + }, + { + key: "initTimeFromUrl", + value: function () { + var e = this.$location.search(); + e.time && + e["time.window"] && + (this.time = this.getTimeWindow(e.time, e["time.window"])), + e.from && + (this.time.from = + this.parseUrlParam(e.from) || this.time.from), + e.to && + (this.time.to = this.parseUrlParam(e.to) || this.time.to), + e.to && + -1 === e.to.indexOf("now") && + ((this.refresh = !1), (this.dashboard.refresh = !1)), + e.refresh && + (this.contextSrv.isAllowedInterval(e.refresh) + ? (this.refresh = e.refresh || this.refresh) + : (this.refresh = f.a.minRefreshInterval)); + }, + }, + { + key: "routeUpdated", + value: function () { + var e = this.$location.search(); + if (!e.left) { + var t = this.timeRangeForUrl(); + e.from && e.to + ? (e.from === t.from && e.to === t.to) || + (this.initTimeFromUrl(), this.setTime(this.time, !0)) + : this.timeHasChangedSinceLoad() && + this.setTime(this.timeAtLoad, !0); + } + }, + }, + { + key: "timeHasChangedSinceLoad", + value: function () { + return ( + this.timeAtLoad && + (this.timeAtLoad.from !== this.time.from || + this.timeAtLoad.to !== this.time.to) + ); + }, + }, + { + key: "setAutoRefresh", + value: function (e) { + var t = this; + if ( + ((this.dashboard.refresh = e), this.cancelNextRefresh(), e) + ) { + var n = this.contextSrv.getValidInterval(e), + r = o.a.interval_to_ms(n); + this.refreshTimer = this.timer.register( + this.$timeout(function () { + t.startNextRefreshTimer(r), t.refreshDashboard(); + }, r) + ); + } + this.$timeout(function () { + var n = t.$location.search(); + e + ? ((n.refresh = t.contextSrv.getValidInterval(e)), + t.$location.search(n)) + : n.refresh && (delete n.refresh, t.$location.search(n)); + }); + }, + }, + { + key: "refreshDashboard", + value: function () { + this.dashboard.timeRangeUpdated(this.timeRange()); + }, + }, + { + key: "startNextRefreshTimer", + value: function (e) { + var t = this; + this.cancelNextRefresh(), + (this.refreshTimer = this.timer.register( + this.$timeout(function () { + t.startNextRefreshTimer(e), + t.contextSrv.isGrafanaVisible() + ? t.refreshDashboard() + : (t.autoRefreshBlocked = !0); + }, e) + )); + }, + }, + { + key: "cancelNextRefresh", + value: function () { + this.timer.cancel(this.refreshTimer); + }, + }, + { + key: "setTime", + value: function (e, t) { + if ( + (a.a.extend(this.time, e), + Object(l.isDateTime)(e.to) + ? ((this.oldRefresh = + this.dashboard.refresh || this.oldRefresh), + this.setAutoRefresh(!1)) + : this.oldRefresh && + this.oldRefresh !== this.dashboard.refresh && + (this.setAutoRefresh(this.oldRefresh), + (this.oldRefresh = null)), + !0 !== t) + ) { + var n = this.timeRangeForUrl(), + r = this.$location.search(); + (r.from = n.from), (r.to = n.to), this.$location.search(r); + } + this.$timeout(this.refreshDashboard.bind(this), 0); + }, + }, + { + key: "timeRangeForUrl", + value: function () { + var e = this.timeRange().raw; + return ( + Object(l.isDateTime)(e.from) && + (e.from = e.from.valueOf().toString()), + Object(l.isDateTime)(e.to) && + (e.to = e.to.valueOf().toString()), + e + ); + }, + }, + { + key: "timeRange", + value: function () { + var e = { + from: Object(l.isDateTime)(this.time.from) + ? Object(l.dateTime)(this.time.from) + : this.time.from, + to: Object(l.isDateTime)(this.time.to) + ? Object(l.dateTime)(this.time.to) + : this.time.to, + }, + t = this.dashboard ? this.dashboard.getTimezone() : void 0; + return { + from: l.dateMath.parse(e.from, !1, t), + to: l.dateMath.parse(e.to, !0, t), + raw: e, + }; + }, + }, + { + key: "zoomOut", + value: function (e) { + var t = this.timeRange(), + n = Object(s.b)(t, e), + r = n.from, + a = n.to; + this.setTime({ + from: Object(l.toUtc)(r), + to: Object(l.toUtc)(a), + }); + }, + }, + { + key: "shiftTime", + value: function (e) { + var t = this.timeRange(), + n = Object(s.a)(e, t), + r = n.from, + a = n.to; + this.setTime({ + from: Object(l.toUtc)(r), + to: Object(l.toUtc)(a), + }); + }, + }, + ]) && d(t.prototype, n), + r && d(t, r), + e + ); + })(); + function m(e) { + p = e; + } + function g() { + return p; + } + i.c.service("timeSrv", h); + }, + NXk7: function (e, t, n) { + "use strict"; + var r = n("K9Ia"), + a = n("XlPw"), + o = n("0/uQ"), + i = n("F/XL"), + l = n("p0ib"), + s = n("psW0"), + c = n("S1nX"), + u = n("VnD/"), + f = n("ZqrO"), + d = n("9Z1F"), + p = n("ny24"), + h = n("tNVB"), + m = n("67Y/"), + g = n("xMyE"), + b = n("JSc3"), + v = n("Obii"), + y = n("Xmxp"), + w = n("ZFWI"), + O = n("rd46"), + x = n("GQ3c"), + k = n("umNM"), + j = n("txxJ"), + S = n("3WX/"), + E = n.n(S), + C = function (e) { + return { + canParse: function (t) { + return ( + ((null == t ? void 0 : t.method) + ? null == t + ? void 0 + : t.method.toLowerCase() + : "") === e + ); + }, + parse: function (e) { + return e.get("content-type") + ? e + : (e.set("content-type", "application/json"), e); + }, + }; + }, + P = [ + C("post"), + C("put"), + { + canParse: function () { + return !0; + }, + parse: function (e) { + return e.get("accept") + ? e + : (e.set("accept", "application/json, text/plain, */*"), e); + }, + }, + ], + T = function (e) { + var t = (null == e ? void 0 : e.headers) + ? new Headers(e.headers) + : new Headers(); + return P.filter(function (t) { + return t.canParse(e); + }).reduce(function (e, t) { + return t.parse(e); + }, t); + }, + D = function (e) { + if (!e) return !1; + var t = e.get("content-type"); + return !(!t || "application/json" !== t.toLowerCase()); + }, + A = function (e, t) { + return e + ? e.data && "string" != typeof e.data + ? t + ? JSON.stringify(e.data) + : new URLSearchParams(e.data) + : e.data + : e; + }; + var _, + N = function (e) { + var t, + n = E()(e.params, function (e) { + return void 0 === e || (e && 0 === e.length); + }), + r = + ((t = n), + Object.keys(t) + .map(function (e) { + var n = t[e]; + return Array.isArray(n) + ? n + .map(function (t) { + return "" + .concat(encodeURIComponent(e), "=") + .concat(encodeURIComponent(t)); + }) + .join("&") + : "" + .concat(encodeURIComponent(e), "=") + .concat(encodeURIComponent(n)); + }) + .join("&")); + return e.params && r.length ? "".concat(e.url, "?").concat(r) : e.url; + }; + function M(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function I(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? M(Object(n), !0).forEach(function (t) { + R(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : M(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function R(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function F(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function L(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + F(o, r, a, i, l, "next", e); + } + function l(e) { + F(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function V(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return B; + }), + n.d(t, "b", function () { + return $; + }), + n.d(t, "c", function () { + return q; + }), + (function (e) { + (e[(e.request = 0)] = "request"), + (e[(e.dataSourceRequest = 1)] = "dataSourceRequest"); + })(_ || (_ = {})); + var B = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.inFlightRequests = new r.b()), + (this.HTTP_REQUEST_CANCELED = -1), + (this.dependencies = { + fromFetch: b.a, + appEvents: y.b, + contextSrv: k.a, + logout: function () { + window.location.href = w.b.appSubUrl + "/logout"; + }, + }), + (this.requestErrorHandler = function (e) { + var t; + if (!e.isHandled) { + var r = + null !== (t = e.data) && void 0 !== t + ? t + : { message: "Unexpected error" }; + if ( + ("string" == typeof r && (r = { message: r }), + 422 === e.status) + ) + throw ( + (n.dependencies.appEvents.emit(v.AppEvents.alertWarning, [ + "Validation failed", + r.message, + ]), + r) + ); + if (r.message) { + var a = "", + o = r.message; + o.length > 80 && ((a = o), (o = "Error")), + n.dependencies.appEvents.emit( + e.status < 500 + ? v.AppEvents.alertWarning + : v.AppEvents.alertError, + [o, a] + ); + } + throw r; + } + }), + (this.parseRequestOptions = function (e, t) { + var n; + if ( + ((e.retry = null !== (n = e.retry) && void 0 !== n ? n : 0), + !e.url.match(/^http/)) + ) { + var r; + if (t) + (e.headers = + null !== (r = e.headers) && void 0 !== r ? r : {}), + (e.headers["X-Grafana-Org-Id"] = t); + e.url.startsWith("/") && (e.url = e.url.substring(1)), + e.url.endsWith("/") && (e.url = e.url.slice(0, -1)); + } + return e; + }), + (this.parseDataSourceRequestOptions = function (e, t, n) { + var r, a; + ((e.retry = null !== (r = e.retry) && void 0 !== r ? r : 0), + e.url.match(/^http/)) || + (t && + ((e.headers = e.headers || {}), + (e.headers["X-Grafana-Org-Id"] = t)), + e.url.startsWith("/") && (e.url = e.url.substring(1)), + (null === (a = e.headers) || void 0 === a + ? void 0 + : a.Authorization) && + ((e.headers["X-DS-Authorization"] = e.headers.Authorization), + delete e.headers.Authorization), + n && (e.headers["X-Grafana-NoCache"] = "true")); + return e; + }), + (this.getFromFetchStream = function (e) { + var t = N(e), + r = (function (e) { + var t = e.method, + n = T(e), + r = D(n), + a = A(e, r); + return (null == e ? void 0 : e.withCredentials) + ? { method: t, headers: n, body: a, credentials: "include" } + : { method: t, headers: n, body: a }; + })(e); + return n.dependencies.fromFetch(t, r).pipe( + Object(s.a)( + (function () { + var t = L( + regeneratorRuntime.mark(function t(n) { + var r, a, o, i, l, s, c, u, f, d; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (r = n.status), + (a = n.statusText), + (o = n.ok), + (i = n.headers), + (l = n.url), + (s = n.type), + (c = n.redirected), + (t.next = 3), + n.text() + ); + case 3: + u = t.sent; + try { + f = JSON.parse(u); + } catch (e) { + f = u; + } + return ( + (d = { + status: r, + statusText: a, + ok: o, + data: f, + headers: i, + url: l, + type: s, + redirected: c, + config: e, + }), + t.abrupt("return", d) + ); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })() + ), + Object(c.a)() + ); + }), + (this.toFailureStream = function (e) { + return function (t) { + return t.pipe( + Object(u.a)(function (e) { + return !1 === e.ok; + }), + Object(s.a)(function (e) { + var t = { + status: e.status, + statusText: e.statusText, + data: e.data, + }; + return Object(a.a)(t); + }), + Object(f.a)(function (t) { + return t.pipe( + Object(s.a)(function (t, r) { + var i = 0 === r && 0 === e.retry; + return 401 === t.status && + n.dependencies.contextSrv.user.isSignedIn && + i + ? Object(o.a)(n.loginPing()).pipe( + Object(d.a)(function (e) { + return 401 === e.status + ? (n.dependencies.logout(), Object(a.a)(e)) + : Object(a.a)(e); + }) + ) + : Object(a.a)(t); + }) + ); + }) + ); + }; + }), + (this.toDataSourceRequestFailureStream = function (e) { + return function (t) { + return t.pipe( + Object(u.a)(function (e) { + return !1 === e.ok; + }), + Object(s.a)(function (e) { + var t = { + status: e.status, + statusText: e.statusText, + data: e.data, + }; + return Object(a.a)(t); + }), + Object(f.a)(function (t) { + return t.pipe( + Object(s.a)(function (t, r) { + var i = !e.url.match(/^http/), + l = 0 === r && 0 === e.retry; + return i && l && 401 === t.status + ? Object(o.a)(n.loginPing()).pipe( + Object(d.a)(function (e) { + return 401 === e.status + ? (n.dependencies.logout(), Object(a.a)(e)) + : Object(a.a)(e); + }) + ) + : Object(a.a)(t); + }) + ); + }) + ); + }; + }), + (this.handleStreamCancellation = function (e, t) { + return function (r) { + return r.pipe( + Object(p.a)( + n.inFlightRequests.pipe( + Object(u.a)(function (t) { + var n = !1; + return ( + e && e.requestId && e.requestId === t && (n = !0), n + ); + }) + ) + ), + Object(h.a)(function () { + return { cancelled: !0 }; + }), + Object(d.a)(function (r) { + return r.cancelled + ? t === _.dataSourceRequest + ? Object(i.a)({ + data: [], + status: n.HTTP_REQUEST_CANCELED, + statusText: "Request was aborted", + config: e, + }) + : Object(i.a)([]) + : Object(a.a)(r); + }) + ); + }; + }), + t && (this.dependencies = I({}, this.dependencies, {}, t)); + } + var t, n, j, S, E, C, P, M, R, F, B; + return ( + (t = e), + (n = [ + { + key: "get", + value: + ((B = L( + regeneratorRuntime.mark(function e(t, n, r) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.request({ + method: "GET", + url: t, + params: n, + requestId: r, + }) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t, n) { + return B.apply(this, arguments); + }), + }, + { + key: "delete", + value: + ((F = L( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.request({ method: "DELETE", url: t }) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return F.apply(this, arguments); + }), + }, + { + key: "post", + value: + ((R = L( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.request({ + method: "POST", + url: t, + data: n, + }) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return R.apply(this, arguments); + }), + }, + { + key: "patch", + value: + ((M = L( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.request({ + method: "PATCH", + url: t, + data: n, + }) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return M.apply(this, arguments); + }), + }, + { + key: "put", + value: + ((P = L( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.request({ method: "PUT", url: t, data: n }) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return P.apply(this, arguments); + }), + }, + { + key: "withNoBackendCache", + value: function (e) { + var t = this; + return ( + (this.noBackendCache = !0), + e().finally(function () { + t.noBackendCache = !1; + }) + ); + }, + }, + { + key: "request", + value: + ((C = L( + regeneratorRuntime.mark(function e(t) { + var n, + r, + o, + i, + s = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.requestId && + this.inFlightRequests.next(t.requestId), + (t = this.parseRequestOptions( + t, + null === + (n = this.dependencies.contextSrv.user) || + void 0 === n + ? void 0 + : n.orgId + )), + (r = this.getFromFetchStream(t)), + (o = r.pipe(this.toFailureStream(t))), + (i = r.pipe( + Object(u.a)(function (e) { + return !0 === e.ok; + }), + Object(m.a)(function (e) { + return e.data; + }), + Object(g.a)(function (e) { + "GET" !== t.method && + (null == e ? void 0 : e.message) && + !1 !== t.showSuccessAlert && + s.dependencies.appEvents.emit( + v.AppEvents.alertSuccess, + [e.message] + ); + }) + )), + e.abrupt( + "return", + Object(l.a)(i, o) + .pipe( + Object(d.a)(function (e) { + return ( + setTimeout(function () { + return s.requestErrorHandler(e); + }, 50), + Object(a.a)(e) + ); + }), + this.handleStreamCancellation( + t, + _.request + ) + ) + .toPromise() + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return C.apply(this, arguments); + }), + }, + { + key: "resolveCancelerIfExists", + value: function (e) { + this.inFlightRequests.next(e); + }, + }, + { + key: "datasourceRequest", + value: + ((E = L( + regeneratorRuntime.mark(function e(t) { + var n, + r, + o, + i, + s = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.requestId && + this.inFlightRequests.next(t.requestId), + (t = this.parseDataSourceRequestOptions( + t, + null === + (n = this.dependencies.contextSrv.user) || + void 0 === n + ? void 0 + : n.orgId, + this.noBackendCache + )), + (r = this.getFromFetchStream(t)), + (o = r.pipe( + this.toDataSourceRequestFailureStream(t) + )), + (i = r.pipe( + Object(u.a)(function (e) { + return !0 === e.ok; + }), + Object(m.a)(function (e) { + return I({}, e); + }), + Object(g.a)(function (e) { + t.silent || + s.dependencies.appEvents.emit( + x.CoreEvents.dsRequestResponse, + e + ); + }) + )), + e.abrupt( + "return", + Object(l.a)(i, o) + .pipe( + Object(d.a)(function (e) { + return ( + "string" == typeof e.data && + 500 === e.status && + (e.data = { + error: e.statusText, + response: e.data, + }), + e.data && + !e.data.message && + "string" == typeof e.data.error && + (e.data.message = e.data.error), + t.silent || + s.dependencies.appEvents.emit( + x.CoreEvents.dsRequestError, + e + ), + Object(a.a)(e) + ); + }), + this.handleStreamCancellation( + t, + _.dataSourceRequest + ) + ) + .toPromise() + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return E.apply(this, arguments); + }), + }, + { + key: "loginPing", + value: function () { + return this.request({ + url: "/api/login/ping", + method: "GET", + retry: 1, + }); + }, + }, + { + key: "search", + value: function (e) { + return this.get("/api/search", e); + }, + }, + { + key: "getDashboardBySlug", + value: function (e) { + return this.get("/api/dashboards/db/".concat(e)); + }, + }, + { + key: "getDashboardByUid", + value: function (e) { + return this.get("/api/dashboards/uid/".concat(e)); + }, + }, + { + key: "getFolderByUid", + value: function (e) { + return this.get("/api/folders/".concat(e)); + }, + }, + { + key: "saveDashboard", + value: function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}, + n = t.message, + r = void 0 === n ? "" : n, + a = t.folderId, + o = t.overwrite, + i = void 0 !== o && o; + return this.post("/api/dashboards/db/", { + dashboard: e, + folderId: a, + overwrite: i, + message: r, + }); + }, + }, + { + key: "createFolder", + value: function (e) { + return this.post("/api/folders", e); + }, + }, + { + key: "deleteFolder", + value: function (e, t) { + return this.request({ + method: "DELETE", + url: "/api/folders/".concat(e), + showSuccessAlert: !0 === t, + }); + }, + }, + { + key: "deleteDashboard", + value: function (e, t) { + return this.request({ + method: "DELETE", + url: "/api/dashboards/uid/".concat(e), + showSuccessAlert: !0 === t, + }); + }, + }, + { + key: "deleteFoldersAndDashboards", + value: function (e, t) { + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + n.push( + this.createTask(this.deleteFolder.bind(this), !0, s, !0) + ); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + var c = !0, + u = !1, + f = void 0; + try { + for ( + var d, p = t[Symbol.iterator](); + !(c = (d = p.next()).done); + c = !0 + ) { + var h = d.value; + n.push( + this.createTask( + this.deleteDashboard.bind(this), + !0, + h, + !0 + ) + ); + } + } catch (e) { + (u = !0), (f = e); + } finally { + try { + c || null == p.return || p.return(); + } finally { + if (u) throw f; + } + } + return this.executeInOrder(n); + }, + }, + { + key: "moveDashboards", + value: function (e, t) { + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + n.push( + this.createTask(this.moveDashboard.bind(this), !0, s, t) + ); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return this.executeInOrder(n).then(function (e) { + return { + totalCount: e.length, + successCount: e.filter(function (e) { + return e.succeeded; + }).length, + alreadyInFolderCount: e.filter(function (e) { + return e.alreadyInFolder; + }).length, + }; + }); + }, + }, + { + key: "moveDashboard", + value: + ((S = L( + regeneratorRuntime.mark(function e(t, n) { + var r, a, o, i, l; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this.getDashboardByUid(t); + case 2: + if ( + ((r = e.sent), + (a = new O.a(r.dashboard, r.meta)), + (r.meta.folderId || 0 !== n.id) && + r.meta.folderId !== n.id) + ) { + e.next = 6; + break; + } + return e.abrupt("return", { + alreadyInFolder: !0, + }); + case 6: + return ( + (o = a.getSaveModelClone()), + (i = { folderId: n.id, overwrite: !1 }), + (e.prev = 8), + (e.next = 11), + this.saveDashboard(o, i) + ); + case 11: + return e.abrupt("return", { succeeded: !0 }); + case 14: + if ( + ((e.prev = 14), + (e.t0 = e.catch(8)), + "plugin-dashboard" === + (null === (l = e.t0.data) || void 0 === l + ? void 0 + : l.status)) + ) { + e.next = 18; + break; + } + return e.abrupt("return", { succeeded: !1 }); + case 18: + return ( + (e.t0.isHandled = !0), + (i.overwrite = !0), + (e.prev = 20), + (e.next = 23), + this.saveDashboard(o, i) + ); + case 23: + return e.abrupt("return", { succeeded: !0 }); + case 26: + return ( + (e.prev = 26), + (e.t1 = e.catch(20)), + e.abrupt("return", { succeeded: !1 }) + ); + case 29: + case "end": + return e.stop(); + } + }, + e, + this, + [ + [8, 14], + [20, 26], + ] + ); + }) + )), + function (e, t) { + return S.apply(this, arguments); + }), + }, + { + key: "createTask", + value: function (e, t) { + for ( + var n = arguments.length, + r = new Array(n > 2 ? n - 2 : 0), + a = 2; + a < n; + a++ + ) + r[a - 2] = arguments[a]; + return (function () { + var n = L( + regeneratorRuntime.mark(function n(a) { + var o; + return regeneratorRuntime.wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.prev = 0), (n.next = 3), e.apply(void 0, r) + ); + case 3: + return ( + (o = n.sent), + n.abrupt( + "return", + Array.prototype.concat(a, [o]) + ) + ); + case 7: + if (((n.prev = 7), (n.t0 = n.catch(0)), !t)) { + n.next = 11; + break; + } + return n.abrupt("return", a); + case 11: + throw n.t0; + case 12: + case "end": + return n.stop(); + } + }, + n, + null, + [[0, 7]] + ); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + }, + }, + { + key: "executeInOrder", + value: function (e) { + return e.reduce(function (e, t) { + return Promise.resolve(e).then(t); + }, []); + }, + }, + ]) && V(t.prototype, n), + j && V(t, j), + e + ); + })(); + j.b.factory("backendSrv", function () { + return $; + }); + var $ = new B(), + q = function () { + return $; + }; + }, + NhjT: function (e, t) { + var n = + "public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t<span ng-show=isFirst>Group by</span>\n\t\t\t<span ng-hide=isFirst>Then by</span>\n\t\t</label>\n\n\t\t<gf-form-dropdown model=agg.type lookup-text=true get-options=getBucketAggTypes() on-change=onTypeChanged() allow-custom=false label-mode=true css-class=width-10>\n\t\t</gf-form-dropdown>\n\t\t<gf-form-dropdown ng-if=agg.field model=agg.field get-options=getFieldsInternal() on-change=onChange() allow-custom=false label-mode=true css-class=width-12>\n\t\t</gf-form-dropdown>\n\t</div>\n\n\t<div class="gf-form gf-form--grow">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleOptions()>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showOptions></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showOptions></i>\n\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addBucketAgg()><i class="fa fa-plus"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if="bucketAggCount > 1">\n\t\t\t<a class=pointer ng-click=removeBucketAgg()><i class="fa fa-minus"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div ng-if="agg.type === \'date_histogram\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Interval</label>\n\t\t\t<gf-form-dropdown model=agg.settings.interval get-options=getIntervalOptions() on-change=onChangeInternal() allow-custom=true label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tTrim edges\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tTrim the edges on the timeseries datapoints\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class="gf-form-input max-width-12" type=number ng-model=agg.settings.trimEdges ng-change=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tOffset\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tChange the start value of each bucket by the specified positive (+) or negative offset (-) duration, such as 1h for an hour, or 1d for a day\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class="gf-form-input max-width-12" type=text ng-model=agg.settings.offset ng-change=onChangeInternal()>\n\t\t</div>\n\n\t</div>\n\n\t<div ng-if="agg.type === \'histogram\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Interval</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.interval ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'terms\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Order</label>\n\t\t\t<gf-form-dropdown model=agg.settings.order lookup-text=true get-options=getOrderOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Size</label>\n\t\t\t<gf-form-dropdown model=agg.settings.size lookup-text=true get-options=getSizeOptions() on-change=onChangeInternal() label-mode=true allow-custom=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Order By</label>\n\t\t\t<gf-form-dropdown model=agg.settings.orderBy lookup-text=true get-options=getOrderByOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tMissing\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tThe missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class="gf-form-input max-width-12" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'filters\'">\n\t\t<div class="gf-form-inline offset-width-7" ng-repeat="filter in agg.settings.filters">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-10">Query {{$index + 1}}</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-12" ng-model=filter.query spellcheck=false placeholder="Lucene query" ng-blur=onChangeInternal()>\n\t\t\t\t<label class="gf-form-label width-10">Label {{$index + 1}}</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-12" ng-model=filter.label spellcheck=false placeholder=Label ng-blur=onChangeInternal()>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=gf-form-label ng-if=$first>\n\t\t\t\t\t<a class=pointer ng-click=addFiltersQuery()><i class="fa fa-plus"></i></a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label ng-if=!$first>\n\t\t\t\t\t<a class=pointer ng-click=removeFiltersQuery(filter)><i class="fa fa-minus"></i></a>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'geohash_grid\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Precision</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.precision spellcheck=false placeholder=3 ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + NnAq: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("mNz5"), + l = n.n(i), + s = n("MIBK"), + c = n("4Qg+"); + function u() { + var e = d([ + "\n display: inline-block;\n position: relative;\n font-size: ", + ";\n min-height: ", + ";\n color: ", + ";\n padding: calc((", + " - ", + ") / 2) ", + " calc((", + " - ", + ") / 2)\n ", + ";\n line-height: 1;\n margin-left: -1px;\n border-radius: ", + ";\n border: ", + ";\n background: ", + ";\n cursor: pointer;\n z-index: 1;\n\n user-select: none;\n\n &:hover {\n color: ", + ";\n border: ", + ";\n z-index: 2;\n }\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = d([ + "\n position: absolute;\n top: 0;\n left: -100vw;\n opacity: 0;\n z-index: -1000;\n\n &:checked + label {\n border: ", + ";\n color: ", + ";\n text-shadow: ", + ";\n background: ", + ";\n z-index: 3;\n }\n\n &:focus + label {\n ", + ";\n z-index: 3;\n }\n\n &:disabled + label {\n cursor: default;\n background: ", + ";\n color: ", + ";\n }\n\n &:enabled + label:hover {\n text-shadow: ", + ";\n }\n ", + ]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var p = Object(s.g)(function (e, t) { + var n, + r = Object(c.c)(e, t), + a = r.fontSize, + i = r.height, + l = null !== (n = e.spacing[t]) && void 0 !== n ? n : e.spacing.md, + d = e.colors, + p = Object(s.e)({ light: d.gray33, dark: d.gray70 }, e.type), + h = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type), + m = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type), + g = Object(s.e)({ light: d.gray4, dark: d.gray25 }, e.type), + b = Object(s.e)({ light: d.gray70, dark: d.gray33 }, e.type), + v = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type), + y = Object(s.e)({ light: d.gray98, dark: d.gray10 }, e.type), + w = Object(s.e)({ light: d.gray95, dark: d.gray15 }, e.type), + O = Object(s.e)({ light: d.white, dark: d.gray05 }, e.type), + x = "1px solid ".concat(g), + k = "1px solid ".concat(v), + j = "1px solid ".concat(b), + S = "0 0 0.65px ".concat(h, ", 0 0 0.65px ").concat(h); + return { + radio: Object(o.css)(f(), k, m, S, O, Object(c.a)(e), w, p, S), + radioLabel: Object(o.css)( + u(), + a, + a, + p, + i, + a, + l, + i, + a, + l, + e.border.radius.sm, + x, + y, + h, + j + ), + }; + }), + h = function (e) { + var t = e.children, + n = e.active, + r = void 0 !== n && n, + i = e.disabled, + l = void 0 !== i && i, + c = e.size, + u = void 0 === c ? "md" : c, + f = e.onChange, + d = e.id, + h = e.name, + m = void 0 === h ? void 0 : h, + g = Object(s.h)(), + b = p(g, u); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("input", { + type: "radio", + className: Object(o.cx)(b.radio), + onChange: f, + disabled: l, + id: d, + checked: r, + name: m, + }), + a.a.createElement( + "label", + { className: Object(o.cx)(b.radioLabel), htmlFor: d }, + t + ) + ); + }; + function m() { + var e = b([ + "\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n label {\n border-radius: 0px;\n\n &:first-of-type {\n border-radius: 2px 0px 0px 2px;\n }\n\n &:last-of-type {\n border-radius: 0px 2px 2px 0px;\n }\n }\n ", + ]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g() { + var e = b([ + "\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n position: relative;\n ", + ]); + return ( + (g = function () { + return e; + }), + e + ); + } + function b(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + (h.displayName = "RadioButton"), + n.d(t, "a", function () { + return v; + }); + function v(e) { + var t = e.options, + n = e.value, + i = e.onChange, + s = e.disabled, + c = e.disabledOptions, + u = e.size, + f = void 0 === u ? "md" : u, + d = Object(r.useCallback)( + function (e) { + return function () { + i && i(e.value); + }; + }, + [i] + ), + p = Object(r.useRef)(l()("radiogroup-")), + b = { wrapper: Object(o.css)(g()), radioGroup: Object(o.css)(m()) }; + return a.a.createElement( + "div", + { className: b.radioGroup }, + t.map(function (e) { + var t = c && e.value && c.includes(e.value); + return a.a.createElement( + h, + { + size: f, + disabled: t || s, + active: n === e.value, + key: e.label, + onChange: d(e), + id: "option-".concat(e.value), + name: p.current, + }, + e.label + ); + }) + ); + } + v.displayName = "RadioButtonGroup"; + }, + NoBN: function (e, t) { + var n = "public/app/plugins/panel/heatmap/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<div class=heatmap-wrapper>\n\t<div class=heatmap-canvas-wrapper>\n\n\t\t<div class=datapoints-warning ng-if=ctrl.dataWarning>\n\t\t\t<span class=small bs-tooltip=ctrl.dataWarning.tip>{{ctrl.dataWarning.title}}</span>\n\t\t</div>\n\n\t\t<div class=heatmap-panel ng-dblclick=ctrl.zoomOut()></div>\n\t</div>\n\t<div class=heatmap-legend-wrapper ng-if=ctrl.panel.legend.show>\n\t\t<heatmap-legend></heatmap-legend>\n\t</div>\n</div>\n<div class=clearfix></div>\n" + ); + }, + ]), + (e.exports = n); + }, + Nu4n: function (e, t) { + function n(e) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = "MODULE_NOT_FOUND"), t); + } + (n.keys = function () { + return []; + }), + (n.resolve = n), + (e.exports = n), + (n.id = "Nu4n"); + }, + O945: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return k; + }), + n.d(t, "b", function () { + return S; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("TSYQ"), + i = n.n(o), + l = n("LvDl"), + s = n.n(l), + c = n("WnbS"), + u = n("t8hP"), + f = n("NPB1"), + d = n("kDLi"), + p = n("Obii"); + function h(e) { + return (h = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function m(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function g(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function b(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function v(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function y(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function w(e, t) { + return !t || ("object" !== h(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function O(e) { + return (O = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function x(e, t) { + return (x = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var k = (function (e) { + function t() { + var e, n; + v(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = w( + this, + (e = O(t)).call.apply(e, [this].concat(a)) + )).element = null), + (n.angularQueryEditor = null), + (n.state = { + datasource: null, + isCollapsed: !1, + loadedDataSourceValue: void 0, + hasTextEditMode: !1, + data: null, + }), + (n.onToggleCollapse = function () { + n.setState({ isCollapsed: !n.state.isCollapsed }); + }), + (n.onRunQuery = function () { + n.props.panel.refresh(); + }), + (n.onToggleEditMode = function () { + n.angularScope && + n.angularScope.toggleEditorMode && + (n.angularScope.toggleEditorMode(), + n.angularQueryEditor.digest()), + n.state.isCollapsed && n.setState({ isCollapsed: !1 }); + }), + (n.onRemoveQuery = function () { + n.props.onRemoveQuery(n.props.query); + }), + (n.onCopyQuery = function () { + var e = s.a.cloneDeep(n.props.query); + n.props.onAddQuery(e); + }), + (n.onDisableQuery = function () { + (n.props.query.hide = !n.props.query.hide), + n.onRunQuery(), + n.forceUpdate(); + }), + n + ); + } + var n, r, o, l, h; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && x(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.loadDatasource(); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.angularQueryEditor && this.angularQueryEditor.destroy(); + }, + }, + { + key: "getAngularQueryComponentScope", + value: function () { + var e = this.props, + t = e.panel, + n = e.query, + r = e.dashboard; + return { + datasource: this.state.datasource, + target: n, + panel: t, + dashboard: r, + refresh: function () { + return t.refresh(); + }, + render: function () { + return t.render(); + }, + events: t.events, + range: Object(f.a)().timeRange(), + }; + }, + }, + { + key: "loadDatasource", + value: + ((l = regeneratorRuntime.mark(function e() { + var t, n, r, a, o; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props), + (n = t.query), + (r = t.panel), + (a = Object(c.a)()), + (e.next = 4), + a.get(n.datasource || r.datasource) + ); + case 4: + (o = e.sent), + this.setState({ + datasource: o, + loadedDataSourceValue: this.props + .dataSourceValue, + hasTextEditMode: s.a.has( + o, + "components.QueryCtrl.prototype.toggleEditorMode" + ), + }); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + })), + (h = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = l.apply(e, t); + function o(e) { + b(a, n, r, o, i, "next", e); + } + function i(e) { + b(a, n, r, o, i, "throw", e); + } + o(void 0); + }); + }), + function () { + return h.apply(this, arguments); + }), + }, + { + key: "componentDidUpdate", + value: function (e) { + var t = this.state.loadedDataSourceValue, + n = this.props, + r = n.data, + a = n.query, + o = n.panel; + if ( + (r !== e.data && + (this.setState({ data: S(r, a.refId) }), + this.angularScope && + (this.angularScope.range = Object(f.a)().timeRange()), + this.angularQueryEditor && + (function (e, t, n) { + if (t !== j) { + if (((j = t), t.state === p.LoadingState.Done)) { + var r = t.series.map(function (e) { + return Object(p.toLegacyResponseData)(e); + }); + e.events.emit(p.PanelEvents.dataReceived, r); + } else + t.state === p.LoadingState.Error && + e.events.emit(p.PanelEvents.dataError, t.error); + setTimeout(n.digest); + } + })(o, r, this.angularQueryEditor)), + t !== this.props.dataSourceValue) + ) + return ( + this.angularQueryEditor && + (this.angularQueryEditor.destroy(), + (this.angularQueryEditor = null)), + void this.loadDatasource() + ); + if (this.element && !this.angularQueryEditor) { + var i = Object(u.getAngularLoader)(), + l = { ctrl: this.getAngularQueryComponentScope() }; + (this.angularQueryEditor = i.load( + this.element, + l, + '<plugin-component type="query-ctrl" />' + )), + (this.angularScope = l.ctrl); + } + }, + }, + { + key: "renderPluginEditor", + value: function () { + var e = this, + t = this.props, + n = t.query, + r = t.onChange, + o = this.state, + i = o.datasource, + l = o.data; + if (i.components.QueryCtrl) + return a.a.createElement("div", { + ref: function (t) { + return (e.element = t); + }, + }); + if (i.components.QueryEditor) { + var s = i.components.QueryEditor; + return a.a.createElement(s, { + query: n, + datasource: i, + onChange: r, + onRunQuery: this.onRunQuery, + data: l, + }); + } + return a.a.createElement( + "div", + null, + "Data source plugin does not export any Query Editor component" + ); + }, + }, + { + key: "renderCollapsedText", + value: function () { + var e = this.state.datasource; + return e.getQueryDisplayText + ? e.getQueryDisplayText(this.props.query) + : this.angularScope && this.angularScope.getCollapsedText + ? this.angularScope.getCollapsedText() + : null; + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.query, + r = t.inMixedMode, + o = this.state, + l = o.datasource, + s = o.isCollapsed, + c = o.hasTextEditMode, + u = n.hide, + f = i()("query-editor-row__body gf-form-query", { + "query-editor-row__body--collapsed": s, + }), + p = i()("query-editor-row", { + "query-editor-row--disabled": u, + "gf-form-disabled": u, + }); + return l + ? a.a.createElement( + "div", + { className: p }, + a.a.createElement( + "div", + { className: "query-editor-row__header" }, + a.a.createElement( + "div", + { + className: "query-editor-row__ref-id", + onClick: this.onToggleCollapse, + }, + s && + a.a.createElement("i", { + className: "fa fa-caret-right", + }), + !s && + a.a.createElement("i", { + className: "fa fa-caret-down", + }), + a.a.createElement("span", null, n.refId), + r && + a.a.createElement( + "em", + { className: "query-editor-row__context-info" }, + " (", + l.name, + ")" + ), + u && + a.a.createElement( + "em", + { className: "query-editor-row__context-info" }, + " Disabled" + ) + ), + a.a.createElement( + "div", + { + className: "query-editor-row__collapsed-text", + onClick: this.onToggleEditMode, + }, + s && + a.a.createElement( + "div", + null, + this.renderCollapsedText() + ) + ), + a.a.createElement( + "div", + { className: "query-editor-row__actions" }, + c && + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: this.onToggleEditMode, + title: "Toggle text edit mode", + }, + a.a.createElement("i", { + className: "fa fa-fw fa-pencil", + }) + ), + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: function () { + return e.props.onMoveQuery(n, 1); + }, + }, + a.a.createElement("i", { + className: "fa fa-fw fa-arrow-down", + }) + ), + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: function () { + return e.props.onMoveQuery(n, -1); + }, + }, + a.a.createElement("i", { + className: "fa fa-fw fa-arrow-up", + }) + ), + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: this.onCopyQuery, + title: "Duplicate query", + }, + a.a.createElement("i", { + className: "fa fa-fw fa-copy", + }) + ), + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: this.onDisableQuery, + title: "Disable/enable query", + }, + u && + a.a.createElement("i", { + className: "fa fa-fw fa-eye-slash", + }), + !u && + a.a.createElement("i", { + className: "fa fa-fw fa-eye", + }) + ), + a.a.createElement( + "button", + { + className: "query-editor-row__action", + onClick: this.onRemoveQuery, + title: "Remove query", + }, + a.a.createElement("i", { + className: "fa fa-fw fa-trash", + }) + ) + ) + ), + a.a.createElement( + "div", + { className: f }, + a.a.createElement( + d.ErrorBoundaryAlert, + null, + this.renderPluginEditor() + ) + ) + ) + : null; + }, + }, + ]) && y(n.prototype, r), + o && y(n, o), + t + ); + })(r.PureComponent), + j = null; + function S(e, t) { + var n = e.series.filter(function (e) { + return e.refId === t; + }); + if (n.length) { + var r = p.LoadingState.Done, + a = e.error && e.error.refId === t ? e.error : void 0; + return ( + a && (r = p.LoadingState.Error), + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? m(Object(n), !0).forEach(function (t) { + g(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : m(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { state: r, series: n, error: a, timeRange: e.timeRange }) + ); + } + } + }, + ODSy: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("lonE"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l() { + return (l = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function s(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = (function (e) { + function t() { + return s(this, t), u(this, f(t).apply(this, arguments)); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return a.a.createElement(o.a, l({ inline: !0 }, this.props)); + }, + }, + ]) && c(n.prototype, r), + i && c(n, i), + t + ); + })(a.a.PureComponent); + }, + OEPh: function (e, t) { + var n = "public/app/plugins/datasource/stackdriver/partials/config.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n <div class=grafana-info-box>\n <h4>Stackdriver Authentication</h4>\n <p>\n There are two ways to authenticate the Stackdriver plugin - either by uploading a Service Account key file, or by\n automatically retrieving credentials from the Google metadata server. The latter option is only available when\n running Grafana on a GCE virtual machine.\n </p>\n\n <h5>Uploading a Service Account Key File</h5>\n <p>\n First you need to create a Google Cloud Platform (GCP) Service Account for the Project you want to show data for.\n A Grafana datasource integrates with one GCP Project. If you want to visualize data from multiple GCP Projects\n then you need to create one datasource per GCP Project.\n </p>\n <p>\n The <strong>Monitoring Viewer</strong> role provides all the permissions that Grafana needs. The following API\n needs to be enabled on GCP for the datasource to work:\n <a class=external-link target=_blank href=https://console.cloud.google.com/apis/library/monitoring.googleapis.com>Monitoring API</a>\n </p>\n\n <h5>GCE Default Service Account</h5>\n <p>\n If Grafana is running on a Google Compute Engine (GCE) virtual machine, it is possible for Grafana to\n automatically retrieve the default project id and authentication token from the metadata server. In order for this\n to work, you need to make sure that you have a service account that is setup as the default account for the\n virtual machine and that the service account has been given read access to the Stackdriver Monitoring API.\n </p>\n\n <p>\n Detailed instructions on how to create a Service Account can be found\n <a class=external-link target=_blank href=http://docs.grafana.org/datasources/stackdriver/ >in the documentation.</a>\n </p>\n </div>\n</div>\n\n<div class=gf-form-group>\n <div class=gf-form>\n <h3>Authentication</h3>\n <info-popover mode=header>Upload your Service Account key file or paste in the contents of the file. The file contents will be encrypted\n and saved in the Grafana database.</info-popover>\n </div>\n\n <div class=gf-form-inline>\n <div class="gf-form max-width-30">\n <span class="gf-form-label width-10">Authentication Type</span>\n <div class="gf-form-select-wrapper max-width-24">\n <select class=gf-form-input ng-change="ctrl.gceError = \'\'" ng-model=ctrl.current.jsonData.authenticationType ng-options="f.key as f.value for f in ctrl.authenticationTypes"></select>\n </div>\n </div>\n </div>\n\n <div ng-if="ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && !ctrl.current.jsonData.clientEmail && !ctrl.inputDataValid">\n <div class=gf-form-group ng-if=!ctrl.inputDataValid>\n <div class=gf-form>\n <form>\n <dash-upload on-upload=ctrl.onUpload(dash) btn-text="Upload Service Account key file"></dash-upload>\n </form>\n </div>\n </div>\n <div class=gf-form-group>\n <h5 class=section-heading ng-if=!ctrl.inputDataValid>Or paste Service Account key JSON</h5>\n <div class=gf-form ng-if=!ctrl.inputDataValid>\n <textarea rows=10 data-share-panel-url="" class=gf-form-input ng-model=ctrl.jsonText ng-paste=ctrl.onPasteJwt($event)></textarea>\n </div>\n <div ng-repeat="valError in ctrl.validationErrors" class="text-error p-l-1">\n <i class="fa fa-warning"></i>\n {{valError}}\n </div>\n </div>\n </div>\n</div>\n\n<div class=gf-form-group ng-if="ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && (ctrl.inputDataValid || ctrl.current.jsonData.clientEmail)">\n <h6>Uploaded Key Details</h6>\n\n <div class=gf-form>\n <span class="gf-form-label width-10">Project</span>\n <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.defaultProject />\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-10">Client Email</span>\n <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.clientEmail />\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-10">Token URI</span>\n <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.tokenUri />\n </div>\n <div class=gf-form ng-if=ctrl.current.secureJsonFields.privateKey>\n <span class="gf-form-label width-10">Private Key</span>\n <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n </div>\n\n <div class="gf-form width-18" style=margin-top:24px>\n <a class="btn btn-secondary gf-form-btn" href=# ng-click=ctrl.resetValidationMessages()>Reset Service Account Key\n </a>\n <info-popover mode=right-normal>\n Reset to clear the uploaded key and upload a new file.\n </info-popover>\n </div>\n</div>\n\n<p class=gf-form-label ng-hide="ctrl.current.secureJsonFields.privateKey || ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType">\n <i class="fa fa-save"></i> Do not forget to save your changes after uploading a file.\n</p>\n\n<div class=gf-form ng-if=ctrl.gceError>\n <pre class="gf-form-pre alert alert-error">{{ctrl.gceError}}</pre>\n</div>\n\n<p class=gf-form-label ng-show="ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType">\n <i class="fa fa-save"></i> Verify GCE default service account by clicking Save & Test\n</p>\n' + ); + }, + ]), + (e.exports = n); + }, + OPwE: function (e, t) { + var n = + "public/app/features/manage-dashboards/partials/dashboard_list.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n <manage-dashboards/>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + OQpy: function (e, t) {}, + OTXG: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "c", function () { + return o; + }), + n.d(t, "d", function () { + return i; + }), + n.d(t, "g", function () { + return l; + }), + n.d(t, "f", function () { + return s; + }), + n.d(t, "h", function () { + return c; + }), + n.d(t, "i", function () { + return u; + }), + n.d(t, "k", function () { + return f; + }), + n.d(t, "l", function () { + return d; + }), + n.d(t, "m", function () { + return p; + }), + n.d(t, "n", function () { + return h; + }), + n.d(t, "o", function () { + return m; + }), + n.d(t, "r", function () { + return g; + }), + n.d(t, "q", function () { + return b; + }), + n.d(t, "s", function () { + return v; + }), + n.d(t, "v", function () { + return y; + }), + n.d(t, "w", function () { + return w; + }), + n.d(t, "y", function () { + return O; + }), + n.d(t, "A", function () { + return x; + }), + n.d(t, "B", function () { + return k; + }), + n.d(t, "C", function () { + return j; + }), + n.d(t, "u", function () { + return S; + }), + n.d(t, "H", function () { + return E; + }), + n.d(t, "F", function () { + return C; + }), + n.d(t, "D", function () { + return P; + }), + n.d(t, "G", function () { + return T; + }), + n.d(t, "E", function () { + return D; + }), + n.d(t, "t", function () { + return A; + }), + n.d(t, "p", function () { + return _; + }), + n.d(t, "j", function () { + return N; + }), + n.d(t, "z", function () { + return M; + }), + n.d(t, "e", function () { + return I; + }), + n.d(t, "b", function () { + return R; + }), + n.d(t, "x", function () { + return F; + }); + var r = n("i7Pf"), + a = Object(r.b)("explore/addQueryRow"), + o = Object(r.b)("explore/changeMode"), + i = Object(r.b)("explore/changeQuery"), + l = Object(r.b)("explore/changeSize"), + s = Object(r.b)("explore/changeRefreshInterval"), + c = Object(r.b)("explore/clearQueries"), + u = Object(r.b)("explore/highlightLogsExpression"), + f = Object(r.b)("explore/initializeExplore"), + d = Object(r.b)("explore/loadDatasourceMissing"), + p = Object(r.b)("explore/loadDatasourcePending"), + h = Object(r.b)("explore/loadDatasourceReady"), + m = Object(r.b)("explore/modifyQueries"), + g = Object(r.b)("explore/queryStreamUpdated"), + b = Object(r.b)("explore/queryStoreSubscription"), + v = Object(r.b)("explore/removeQueryRow"), + y = Object(r.b)("explore/scanStart"), + w = Object(r.b)("explore/scanStop"), + O = Object(r.b)("explore/setQueries"), + x = Object(r.b)("explore/splitClose"), + k = Object(r.b)("explore/splitOpen"), + j = Object(r.b)("explore/syncTimes"), + S = Object(r.b)("explore/richHistoryUpdated"), + E = Object(r.b)("explore/updateUIState"), + C = Object(r.b)("explore/toggleTable"), + P = Object(r.b)("explore/toggleGraph"), + T = Object(r.b)("explore/updateDatasourceInstance"), + D = Object(r.b)("explore/toggleLogLevel"), + A = Object(r.b)("explore/resetExplore"), + _ = Object(r.b)("explore/queriesImported"), + N = Object(r.b)("explore/historyUpdated"), + M = Object(r.b)("explore/setUrlReplaced"), + I = Object(r.b)("explore/changeRange"), + R = Object(r.b)("changeLoadingState"), + F = Object(r.b)("explore/setPausedState"); + }, + Obii: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("spX/"); + n.d(t, "getMappedValue", function () { + return r.w; + }), + n.d(t, "getFlotPairs", function () { + return r.s; + }), + n.d(t, "getFlotPairsConstant", function () { + return r.t; + }), + n.d(t, "Registry", function () { + return r.d; + }), + n.d(t, "onUpdateDatasourceOption", function () { + return r.F; + }), + n.d(t, "onUpdateDatasourceJsonDataOption", function () { + return r.C; + }), + n.d(t, "onUpdateDatasourceSecureJsonDataOption", function () { + return r.H; + }), + n.d(t, "onUpdateDatasourceJsonDataOptionSelect", function () { + return r.E; + }), + n.d(t, "onUpdateDatasourceJsonDataOptionChecked", function () { + return r.D; + }), + n.d(t, "onUpdateDatasourceSecureJsonDataOptionSelect", function () { + return r.I; + }), + n.d(t, "onUpdateDatasourceResetOption", function () { + return r.G; + }), + n.d(t, "updateDatasourcePluginOption", function () { + return r.N; + }), + n.d(t, "updateDatasourcePluginJsonDataOption", function () { + return r.M; + }), + n.d(t, "updateDatasourcePluginSecureJsonDataOption", function () { + return r.P; + }), + n.d(t, "updateDatasourcePluginResetOption", function () { + return r.O; + }), + n.d(t, "deprecationWarning", function () { + return r.i; + }), + n.d(t, "CSVHeaderStyle", function () { + return r.a; + }), + n.d(t, "readCSV", function () { + return r.K; + }), + n.d(t, "CSVReader", function () { + return r.b; + }), + n.d(t, "toCSV", function () { + return r.L; + }), + n.d(t, "getLogLevel", function () { + return r.u; + }), + n.d(t, "getLogLevelFromKey", function () { + return r.v; + }), + n.d(t, "addLogLevelToSeries", function () { + return r.e; + }), + n.d(t, "LogsParsers", function () { + return r.c; + }), + n.d(t, "calculateFieldStats", function () { + return r.f; + }), + n.d(t, "calculateLogsLabelStats", function () { + return r.g; + }), + n.d(t, "calculateStats", function () { + return r.h; + }), + n.d(t, "getParser", function () { + return r.y; + }), + n.d(t, "parseLabels", function () { + return r.J; + }), + n.d(t, "findCommonLabels", function () { + return r.j; + }), + n.d(t, "findUniqueLabels", function () { + return r.k; + }), + n.d(t, "formatLabels", function () { + return r.l; + }), + n.d(t, "objRemoveUndefined", function () { + return r.B; + }), + n.d(t, "getColorDefinitionByName", function () { + return r.o; + }), + n.d(t, "getColorDefinition", function () { + return r.n; + }), + n.d(t, "getColorName", function () { + return r.r; + }), + n.d(t, "getColorByName", function () { + return r.m; + }), + n.d(t, "getColorFromHexRgbOrName", function () { + return r.q; + }), + n.d(t, "getColorForTheme", function () { + return r.p; + }), + n.d(t, "getNamedColorPalette", function () { + return r.x; + }), + n.d(t, "getSeriesTimeStep", function () { + return r.z; + }), + n.d(t, "hasMsResolution", function () { + return r.A; + }); + var a = n("KgU3"); + for (var o in a) + [ + "getMappedValue", + "getFlotPairs", + "getFlotPairsConstant", + "Registry", + "onUpdateDatasourceOption", + "onUpdateDatasourceJsonDataOption", + "onUpdateDatasourceSecureJsonDataOption", + "onUpdateDatasourceJsonDataOptionSelect", + "onUpdateDatasourceJsonDataOptionChecked", + "onUpdateDatasourceSecureJsonDataOptionSelect", + "onUpdateDatasourceResetOption", + "updateDatasourcePluginOption", + "updateDatasourcePluginJsonDataOption", + "updateDatasourcePluginSecureJsonDataOption", + "updateDatasourcePluginResetOption", + "deprecationWarning", + "CSVHeaderStyle", + "readCSV", + "CSVReader", + "toCSV", + "getLogLevel", + "getLogLevelFromKey", + "addLogLevelToSeries", + "LogsParsers", + "calculateFieldStats", + "calculateLogsLabelStats", + "calculateStats", + "getParser", + "parseLabels", + "findCommonLabels", + "findUniqueLabels", + "formatLabels", + "objRemoveUndefined", + "getColorDefinitionByName", + "getColorDefinition", + "getColorName", + "getColorByName", + "getColorFromHexRgbOrName", + "getColorForTheme", + "getNamedColorPalette", + "getSeriesTimeStep", + "hasMsResolution", + "default", + ].indexOf(o) < 0 && + (function (e) { + n.d(t, e, function () { + return a[e]; + }); + })(o); + var i = n("pFCG"); + n.d(t, "ArrayVector", function () { + return i.b; + }), + n.d(t, "CircularVector", function () { + return i.c; + }), + n.d(t, "SortedVector", function () { + return i.f; + }), + n.d(t, "AppendedVectors", function () { + return i.a; + }), + n.d(t, "ConstantVector", function () { + return i.d; + }), + n.d(t, "ScaledVector", function () { + return i.e; + }); + var l = n("8//q"); + n.d(t, "guessFieldTypeFromValue", function () { + return l.r; + }), + n.d(t, "guessFieldTypeForField", function () { + return l.q; + }), + n.d(t, "guessFieldTypes", function () { + return l.s; + }), + n.d(t, "isTableData", function () { + return l.u; + }), + n.d(t, "isDataFrame", function () { + return l.t; + }), + n.d(t, "toDataFrame", function () { + return l.y; + }), + n.d(t, "toLegacyResponseData", function () { + return l.A; + }), + n.d(t, "sortDataFrame", function () { + return l.x; + }), + n.d(t, "reverseDataFrame", function () { + return l.w; + }), + n.d(t, "getTimeField", function () { + return l.n; + }), + n.d(t, "getDataFrameRow", function () { + return l.l; + }), + n.d(t, "toDataFrameDTO", function () { + return l.z; + }), + n.d(t, "DataFrameView", function () { + return l.b; + }), + n.d(t, "FieldCache", function () { + return l.c; + }), + n.d(t, "CircularDataFrame", function () { + return l.a; + }), + n.d(t, "MISSING_VALUE", function () { + return l.d; + }), + n.d(t, "MutableDataFrame", function () { + return l.e; + }), + n.d(t, "createDimension", function () { + return l.h; + }), + n.d(t, "getColumnsFromDimension", function () { + return l.k; + }), + n.d(t, "getColumnFromDimension", function () { + return l.j; + }), + n.d(t, "getValueFromDimension", function () { + return l.o; + }), + n.d(t, "getAllValuesFromDimension", function () { + return l.i; + }), + n.d(t, "getDimensionByName", function () { + return l.m; + }), + n.d(t, "base64StringToArrowTable", function () { + return l.g; + }), + n.d(t, "arrowTableToDataFrame", function () { + return l.f; + }), + n.d(t, "grafanaDataFrameToArrowTable", function () { + return l.p; + }), + n.d(t, "resultsToDataFrames", function () { + return l.v; + }); + var s = n("2wGe"); + n.d(t, "FilterFieldsByNameTransformerOptions", function () { + return s.c; + }), + n.d(t, "FilterFramesByRefIdTransformerOptions", function () { + return s.d; + }), + n.d(t, "ReduceTransformerOptions", function () { + return s.g; + }), + n.d(t, "MatcherID", function () { + return s.f; + }), + n.d(t, "FieldMatcherID", function () { + return s.b; + }), + n.d(t, "FrameMatcherID", function () { + return s.e; + }), + n.d(t, "DataTransformerID", function () { + return s.a; + }), + n.d(t, "fieldMatchers", function () { + return s.i; + }), + n.d(t, "frameMatchers", function () { + return s.k; + }), + n.d(t, "getFieldMatcher", function () { + return s.l; + }), + n.d(t, "getFrameMatchers", function () { + return s.m; + }), + n.d(t, "transformDataFrame", function () { + return s.o; + }), + n.d(t, "transformersRegistry", function () { + return s.p; + }), + n.d(t, "ReducerID", function () { + return s.h; + }), + n.d(t, "reduceField", function () { + return s.n; + }), + n.d(t, "fieldReducers", function () { + return s.j; + }); + var c = n("IjGO"); + n.d(t, "dateMath", function () { + return c.d; + }), + n.d(t, "rangeUtil", function () { + return c.k; + }), + n.d(t, "ISO_8601", function () { + return c.b; + }), + n.d(t, "setLocale", function () { + return c.l; + }), + n.d(t, "getLocaleData", function () { + return c.h; + }), + n.d(t, "isDateTime", function () { + return c.j; + }), + n.d(t, "toUtc", function () { + return c.n; + }), + n.d(t, "toDuration", function () { + return c.m; + }), + n.d(t, "dateTime", function () { + return c.e; + }), + n.d(t, "dateTimeAsMoment", function () { + return c.f; + }), + n.d(t, "dateTimeForTimeZone", function () { + return c.g; + }), + n.d(t, "getTimeZoneGroups", function () { + return c.i; + }), + n.d(t, "DEFAULT_DATE_TIME_FORMAT", function () { + return c.a; + }), + n.d(t, "MS_DATE_TIME_FORMAT", function () { + return c.c; + }); + var u = n("Cawo"); + n.d(t, "escapeStringForRegex", function () { + return u.a; + }), + n.d(t, "unEscapeStringFromRegex", function () { + return u.m; + }), + n.d(t, "stringStartsAsRegEx", function () { + return u.g; + }), + n.d(t, "stringToJsRegex", function () { + return u.h; + }), + n.d(t, "stringToMs", function () { + return u.i; + }), + n.d(t, "toNumberString", function () { + return u.l; + }), + n.d(t, "toIntegerOrUndefined", function () { + return u.k; + }), + n.d(t, "toFloatOrUndefined", function () { + return u.j; + }), + n.d(t, "setMarkdownOptions", function () { + return u.f; + }), + n.d(t, "renderMarkdown", function () { + return u.e; + }), + n.d(t, "findHighlightChunksInText", function () { + return u.b; + }), + n.d(t, "findMatchesInText", function () { + return u.c; + }), + n.d(t, "parseFlags", function () { + return u.d; + }); + var f = n("+ujO"); + n.d(t, "formattedValueToString", function () { + return f.a; + }), + n.d(t, "toFixed", function () { + return f.h; + }), + n.d(t, "toFixedScaled", function () { + return f.i; + }), + n.d(t, "toFixedUnit", function () { + return f.j; + }), + n.d(t, "scaledUnits", function () { + return f.f; + }), + n.d(t, "locale", function () { + return f.e; + }), + n.d(t, "simpleCountUnit", function () { + return f.g; + }), + n.d(t, "getValueFormat", function () { + return f.b; + }), + n.d(t, "getValueFormatterIndex", function () { + return f.d; + }), + n.d(t, "getValueFormats", function () { + return f.c; + }); + var d = n("+iHc"); + n.d(t, "applyFieldOverrides", function () { + return d.f; + }), + n.d(t, "validateFieldConfig", function () { + return d.o; + }), + n.d(t, "VAR_SERIES_NAME", function () { + return d.e; + }), + n.d(t, "VAR_FIELD_NAME", function () { + return d.d; + }), + n.d(t, "VAR_CALC", function () { + return d.b; + }), + n.d(t, "VAR_CELL_PREFIX", function () { + return d.c; + }), + n.d(t, "DEFAULT_FIELD_DISPLAY_VALUES_LIMIT", function () { + return d.a; + }), + n.d(t, "getFieldDisplayValues", function () { + return d.k; + }), + n.d(t, "getDisplayValueAlignmentFactors", function () { + return d.j; + }), + n.d(t, "getDisplayProcessor", function () { + return d.i; + }), + n.d(t, "getDecimalsForValue", function () { + return d.h; + }), + n.d(t, "getScaleCalculator", function () { + return d.l; + }), + n.d(t, "getActiveThreshold", function () { + return d.g; + }), + n.d(t, "sortThresholds", function () { + return d.m; + }), + n.d(t, "standardFieldConfigEditorRegistry", function () { + return d.n; + }); + }, + Opuj: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"); + function i(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function l(e) { + var t = e.projectName, + n = e.datasource, + r = e.onChange, + l = e.templateVariableOptions; + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "span", + { className: "gf-form-label width-9 query-keyword" }, + "Project" + ), + a.a.createElement(o.SegmentAsync, { + allowCustomValue: !0, + onChange: function (e) { + var t = e.value; + return r(t); + }, + loadOptions: function () { + return n.getProjects().then(function (e) { + return [{ label: "Template Variables", options: l }].concat( + i(e) + ); + }); + }, + value: t, + placeholder: "Select Project", + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ); + } + var s = n("LvDl"), + c = n.n(s); + function u(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function f(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? f(Object(n), !0).forEach(function (t) { + p(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : f(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function p(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function h(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function m(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function g(e) { + var t = m( + Object(r.useState)({ + metricDescriptors: [], + metrics: [], + services: [], + service: "", + metric: "", + metricDescriptor: null, + projectName: null, + }), + 2 + ), + n = t[0], + i = t[1], + l = n.services, + s = n.service, + f = n.metrics, + p = e.metricType, + g = e.templateVariableOptions, + b = e.projectName, + v = (function () { + var t, + r = + ((t = regeneratorRuntime.mark(function t() { + var r, a, o, l, s; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (!b) { + t.next = 9; + break; + } + return ( + (t.next = 3), + e.datasource.getMetricTypes(e.projectName) + ); + case 3: + (r = t.sent), + (a = x(r)), + (o = w(r)), + (l = o.length > 0 ? o[0].service : ""), + (s = y(r, e.metricType)), + i( + d({}, n, { + metricDescriptors: r, + services: a, + metrics: o, + service: l, + metricDescriptor: s, + }) + ); + case 9: + case "end": + return t.stop(); + } + }, t); + })), + function () { + var e = this, + n = arguments; + return new Promise(function (r, a) { + var o = t.apply(e, n); + function i(e) { + h(o, r, a, i, l, "next", e); + } + function l(e) { + h(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function () { + return r.apply(this, arguments); + }; + })(); + Object(r.useEffect)( + function () { + v(); + }, + [b] + ); + var y = function (t, n) { + return t.find(function (t) { + return t.type === e.templateSrv.replace(n); + }); + }, + w = function (t) { + var n = y(t, e.metricType); + return n + ? t + .filter(function (e) { + return e.service === n.service; + }) + .map(function (e) { + return { + service: e.service, + value: e.type, + label: e.displayName, + description: e.description, + }; + }) + : []; + }, + O = function (t) { + var r = t.value, + a = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}, + o = y(n.metricDescriptors, r); + i(d({}, n, { metricDescriptor: o }, a)), + e.onChange(d({}, o, { type: r })); + }, + x = function (e) { + var t = e.map(function (e) { + return { + value: e.service, + label: c.a.startCase(e.serviceShortName), + }; + }); + return t.length > 0 + ? c.a.uniqBy(t, function (e) { + return e.value; + }) + : []; + }; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "span", + { className: "gf-form-label width-9 query-keyword" }, + "Service" + ), + a.a.createElement(o.Segment, { + onChange: function (t) { + var r = t.value, + a = n.metricDescriptors, + o = e.metricType, + l = e.templateSrv, + s = a + .filter(function (e) { + return e.service === l.replace(r); + }) + .map(function (e) { + return { + service: e.service, + value: e.type, + label: e.displayName, + description: e.description, + }; + }); + s.length > 0 && + !s.some(function (e) { + return e.value === l.replace(o); + }) + ? O(s[0], { service: r, metrics: s }) + : i(d({}, n, { service: r, metrics: s })); + }, + value: [].concat(u(l), u(g)).find(function (e) { + return e.value === s; + }), + options: [{ label: "Template Variables", options: g }].concat( + u(l) + ), + placeholder: "Select Services", + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ), + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "span", + { className: "gf-form-label width-9 query-keyword" }, + "Metric" + ), + a.a.createElement(o.Segment, { + className: "query-part", + onChange: O, + value: [].concat(u(f), u(g)).find(function (e) { + return e.value === p; + }), + options: [{ label: "Template Variables", options: g }].concat( + u(f) + ), + placeholder: "Select Metric", + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ), + e.children(n.metricDescriptor) + ); + } + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function y(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function w(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function O(e) { + return (O = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function x(e, t) { + return (x = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var k = (function (e) { + function t() { + var e, n; + v(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = w( + this, + (e = O(t)).call.apply(e, [this].concat(a)) + )).state = { displayHelp: !1, displaRawQuery: !1 }), + (n.onHelpClicked = function () { + n.setState({ displayHelp: !n.state.displayHelp }); + }), + (n.onRawQueryClicked = function () { + n.setState({ displaRawQuery: !n.state.displaRawQuery }); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && x(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "shouldComponentUpdate", + value: function (e) { + return null !== e.metricDescriptor; + }, + }, + { + key: "render", + value: function () { + var e = this.state, + t = e.displayHelp, + n = e.displaRawQuery, + r = this.props, + o = r.rawQuery, + i = r.lastQueryError; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form", onClick: this.onHelpClicked }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword pointer" }, + "Show Help ", + a.a.createElement("i", { + className: "fa fa-caret-".concat( + t ? "down" : "right" + ), + }) + ) + ), + o && + a.a.createElement( + "div", + { + className: "gf-form", + onClick: this.onRawQueryClicked, + }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword" }, + "Raw Query ", + a.a.createElement("i", { + className: "fa fa-caret-".concat( + n ? "down" : "right" + ), + "ng-show": "ctrl.showHelp", + }) + ) + ), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ), + o && + n && + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "pre", + { className: "gf-form-pre" }, + o + ) + ), + t && + a.a.createElement( + "div", + { className: "gf-form grafana-info-box alert-info" }, + a.a.createElement( + "div", + null, + a.a.createElement("h5", null, "Alias Patterns"), + "Format the legend keys any way you want by using alias patterns. Format the legend keys any way you want by using alias patterns.", + a.a.createElement("br", null), + " ", + a.a.createElement("br", null), + "Example:", + a.a.createElement( + "code", + null, + "{{metricDescriptor.name}} - {{metricDescriptor.label.instance_name}}" + ), + a.a.createElement("br", null), + "Result: ", + a.a.createElement( + "code", + null, + "cpu/usage_time - server1-europe-west-1" + ), + a.a.createElement("br", null), + a.a.createElement("br", null), + a.a.createElement("strong", null, "Patterns"), + a.a.createElement("br", null), + a.a.createElement( + "ul", + null, + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metricDescriptor.type}}" + ), + " = metric type e.g. compute.googleapis.com/instance/cpu/usage_time" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metricDescriptor.name}}" + ), + " = name part of metric e.g. instance/cpu/usage_time" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metricDescriptor.service}}" + ), + " = service part of metric e.g. compute" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metricDescriptor.label.label_name}}" + ), + " = Metric label metadata e.g. metricDescriptor.label.instance_name" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{resource.label.label_name}}" + ), + " = Resource label metadata e.g. resource.label.zone" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metadata.system_labels.name}}" + ), + " = Meta data system labels e.g. metadata.system_labels.name. For this to work, the needs to be included in the group by" + ), + a.a.createElement( + "li", + null, + a.a.createElement( + "code", + null, + "{{metadata.user_labels.name}}" + ), + " = Meta data user labels e.g. metadata.user_labels.name. For this to work, the needs to be included in the group by" + ), + a.a.createElement( + "li", + null, + a.a.createElement("code", null, "{{bucket}}"), + " = bucket boundary for distribution metrics when using a heatmap in Grafana" + ) + ) + ) + ), + i && + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "pre", + { className: "gf-form-pre alert alert-error" }, + i + ) + ) + ); + }, + }, + ]) && y(n.prototype, r), + o && y(n, o), + t + ); + })(a.a.Component), + j = n("PQjG"), + S = n("7Nqv"); + function E(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var C = "-- remove group by --", + P = { label: C, value: C }, + T = function (e) { + var t = e.groupBys, + n = void 0 === t ? [] : t, + r = e.values, + i = void 0 === r ? [] : r, + l = e.onChange, + s = e.variableOptionGroup, + c = [P, s].concat(E(Object(j.h)([].concat(E(n), E(S.e))))); + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-9" }, + "Group By" + ), + i && + i.map(function (e, t) { + return a.a.createElement(o.Segment, { + allowCustomValue: !0, + key: e + t, + value: e, + options: c, + onChange: function (e) { + var n = e.value; + return l( + n === C + ? i.filter(function (e, n) { + return n !== t; + }) + : i.map(function (e, r) { + return r === t ? n : e; + }) + ); + }, + }); + }), + i.length !== n.length && + a.a.createElement(o.Segment, { + Component: a.a.createElement( + "a", + { className: "gf-form-label query-part" }, + a.a.createElement("i", { className: "fa fa-plus" }) + ), + allowCustomValue: !0, + onChange: function (e) { + var t = e.value; + return l([].concat(E(i), [t])); + }, + options: [s].concat( + E( + Object(j.h)( + [].concat( + E( + n.filter(function (e) { + return !i.includes(e); + }) + ), + E(S.e) + ) + ) + ) + ), + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("label", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ); + }; + function D(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function A(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? D(Object(n), !0).forEach(function (t) { + _(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : D(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function _(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function N(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function M(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var I = { + label: "-- remove filter --", + value: "-- remove filter --", + icon: "fa fa-remove", + }, + R = ["=", "!=", "=~", "!=~"], + F = function (e) { + return c.a.flatten( + e.map(function (e) { + return [e.key, e.operator, e.value, e.condition]; + }) + ); + }, + L = function (e) { + var t = e.labels, + n = void 0 === t ? {} : t, + i = e.filters, + l = e.onChange, + s = e.variableOptionGroup, + u = (function (e) { + return c.a.chunk(e, 4).map(function (e) { + var t = M(e, 4), + n = t[0], + r = t[1], + a = t[2], + o = t[3]; + return { + key: n, + operator: r, + value: a, + condition: void 0 === o ? "AND" : o, + }; + }); + })(i), + f = [I, s].concat(N(Object(j.h)(Object.keys(n)))); + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-9" }, + "Filter" + ), + u.map(function (e, t) { + var i = e.key, + c = e.operator, + d = e.value, + p = e.condition; + return a.a.createElement( + r.Fragment, + { key: t }, + a.a.createElement(o.Segment, { + allowCustomValue: !0, + value: i, + options: f, + onChange: function (e) { + var n = e.value; + l( + F( + "-- remove filter --" === n + ? u.filter(function (e, n) { + return n !== t; + }) + : u.map(function (e, r) { + return r === t + ? { + key: n, + operator: c, + condition: p, + value: "", + } + : e; + }) + ) + ); + }, + }), + a.a.createElement(o.Segment, { + value: c, + className: "gf-form-label query-segment-operator", + options: R.map(j.i), + onChange: function (e) { + var n = e.value; + return l( + F( + u.map(function (e, r) { + return r === t ? A({}, e, { operator: n }) : e; + }) + ) + ); + }, + }), + a.a.createElement(o.Segment, { + allowCustomValue: !0, + value: d, + placeholder: "add filter value", + options: n.hasOwnProperty(i) + ? [s].concat(N(n[i].map(j.i))) + : [s], + onChange: function (e) { + var n = e.value; + return l( + F( + u.map(function (e, r) { + return r === t ? A({}, e, { value: n }) : e; + }) + ) + ); + }, + }), + u.length > 1 && + t + 1 !== u.length && + a.a.createElement( + "label", + { className: "gf-form-label query-keyword" }, + p + ) + ); + }), + Object.values(u).every(function (e) { + return e.value; + }) && + a.a.createElement(o.Segment, { + allowCustomValue: !0, + Component: a.a.createElement( + "a", + { className: "gf-form-label query-part" }, + a.a.createElement("i", { className: "fa fa-plus" }) + ), + options: [s].concat(N(Object(j.h)(Object.keys(n)))), + onChange: function (e) { + var t = e.value; + return l( + F( + [].concat(N(u), [ + { key: t, operator: "=", condition: "AND", value: "" }, + ]) + ) + ); + }, + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("label", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ); + }, + V = function () { + return a.a.createElement( + "div", + { className: "gf-form grafana-info-box alert-info" }, + a.a.createElement( + "div", + null, + a.a.createElement("h5", null, "Annotation Query Format"), + a.a.createElement( + "p", + null, + "An annotation is an event that is overlaid on top of graphs. Annotation rendering is expensive so it is important to limit the number of rows returned.", + " " + ), + a.a.createElement( + "p", + null, + "The Title and Text fields support templating and can use data returned from the query. For example, the Title field could have the following text:" + ), + a.a.createElement( + "code", + null, + "{{metric.type}}", + " has value: ", + "{{metric.value}}" + ), + a.a.createElement( + "p", + null, + "Example Result: ", + a.a.createElement( + "code", + null, + "monitoring.googleapis.com/uptime_check/http_status has this value: 502" + ) + ), + a.a.createElement("label", null, "Patterns:"), + a.a.createElement( + "p", + null, + a.a.createElement("code", null, "{{metric.value}}"), + " = value of the metric/point" + ), + a.a.createElement( + "p", + null, + a.a.createElement("code", null, "{{metric.type}}"), + " = metric type e.g. compute.googleapis.com/instance/cpu/usage_time" + ), + a.a.createElement( + "p", + null, + a.a.createElement("code", null, "{{metric.name}}"), + " = name part of metric e.g. instance/cpu/usage_time" + ), + a.a.createElement( + "p", + null, + a.a.createElement("code", null, "{{metric.service}}"), + " = service part of metric e.g. compute" + ), + a.a.createElement( + "p", + null, + a.a.createElement("code", null, "{{metric.label.label_name}}"), + " = Metric label metadata e.g. metric.label.instance_name" + ), + a.a.createElement( + "p", + null, + a.a.createElement( + "code", + null, + "{{resource.label.label_name}}" + ), + " = Resource label metadata e.g. resource.label.zone" + ) + ) + ); + }; + function B(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var $ = function (e) { + var t = e.perSeriesAligner, + n = e.templateVariableOptions, + r = e.onChange, + i = e.alignOptions; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form offset-width-9" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-15" }, + "Aligner" + ), + a.a.createElement(o.Segment, { + onChange: function (e) { + var t = e.value; + return r(t); + }, + value: [].concat(B(i), B(n)).find(function (e) { + return e.value === t; + }), + options: [ + { label: "Template Variables", options: n }, + { label: "Alignment options", expanded: !0, options: i }, + ], + placeholder: "Select Alignment", + }) + ) + ) + ); + }, + q = n("PbtU"); + function U(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function z(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function H(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var G = function (e) { + var t = e.alignmentPeriod, + n = e.templateSrv, + r = e.templateVariableOptions, + i = e.onChange, + l = e.perSeriesAligner, + s = e.usedAlignmentPeriod, + c = S.b.find(function (e) { + return e.value === n.replace(l); + }), + u = "" + .concat(q.a.secondsToHms(s), " interval (") + .concat(c ? c.text : "", ")"), + f = S.c.map(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? z(Object(n), !0).forEach(function (t) { + H(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : z(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { label: e.text }); + }); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-9" }, + "Alignment Period" + ), + a.a.createElement(o.Segment, { + onChange: function (e) { + var t = e.value; + return i(t); + }, + value: [].concat(U(f), U(r)).find(function (e) { + return e.value === t; + }), + options: [ + { label: "Template Variables", options: r }, + { label: "Aggregations", expanded: !0, options: f }, + ], + placeholder: "Select Alignment", + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + s && + a.a.createElement( + "label", + { className: "gf-form-label gf-form-label--grow" }, + u + ) + ) + ) + ); + }; + function W(e) { + return (W = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Q(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Y(e, t) { + return !t || ("object" !== W(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function K(e) { + return (K = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function J(e, t) { + return (J = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Z = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Y(this, K(t).call(this, e))).onChange = function (e) { + n.setState({ value: e.target.value }), + n.propagateOnChange(e.target.value); + }), + (n.propagateOnChange = Object(s.debounce)(n.props.onChange, 500)), + (n.state = { value: "" }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && J(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.setState({ value: this.props.value }); + }, + }, + { + key: "UNSAFE_componentWillReceiveProps", + value: function (e) { + e.value !== this.props.value && + this.setState({ value: e.value }); + }, + }, + { + key: "render", + value: function () { + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-9" }, + "Alias By" + ), + a.a.createElement(o.Input, { + type: "text", + className: "gf-form-input width-24", + value: this.state.value, + onChange: this.onChange, + }) + ), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ) + ); + }, + }, + ]) && Q(n.prototype, r), + i && Q(n, i), + t + ); + })(r.Component); + function X(e) { + return (X = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ee(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function te(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ne(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function re(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ae(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function oe(e, t) { + return !t || ("object" !== X(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ie(e) { + return (ie = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function le(e, t) { + return (le = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var se = (function (e) { + function t() { + var e, n; + re(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = oe( + this, + (e = ie(t)).call.apply(e, [this].concat(a)) + )).state = { aggOptions: [], displayAdvancedOptions: !1 }), + (n.onToggleDisplayAdvanced = function () { + n.setState(function (e) { + return { displayAdvancedOptions: !e.displayAdvancedOptions }; + }); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && le(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.setAggOptions(this.props); + }, + }, + { + key: "UNSAFE_componentWillReceiveProps", + value: function (e) { + this.setAggOptions(e); + }, + }, + { + key: "setAggOptions", + value: function (e) { + var t = e.metricDescriptor, + n = []; + t && + (n = Object(j.b)(t.valueType, t.metricKind).map(function ( + e + ) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? te(Object(n), !0).forEach(function (t) { + ne(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : te(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { label: e.text }); + })), + this.setState({ aggOptions: n }); + }, + }, + { + key: "render", + value: function () { + var e = this.state, + t = e.displayAdvancedOptions, + n = e.aggOptions, + r = this.props, + i = r.templateVariableOptions, + l = r.onChange, + s = r.crossSeriesReducer; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "label", + { className: "gf-form-label query-keyword width-9" }, + "Aggregation" + ), + a.a.createElement(o.Segment, { + onChange: function (e) { + var t = e.value; + return l(t); + }, + value: [].concat(ee(n), ee(i)).find(function (e) { + return e.value === s; + }), + options: [ + { label: "Template Variables", options: i }, + { label: "Aggregations", expanded: !0, options: n }, + ], + placeholder: "Select Reducer", + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement( + "label", + { className: "gf-form-label gf-form-label--grow" }, + a.a.createElement( + "a", + { onClick: this.onToggleDisplayAdvanced }, + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("i", { + className: "fa fa-caret-".concat( + t ? "down" : "right" + ), + }), + " Advanced Options" + ) + ) + ) + ) + ), + this.props.children(this.state.displayAdvancedOptions) + ); + }, + }, + ]) && ae(n.prototype, r), + i && ae(n, i), + t + ); + })(a.a.Component), + ce = function (e) { + var t = e.label, + n = e.onValueChange, + r = e.value, + o = e.options; + return a.a.createElement( + "div", + { className: "gf-form max-width-21" }, + a.a.createElement( + "span", + { className: "gf-form-label width-10 query-keyword" }, + t + ), + a.a.createElement( + "div", + { className: "gf-form-select-wrapper max-width-12" }, + a.a.createElement( + "select", + { + className: "gf-form-input", + required: !0, + onChange: n, + value: r, + }, + o.map(function (e, t) { + var n = e.value, + r = e.name; + return a.a.createElement("option", { key: t, value: n }, r); + }) + ) + ) + ); + }; + n.d(t, "j", function () { + return l; + }), + n.d(t, "i", function () { + return g; + }), + n.d(t, "h", function () { + return k; + }), + n.d(t, "g", function () { + return T; + }), + n.d(t, "f", function () { + return L; + }), + n.d(t, "e", function () { + return V; + }), + n.d(t, "d", function () { + return $; + }), + n.d(t, "c", function () { + return G; + }), + n.d(t, "b", function () { + return Z; + }), + n.d(t, "a", function () { + return se; + }), + n.d(t, "k", function () { + return ce; + }); + }, + P20H: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }); + var r = function (e) { + return "query" === e.type; + }; + }, + PGgk: function (e, t) {}, + PQb9: function (e, t) { + var n = + "public/app/plugins/datasource/mssql/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=gf-form-group>\n <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n\t\t</div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the <b>time</b> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event end time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text.\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'.\n\n\nMacros:\n- $__time(column) -> column AS time\n- $__timeEpoch(column) -> DATEDIFF(second, \'1970-01-01\', column) AS time\n- $__timeFilter(column) -> column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> \'2017-04-21T05:01:17Z\'\n- $__timeTo() -> \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + PQjG: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }), + n.d(t, "g", function () { + return d; + }), + n.d(t, "f", function () { + return p; + }), + n.d(t, "c", function () { + return h; + }), + n.d(t, "b", function () { + return m; + }), + n.d(t, "e", function () { + return g; + }), + n.d(t, "d", function () { + return b; + }), + n.d(t, "h", function () { + return v; + }), + n.d(t, "i", function () { + return y; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("7Nqv"); + function i(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function c(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function u(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var f = function (e) { + return a.a.uniqBy(e, "service"); + }, + d = function (e, t) { + return e.filter(function (e) { + return e.service === t; + }); + }, + p = function (e, t, n, r) { + var a = d(e, r).map(function (e) { + return { value: e.type, name: e.displayName }; + }), + o = a.some(function (e) { + return e.value === n; + }); + return { metricTypes: a, selectedMetricType: o ? t : a[0].value }; + }, + h = function (e, t) { + return e + ? o.b.filter(function (n) { + return ( + -1 !== n.valueTypes.indexOf(e) && + -1 !== n.metricKinds.indexOf(t) + ); + }) + : []; + }, + m = function (e, t) { + return t + ? o.a.filter(function (n) { + return ( + -1 !== n.valueTypes.indexOf(e) && + -1 !== n.metricKinds.indexOf(t) + ); + }) + : []; + }, + g = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t, n, r) { + var a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 3), + t.getLabels(n, "handleLabelKeysQuery", r) + ); + case 3: + return ( + (a = e.sent), + e.abrupt( + "return", + [].concat(c(Object.keys(a)), c(o.e)) + ) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + u(o, r, a, i, l, "next", e); + } + function l(e) { + u(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e, n, r) { + return t.apply(this, arguments); + }; + })(), + b = function (e, t) { + var n = e.valueType, + r = e.metricKind, + a = e.perSeriesAligner, + o = h(n, r).map(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { label: e.text }); + }); + return ( + o.some(function (e) { + return e.value === t.replace(a); + }) || (a = o.length > 0 ? o[0].value : ""), + { alignOptions: o, perSeriesAligner: a } + ); + }, + v = function (e) { + var t = e.reduce(function (e, t) { + var n = t.split(".").map(a.a.startCase), + r = (2 === n.length ? n : a.a.initial(n)).join(" "), + o = { value: t, label: t }; + return e[r] ? (e[r] = [].concat(c(e[r]), [o])) : (e[r] = [o]), e; + }, {}); + return Object.entries(t).map(function (e) { + var t = i(e, 2); + return { label: t[0], options: t[1], expanded: !0 }; + }, []); + }, + y = function (e) { + return { label: e, value: e }; + }; + }, + PSiG: function (e, t, n) { + "use strict"; + function r(e, t, n, r) { + for (var a in n) + n.hasOwnProperty(a) && (e[a] = void 0 === t[a] ? n[a] : t[a]); + } + n.d(t, "a", function () { + return r; + }); + }, + PVeq: function (e, t, n) { + "use strict"; + var r = n("KHwQ"), + a = n.n(r), + o = n("LvDl"), + i = n.n(o), + l = n("1gCF"), + s = n("GQ3c"); + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var u = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.variableSrv = t), + (this.$location = n), + (this.annotations = this.dashboard.templating.list), + (this.variables = this.variableSrv.variables), + (this.submenuEnabled = this.dashboard.meta.submenuEnabled), + this.dashboard.events.on( + s.CoreEvents.submenuVisibilityChanged, + function (e) { + r.submenuEnabled = e; + } + ), + (this.selectors = l.a.pages.Dashboard.SubMenu.selectors); + } + var t, n, r; + return ( + (e.$inject = ["variableSrv", "$location"]), + (t = e), + (n = [ + { + key: "annotationStateChanged", + value: function () { + this.dashboard.startRefresh(); + }, + }, + { + key: "variableUpdated", + value: function (e) { + this.variableSrv.variableUpdated(e, !0); + }, + }, + { + key: "openEditView", + value: function (e) { + var t = i.a.extend(this.$location.search(), { editview: e }); + this.$location.search(t); + }, + }, + ]) && c(t.prototype, n), + r && c(t, r), + e + ); + })(); + a.a + .module("grafana.directives") + .directive("dashboardSubmenu", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/dashboard/components/SubMenu/template.html", + controller: u, + bindToController: !0, + controllerAs: "ctrl", + scope: { dashboard: "=" }, + }; + }); + var f = n("q1tI"), + d = n.n(f), + p = n("t8hP"); + function h(e) { + return (h = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function m(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function g(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function b(e, t) { + return !t || ("object" !== h(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function v(e) { + return (v = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function y(e, t) { + return (y = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var w = (function (e) { + function t() { + return m(this, t), b(this, v(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && y(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = Object(p.getAngularLoader)(), + t = { dashboard: this.props.dashboard }; + this.angularCmp = e.load( + this.element, + t, + '<dashboard-submenu dashboard="dashboard" />' + ); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.angularCmp && this.angularCmp.destroy(); + }, + }, + { + key: "render", + value: function () { + var e = this; + return d.a.createElement("div", { + ref: function (t) { + return (e.element = t); + }, + }); + }, + }, + ]) && g(n.prototype, r), + a && g(n, a), + t + ); + })(f.PureComponent); + n.d(t, "a", function () { + return w; + }); + }, + PbtU: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n("Obii"), + o = { + valueFormats: {}, + regexEscape: function (e) { + return e.replace(/[\\^$*+?.()|[\]{}\/]/g, "\\$&"); + }, + round_interval: function (e) { + switch (!0) { + case e < 15: + return 10; + case e < 35: + return 20; + case e < 75: + return 50; + case e < 150: + return 100; + case e < 350: + return 200; + case e < 750: + return 500; + case e < 1500: + return 1e3; + case e < 3500: + return 2e3; + case e < 7500: + return 5e3; + case e < 12500: + return 1e4; + case e < 17500: + return 15e3; + case e < 25e3: + return 2e4; + case e < 45e3: + return 3e4; + case e < 9e4: + return 6e4; + case e < 21e4: + return 12e4; + case e < 45e4: + return 3e5; + case e < 75e4: + return 6e5; + case e < 105e4: + return 9e5; + case e < 15e5: + return 12e5; + case e < 27e5: + return 18e5; + case e < 54e5: + return 36e5; + case e < 9e6: + return 72e5; + case e < 162e5: + return 108e5; + case e < 324e5: + return 216e5; + case e < 864e5: + return 432e5; + case e < 6048e5: + return 864e5; + case e < 18144e5: + return 6048e5; + case e < 36288e5: + return 2592e6; + default: + return 31536e6; + } + }, + secondsToHms: function (e) { + var t = Math.floor(e / 31536e3); + if (t) return t + "y"; + var n = Math.floor((e % 31536e3) / 86400); + if (n) return n + "d"; + var r = Math.floor(((e % 31536e3) % 86400) / 3600); + if (r) return r + "h"; + var a = Math.floor((((e % 31536e3) % 86400) % 3600) / 60); + if (a) return a + "m"; + var o = Math.floor((((e % 31536e3) % 86400) % 3600) % 60); + if (o) return o + "s"; + var i = Math.floor(1e3 * e); + return i ? i + "ms" : "less than a millisecond"; + }, + secondsToHhmmss: function (e) { + var t = [], + n = Math.floor(e / 3600), + r = Math.floor((e % 3600) / 60), + a = Math.floor((e % 3600) % 60); + return ( + n > 9 ? t.push("" + n) : t.push("0" + n), + r > 9 ? t.push("" + r) : t.push("0" + r), + a > 9 ? t.push("" + a) : t.push("0" + a), + t.join(":") + ); + }, + to_percent: function (e, t) { + return Math.floor((e / t) * 1e4) / 100 + "%"; + }, + addslashes: function (e) { + return (e = (e = (e = (e = e.replace(/\\/g, "\\\\")).replace( + /\'/g, + "\\'" + )).replace(/\"/g, '\\"')).replace(/\0/g, "\\0")); + }, + interval_regex: /(\d+(?:\.\d+)?)(ms|[Mwdhmsy])/, + intervals_in_seconds: { + y: 31536e3, + M: 2592e3, + w: 604800, + d: 86400, + h: 3600, + m: 60, + s: 1, + ms: 0.001, + }, + calculateInterval: function (e, t, n) { + var r, + a = 1; + return ( + n && + (">" === n[0] && (n = n.slice(1)), (a = o.interval_to_ms(n))), + a > + (r = o.round_interval( + (e.to.valueOf() - e.from.valueOf()) / t + )) && (r = a), + { intervalMs: r, interval: o.secondsToHms(r / 1e3) } + ); + }, + describe_interval: function (e) { + var t = e.match(o.interval_regex); + if (t && Object(r.has)(o.intervals_in_seconds, t[2])) + return { + sec: o.intervals_in_seconds[t[2]], + type: t[2], + count: parseInt(t[1], 10), + }; + throw new Error( + 'Invalid interval string, expecting a number followed by one of "Mwdhmsy"' + ); + }, + interval_to_ms: function (e) { + var t = o.describe_interval(e); + return 1e3 * t.sec * t.count; + }, + interval_to_seconds: function (e) { + var t = o.describe_interval(e); + return t.sec * t.count; + }, + query_color_dot: function (e, t) { + return ( + '<div class="icon-circle" style="' + + [ + "display:inline-block", + "color:" + e, + "font-size:" + t + "px", + ].join(";") + + '"></div>' + ); + }, + slugifyForUrl: function (e) { + return e + .toLowerCase() + .replace(/[^\w ]+/g, "") + .replace(/ +/g, "-"); + }, + stringToJsRegex: function (e) { + return ( + Object(a.deprecationWarning)( + "kbn.ts", + "kbn.stringToJsRegex()", + "@grafana/data" + ), + Object(a.stringToJsRegex)(e) + ); + }, + toFixed: function (e, t) { + if (null === e) return ""; + var n = t ? Math.pow(10, Math.max(0, t)) : 1, + r = String(Math.round(e * n) / n); + if (-1 !== r.indexOf("e") || 0 === e) return r; + if (null != t) { + var a = r.indexOf("."), + o = -1 === a ? 0 : r.length - a - 1; + if (o < t) return (o ? r : r + ".") + String(n).substr(1, t - o); + } + return r; + }, + toFixedScaled: function (e, t, n, r, a) { + return null === n ? o.toFixed(e, t) + a : o.toFixed(e, n + r) + a; + }, + roundValue: function (e, t) { + if (null === e) return null; + var n = Math.pow(10, t), + r = (n * e).toFixed(t); + return Math.round(parseFloat(r)) / n; + }, + getUnitFormats: function () { + return Object(a.getValueFormats)(); + }, + }; + "undefined" != typeof Proxy + ? (o.valueFormats = new Proxy(o.valueFormats, { + get: function (e, t, n) { + if ("string" != typeof t) + throw { + message: "Value format ".concat( + String(t), + " is not a string" + ), + }; + var r = Object(a.getValueFormat)(t); + return r + ? function (e, t, n, o) { + return Object(a.formattedValueToString)( + r(e, t, n, o ? "utc" : "browser") + ); + } + : Reflect.get(e, t, n); + }, + })) + : (o.valueFormats = Object(a.getValueFormatterIndex)()), + (t.a = o); + }, + Pfkp: function (e, t) { + var n = + "public/app/plugins/datasource/elasticsearch/partials/metric_agg.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-inline ng-class="{\'gf-form-disabled\': agg.hide}">\n\t<div class=gf-form>\n\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\tMetric\n\t\t\t \n\t\t\t<a ng-click=toggleShowMetric() bs-tooltip="\'Click to toggle show / hide metric\'">\n\t\t\t\t<i class="fa fa-eye" ng-hide=agg.hide></i>\n\t\t\t\t<i class="fa fa-eye-slash" ng-show=agg.hide></i>\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<metric-segment-model property=agg.type options=metricAggTypes on-change=onTypeChange() custom=false css-class=width-10></metric-segment-model>\n\t\t<metric-segment-model ng-if=aggDef.requiresField property=agg.field get-options=getFieldsInternal() on-change=onChange() css-class=width-12></metric-segment-model>\n\t\t<metric-segment-model ng-if="aggDef.isPipelineAgg && !aggDef.supportsMultipleBucketPaths" property=agg.pipelineAgg options=pipelineAggOptions on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n\t</div>\n\n <div class="gf-form gf-form--grow" ng-if="aggDef.isPipelineAgg && aggDef.supportsMultipleBucketPaths">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleVariables()>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showVariables></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showVariables></i>\n {{variablesLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class="gf-form gf-form--grow">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleOptions() ng-if=settingsLinkText>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showOptions></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showOptions></i>\n\t\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addMetricAgg()><i class="fa fa-plus"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if=!isSingle>\n\t\t\t<a class=pointer ng-click=removeMetricAgg()><i class="fa fa-minus"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showVariables>\n\t<elastic-pipeline-variables variables=agg.pipelineVariables options=pipelineAggOptions on-change=onChangeInternal() />\n <div class="gf-form offset-width-7">\n <label class="gf-form-label width-10">\n Script\n <info-popover mode=right-normal>\n Elasticsearch v5.0 and above: Scripting language is Painless. Use <i>params.<var></i> to reference a variable.<br/><br/>\n Elasticsearch pre-v5.0: Scripting language is per default Groovy if not changed. For Groovy use <i><var></i> to reference a variable.\n </info-popover>\n </label>\n <input type=text class="gf-form-input max-width-24" empty-to-null ng-model=agg.settings.script ng-blur=onChangeInternal() spellcheck=false placeholder="params.var1 / params.var2">\n </div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div class="gf-form offset-width-7" ng-if="agg.type === \'derivative\'">\n\t\t<label class="gf-form-label width-10">Unit</label>\n\t\t<input type=text class="gf-form-input max-width-12" ng-model=agg.settings.unit ng-blur=onChangeInternal() spellcheck=false>\n\t</div>\n\n <div ng-if="agg.type === \'moving_avg\'">\n <div class="gf-form offset-width-7">\n <label class="gf-form-label width-10">Model</label>\n <metric-segment-model property=agg.settings.model options=movingAvgModelTypes on-change=onChangeClearInternal() custom=false css-class=width-12></metric-segment-model>\n </div>\n\n <div class="gf-form offset-width-7">\n <label class="gf-form-label width-10">Window</label>\n <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.window ng-blur=onChangeInternal() spellcheck=false>\n </div>\n\n <div class="gf-form offset-width-7">\n <label class="gf-form-label width-10">Predict</label>\n <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.predict ng-blur=onChangeInternal() spellcheck=false>\n </div>\n\n\n <div class="gf-form offset-width-7" ng-repeat="setting in modelSettings">\n <label class="gf-form-label width-10">{{setting.text}}</label>\n <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.settings[setting.value] ng-blur=onChangeInternal() spellcheck=false>\n </div>\n\n <gf-form-switch ng-if="agg.settings.model == \'holt_winters\'" class="gf-form offset-width-7" label=Pad label-class=width-10 checked=agg.settings.settings.pad on-change=onChangeInternal()></gf-form-switch>\n <gf-form-switch ng-if="agg.settings.model.match(\'ewma|holt_winters|holt\') !== null" class="gf-form offset-width-7" label=Minimize label-class=width-10 checked=agg.settings.minimize on-change=onChangeInternal()></gf-form-switch>\n </div>\n\n <div class="gf-form offset-width-7" ng-if="agg.type === \'percentiles\'">\n <label class="gf-form-label width-10">Percentiles</label>\n <input type=text class="gf-form-input max-width-12" ng-model=agg.settings.percents array-join ng-blur=onChange()>\n </div>\n <div class="gf-form offset-width-7" ng-if="agg.type === \'raw_document\'">\n <label class="gf-form-label width-10">Size</label>\n <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.size ng-blur=onChange()>\n </div>\n\n\n <div class="gf-form offset-width-7" ng-if="agg.type === \'cardinality\'">\n <label class="gf-form-label width-10">Precision threshold</label>\n <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.precision_threshold ng-blur=onChange()>\n </div>\n\n <div ng-if="agg.type === \'extended_stats\'">\n <gf-form-switch ng-repeat="stat in extendedStats" class="gf-form offset-width-7" label={{stat.text}} label-class=width-10 checked=agg.meta[stat.value] on-change=onChangeInternal()></gf-form-switch>\n\n <div class="gf-form offset-width-7">\n <label class="gf-form-label width-10">Sigma</label>\n <input type=number class="gf-form-input max-width-12" placeholder=3 ng-model=agg.settings.sigma ng-blur=onChange()>\n </div>\n </div>\n\n <div class="gf-form offset-width-7" ng-if=aggDef.supportsInlineScript>\n <label class="gf-form-label width-10">Script</label>\n <input type=text class="gf-form-input max-width-12" empty-to-null ng-model=agg.inlineScript ng-blur=onChangeInternal() spellcheck=false placeholder="_value * 1">\n </div>\n\n <div class="gf-form offset-width-7" ng-if=aggDef.supportsMissing>\n\t\t<label class="gf-form-label width-10">\n\t\t\tMissing\n\t\t\t<tip>The missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value</tip>\n\t\t</label>\n\t\t<input type=number class="gf-form-input max-width-12" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + Q8uG: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("txxJ"), + a = n("t/ct"); + function o(e, t, n) { + r.c.directive(e, [ + "reactDirective", + function (e) { + return e(Object(a.b)(t), n); + }, + ]); + } + }, + QBcC: function (e, t) { + var n = "public/app/features/org/partials/select_org.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\n\t<div class=signup>\n\t\t<div class=login-form>\n\n\t\t\t<div class=modal-tagline>\n\t\t\t\tYou have been added to another Organization due to an open invitation!\n\n\t\t\t\tPlease select which organization you want to <br>\n\t\t\t\tuse right now (you can change this later at any time).\n\t\t\t</div>\n\n\t\t\t<div style="display:inline-block;width:400px;margin:30px 0">\n\t\t\t\t<div ng-repeat="org in orgs">\n\t\t\t\t\t<a ng-click=setUsingOrg(org) class="btn btn-primary">\n\t\t\t\t\t\t{{org.name}} ({{org.role}})\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + QGP0: function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "b", function () { + return r; + }), + n.d(t, "a", function () { + return a; + }), + (function (e) { + (e.Thresholds = "thresholds"), + (e.Scheme = "scheme"), + (e.Fixed = "fixed"); + })(r || (r = {})), + (function (e) { + (e.BrBG = "BrBG"), + (e.PRGn = "PRGn"), + (e.PiYG = "PiYG"), + (e.PuOr = "PuOr"), + (e.RdBu = "RdBu"), + (e.RdGy = "RdGy"), + (e.RdYlBu = "RdYlBu"), + (e.RdYlGn = "RdYlGn"), + (e.Spectral = "Spectral"), + (e.BuGn = "BuGn"), + (e.BuPu = "BuPu"), + (e.GnBu = "GnBu"), + (e.OrRd = "OrRd"), + (e.PuBuGn = "PuBuGn"), + (e.PuBu = "PuBu"), + (e.PuRd = "PuRd"), + (e.RdPu = "RdPu"), + (e.YlGnBu = "YlGnBu"), + (e.YlGn = "YlGn"), + (e.YlOrBr = "YlOrBr"), + (e.YlOrRd = "YlOrRd"), + (e.Blues = "Blues"), + (e.Greens = "Greens"), + (e.Greys = "Greys"), + (e.Purples = "Purples"), + (e.Reds = "Reds"), + (e.Oranges = "Oranges"); + })(a || (a = {})); + }, + QH30: function (e, t) { + var n = "public/app/features/admin/partials/edit_user.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n <h3 class=page-sub-heading>Edit User</h3>\n\n <form name=userForm class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-10">Name</span>\n <input type=text required ng-model=user.name class="gf-form-input max-width-25"/>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-10">Email</span>\n <input type=email ng-model=user.email class="gf-form-input max-width-25"/>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-10">Username</span>\n <input type=text ng-model=user.login class="gf-form-input max-width-25"/>\n </div>\n\n <div class=gf-form-button-row>\n <button type=submit class="btn btn-primary" ng-click=update() ng-show=!createMode>Update</button>\n </div>\n </form>\n\n <h3 class=page-heading>Change password</h3>\n\n <form name=passwordForm class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-10">New password</span>\n <input type=password required ng-minlength=4 ng-model=password class="gf-form-input max-width-25"/>\n </div>\n\n <div class=gf-form-button-row>\n <button type=submit class="btn btn-primary" ng-click=setPassword()>Update</button>\n </div>\n </form>\n\n <h3 class=page-heading>Permissions</h3>\n\n <form name=passwordForm class=gf-form-group>\n <div class=gf-form>\n <gf-form-switch class=gf-form label="Grafana Admin" checked=permissions.isGrafanaAdmin switch-class=max-width-6 on-change=updatePermissions()></gf-form-switch>\n </div>\n </form>\n\n <h3 class=page-heading>Organizations</h3>\n\n <form name=addOrgForm class=gf-form-group>\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class=gf-form-label>Add</span>\n <input type=text ng-model=newOrg.name bs-typeahead=searchOrgs required class="gf-form-input max-width-20" placeholder="organization name"/>\n </div>\n <div class=gf-form>\n <span class=gf-form-label>Role</span>\n <span class=gf-form-select-wrapper>\n <select type=text ng-model=newOrg.role class="gf-form-input width-10" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']"></select>\n </span>\n </div>\n <div class=gf-form>\n <button class="btn btn-primary gf-form-btn" ng-click=addOrgUser()>Add</button>\n </div>\n </div>\n </form>\n\n <div class=gf-form-group>\n <table class=filter-table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Role</th>\n <th></th>\n </tr>\n </thead>\n <tr ng-repeat="org in orgs">\n <td>{{org.name}} <span class="label label-info" ng-show="org.orgId === user.orgId">Current</span></td>\n <td>\n <div class=gf-form>\n <span class=gf-form-select-wrapper>\n <select type=text ng-model=org.role class="gf-form-input max-width-12" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']" ng-change=updateOrgUser(org)>\n </select>\n </span>\n </div>\n </td>\n <td style=width:1%>\n <a ng-click=removeOrgUser(org) class="btn btn-danger btn-small">\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </table>\n </div>\n\n <h3 class=page-heading>Sessions</h3>\n\n <div class=gf-form-group>\n <div class=gf-form>\n <table class="filter-table form-inline">\n <thead>\n <tr>\n <th>Last seen</th>\n <th>Logged on</th>\n <th>IP address</th>\n <th>Browser & OS</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="session in sessions">\n <td ng-if=session.isActive>Now</td>\n <td ng-if=!session.isActive>{{session.seenAt}}</td>\n <td>{{session.createdAt}}</td>\n <td>{{session.clientIp}}</td>\n <td>{{session.browser}} on {{session.os}} {{session.osVersion}}</td>\n <td>\n <button class="btn btn-danger btn-small" ng-click=revokeUserSession(session.id)>\n <i class="fa fa-power-off"></i>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class=gf-form-button-row>\n <button ng-if=sessions.length class="btn btn-danger" ng-click=revokeAllUserSessions()>\n Logout user from all devices\n </button>\n </div>\n </div>\n\n\n <h3 class=page-heading>User status</h3>\n\n <div class=gf-form-group>\n <div class=gf-form-button-row>\n <button type=submit class="btn btn-danger" ng-if=!user.isDisabled ng-click=disableUser($event) bs-tooltip="user.isExternal ? \'External user cannot be enabled or disabled\' : \'\'" ng-class="{\'disabled\': user.isExternal}">\n Disable\n </button>\n <button type=submit class="btn btn-primary" ng-if=user.isDisabled ng-click=disableUser($event) bs-tooltip="user.isExternal ? \'External user cannot be enabled or disabled\' : \'\'" ng-class="{\'disabled\': user.isExternal}">\n Enable\n </button>\n <button type=submit class="btn btn-danger" ng-click=deleteUser(user) ng-show=!createMode>Delete User</button>\n </div>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + QJHg: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("kDLi"), + i = n("Obii"), + l = n("ZFWI"); + var s, + c = n("VX0D"), + u = n("m257"), + f = n("66yP"); + function d(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function p(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(n), !0).forEach(function (t) { + h(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : d(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function h(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + n.d(t, "b", function () { + return y; + }), + n.d(t, "c", function () { + return w; + }), + n.d(t, "a", function () { + return x; + }); + var m, + g, + b = + (h((s = {}), i.LogLevel.critical, o.colors[7]), + h(s, i.LogLevel.warning, o.colors[1]), + h(s, i.LogLevel.error, o.colors[4]), + h(s, i.LogLevel.info, o.colors[0]), + h(s, i.LogLevel.debug, o.colors[5]), + h(s, i.LogLevel.trace, o.colors[2]), + h( + s, + i.LogLevel.unknown, + ((m = "#8e8e8e"), + (g = "#dde4ed"), + l.b.bootData.user.lightTheme ? g : m) + ), + s), + v = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-6]\d[,\.]\d+([+-][0-2]\d:[0-5]\d|Z)/g; + function y(e, t) { + return t === i.LogsDedupStrategy.none + ? e + : e.reduce(function (e, n, r) { + var a = p({}, n), + o = e[e.length - 1]; + return ( + r > 0 && + (function (e, t, n) { + switch (n) { + case i.LogsDedupStrategy.exact: + return e.entry.replace(v, "") === t.entry.replace(v, ""); + case i.LogsDedupStrategy.numbers: + return ( + e.entry.replace(/\d/g, "") === + t.entry.replace(/\d/g, "") + ); + case i.LogsDedupStrategy.signature: + return ( + e.entry.replace(/\w/g, "") === + t.entry.replace(/\w/g, "") + ); + default: + return !1; + } + })(n, o, t) + ? o.duplicates++ + : ((a.duplicates = 0), e.push(a)), + e + ); + }, []); + } + function w(e, t) { + return 0 === t.size + ? e + : e.filter(function (e) { + return !t.has(e.logLevel); + }); + } + function O(e) { + return ( + e.fields.some(function (e) { + return e.type === i.FieldType.time; + }) && + e.fields.some(function (e) { + return e.type === i.FieldType.string; + }) + ); + } + function x(e, t, n) { + var r = (function (e) { + var t = [], + n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + O(s) ? n.push(s) : t.push(s); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return { logSeries: n, metricSeries: t }; + })(e), + l = r.logSeries, + s = r.metricSeries, + d = (function (e) { + if (0 === e.length) return; + var t = [], + n = e.map(function (e) { + var n = new i.FieldCache(e), + r = n.getFirstFieldOfType(i.FieldType.string); + return ( + r.labels && t.push(r.labels), + { + series: e, + timeField: n.getFirstFieldOfType(i.FieldType.time), + stringField: r, + logLevelField: n.getFieldByName("level"), + idField: k(n), + } + ); + }), + r = t.length > 0 ? Object(i.findCommonLabels)(t) : {}, + l = [], + s = !1, + f = !0, + d = !1, + p = void 0; + try { + for ( + var h, m = n[Symbol.iterator](); + !(f = (h = m.next()).done); + f = !0 + ) { + var g = h.value, + b = g.timeField, + v = g.stringField, + y = g.logLevelField, + w = g.idField, + O = g.series, + x = v.labels, + j = Object(i.findUniqueLabels)(x, r); + Object.keys(j).length > 0 && (s = !0); + var S = void 0; + x && + -1 !== Object.keys(x).indexOf("level") && + (S = Object(i.getLogLevelFromKey)(x.level)); + for (var E = 0; E < O.length; E++) { + var C = b.values.get(E), + P = Object(i.dateTime)(C), + T = v.values.get(E), + D = "string" == typeof T ? T : JSON.stringify(T), + A = Object(c.b)(D), + _ = O.meta && O.meta.searchWords ? O.meta.searchWords : [], + N = i.LogLevel.unknown; + (N = + y && y.values.get(E) + ? Object(i.getLogLevelFromKey)(y.values.get(E)) + : S || Object(i.getLogLevel)(D)), + l.push({ + entryFieldIndex: v.index, + rowIndex: E, + dataFrame: O, + logLevel: N, + timeFromNow: P.fromNow(), + timeEpochMs: P.valueOf(), + timeLocal: P.format("YYYY-MM-DD HH:mm:ss"), + timeUtc: Object(i.toUtc)(P.valueOf()).format( + "YYYY-MM-DD HH:mm:ss" + ), + uniqueLabels: j, + hasAnsi: A, + searchWords: _, + entry: A ? o.ansicolor.strip(D) : D, + raw: D, + labels: v.labels, + uid: w ? w.values.get(E) : E.toString(), + }); + } + } + } catch (e) { + (d = !0), (p = e); + } finally { + try { + f || null == m.return || m.return(); + } finally { + if (d) throw p; + } + } + var M = Object(u.g)(l), + I = []; + a.a.size(r) > 0 && + I.push({ + label: "Common labels", + value: r, + kind: i.LogsMetaKind.LabelsMap, + }); + var R = e.filter(function (e) { + return e.meta && e.meta.limit; + }), + F = Object.values( + R.reduce(function (e, t) { + return (e[t.refId] = t.meta.limit), e; + }, {}) + ).reduce(function (e, t) { + return e + t; + }, 0); + R.length > 0 && + I.push({ + label: "Limit", + value: "".concat(F, " (").concat(M.length, " returned)"), + kind: i.LogsMetaKind.String, + }); + return { hasUniqueLabels: s, meta: I, rows: M }; + })(l); + return d + ? (0 === s.length + ? (d.series = (function (e, t, n) { + var r = {}, + a = 10 * t, + o = [], + l = e.sort(u.v), + s = !0, + c = !1, + f = void 0; + try { + for ( + var d, h = l[Symbol.iterator](); + !(s = (d = h.next()).done); + s = !0 + ) { + var m = d.value, + g = r[m.logLevel]; + g || + ((r[m.logLevel] = g = { + lastTs: null, + datapoints: [], + alias: m.logLevel, + target: m.logLevel, + color: b[m.logLevel], + }), + o.push(g)); + var v = Math.floor(m.timeEpochMs / a) * a; + v === g.lastTs + ? g.datapoints[g.datapoints.length - 1][0]++ + : (g.datapoints.push([1, v]), (g.lastTs = v)); + var y = !0, + w = !1, + O = void 0; + try { + for ( + var x, k = o[Symbol.iterator](); + !(y = (x = k.next()).done); + y = !0 + ) { + var j = x.value; + j !== g && + j.lastTs !== v && + (j.datapoints.push([0, v]), (j.lastTs = v)); + } + } catch (e) { + (w = !0), (O = e); + } finally { + try { + y || null == k.return || k.return(); + } finally { + if (w) throw O; + } + } + } + } catch (e) { + (c = !0), (f = e); + } finally { + try { + s || null == h.return || h.return(); + } finally { + if (c) throw f; + } + } + return o.map(function (e, t) { + e.datapoints.sort(function (e, t) { + return e[1] - t[1]; + }); + var r = Object(i.toDataFrame)(e), + a = Object(i.getFlotPairs)({ + xField: r.fields[1], + yField: r.fields[0], + nullValueMode: i.NullValueMode.Null, + }), + o = r.fields[1]; + o.display = Object(i.getDisplayProcessor)({ + field: o, + timeZone: n, + }); + var l = r.fields[0]; + return ( + (l.config = p({}, l.config, { color: e.color })), + { + color: e.color, + label: e.alias, + data: a, + isVisible: !0, + yAxis: { index: 1, min: 0, tickDecimals: 0 }, + seriesIndex: t, + timeField: o, + valueField: l, + timeStep: 0, + } + ); + }); + })(d.rows, t, n)) + : (d.series = Object(f.a)( + s, + n, + {}, + { showBars: !0, showLines: !1, showPoints: !1 }, + { asTable: !1, isVisible: !0, placement: "under" } + )), + d) + : { hasUniqueLabels: !1, rows: [], meta: [], series: [] }; + } + function k(e) { + for (var t = 0, n = ["id"]; t < n.length; t++) { + var r = n[t], + a = e.getFieldByName(r); + if (a) return a; + } + } + }, + QNPh: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return l; + }), + n.d(t, "a", function () { + return s; + }), + n.d(t, "c", function () { + return c; + }), + n.d(t, "d", function () { + return u; + }); + var r = n("LvDl"), + a = n.n(r); + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function i(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + var l = function e(t) { + i(this, e), + (this.type = t.type), + (this.params = t.params), + (this.defaultParams = t.defaultParams), + (this.renderer = t.renderer), + (this.category = t.category), + (this.addStrategy = t.addStrategy); + }, + s = (function () { + function e(t, n) { + if ((i(this, e), (this.part = t), (this.def = n), !this.def)) + throw { message: "Could not find query part " + t.type }; + (t.params = t.params || a.a.clone(this.def.defaultParams)), + (this.params = t.params), + this.updateText(); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "render", + value: function (e) { + return this.def.renderer(this, e); + }, + }, + { + key: "hasMultipleParamsInString", + value: function (e, t) { + return ( + -1 !== e.indexOf(",") && + this.def.params[t + 1] && + this.def.params[t + 1].optional + ); + }, + }, + { + key: "updateParam", + value: function (e, t) { + var n = this; + this.hasMultipleParamsInString(e, t) + ? a.a.each(e.split(","), function (e, t) { + n.updateParam(e.trim(), t); + }) + : ("" === e && this.def.params[t].optional + ? this.params.splice(t, 1) + : (this.params[t] = e), + (this.part.params = this.params), + this.updateText()); + }, + }, + { + key: "updateText", + value: function () { + if (0 !== this.params.length) { + var e = this.def.type + "("; + (e += this.params.join(", ")), (e += ")"), (this.text = e); + } else this.text = this.def.type + "()"; + }, + }, + ]) && o(t.prototype, n), + r && o(t, r), + e + ); + })(); + function c(e, t) { + var n = e.def.type + "(", + r = a.a.map(e.params, function (t, n) { + var r = e.def.params[n]; + return ( + "time" === r.type && "auto" === t && (t = "$__interval"), + "single" === r.quote + ? "'" + t + "'" + : "double" === r.quote + ? '"' + t + '"' + : t + ); + }); + return t && r.unshift(t), n + r.join(", ") + ")"; + } + function u(e, t) { + return t + " " + e.params[0]; + } + }, + QNe1: function (e, t) {}, + QOF1: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("1gCF"), + l = n("Obii"), + s = n("t8hP"), + c = n("0Mjz"), + u = n("NPB1"), + f = n("5kRJ"); + function d(e, t, n, r) { + var a = Object(c.b)(), + o = Object(u.a)().timeRange(); + return ( + (a.from = o.from.valueOf()), + (a.to = o.to.valueOf()), + (a.orgId = s.config.bootData.user.orgId), + e || (delete a.from, delete a.to), + t && f.b.fillVariableValuesForUrl(a), + "current" !== n && (a.theme = n), + r + ? ((a.panelId = r.id), (a.fullscreen = !0)) + : (delete a.panelId, delete a.fullscreen), + a + ); + } + function p() { + var e = window.location.href, + t = e.indexOf("?"); + return -1 !== t && (e = e.substring(0, t)), e; + } + function h(e, t, n, r) { + var a = p(), + o = d(e, t, n, r), + i = a.replace( + s.config.appSubUrl + "/dashboard/", + s.config.appSubUrl + "/dashboard-solo/" + ); + return ( + (i = i.replace( + s.config.appSubUrl + "/d/", + s.config.appSubUrl + "/d-solo/" + )), + delete o.fullscreen, + delete o.edit, + Object(c.a)(i, Object(c.d)(o)) + ); + } + function m(e, t, n, r) { + var a = h(e, t, n, r).replace( + s.config.appSubUrl + "/dashboard-solo/", + s.config.appSubUrl + "/render/dashboard-solo/" + ); + return ( + (a = a.replace( + s.config.appSubUrl + "/d-solo/", + s.config.appSubUrl + "/render/d-solo/" + )), + (a += + "&width=1000&height=500" + + (function () { + var e = + "&tz=UTC" + + encodeURIComponent(Object(l.dateTime)().format("Z")); + if (!window.Intl) return e; + var t = window.Intl.DateTimeFormat(); + if (!t.resolvedOptions) return e; + var n = t.resolvedOptions(); + if (!n.timeZone) return e; + return "&tz=" + encodeURIComponent(n.timeZone); + })()), + (a += "&timeout=3600") + ); + } + var g = n("HJRA"); + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function y(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function w(e) { + return (w = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function O(e, t) { + return (O = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var x = [ + { label: "current", value: "current" }, + { label: "dark", value: "dark" }, + { label: "light", value: "light" }, + ], + k = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = y(this, w(t).call(this, e))).buildUrl = function () { + var e = n.props.panel, + t = n.state, + r = t.useCurrentTimeRange, + a = t.includeTemplateVars, + o = t.selectedTheme, + i = (function (e, t, n, r) { + var a = p(), + o = d(e, t, n, r); + return Object(c.a)(a, Object(c.d)(o)); + })(r, a, o.value, e), + l = m(r, a, o.value, e); + n.setState({ shareUrl: i, imageUrl: l }); + }), + (n.onUseCurrentTimeRangeChange = function () { + n.setState({ + useCurrentTimeRange: !n.state.useCurrentTimeRange, + }); + }), + (n.onIncludeTemplateVarsChange = function () { + n.setState({ + includeTemplateVars: !n.state.includeTemplateVars, + }); + }), + (n.onThemeChange = function (e) { + n.setState({ selectedTheme: e }); + }), + (n.onShareUrlCopy = function () { + g.a.emit(l.AppEvents.alertSuccess, [ + "Content copied to clipboard", + ]); + }), + (n.getShareUrl = function () { + return n.state.shareUrl; + }), + (n.state = { + useCurrentTimeRange: !0, + includeTemplateVars: !0, + selectedTheme: x[0], + shareUrl: "", + imageUrl: "", + }), + n + ); + } + var n, r, s; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && O(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.buildUrl(); + }, + }, + { + key: "componentDidUpdate", + value: function (e, t) { + var n = this.state, + r = n.useCurrentTimeRange, + a = n.includeTemplateVars, + o = n.selectedTheme; + (t.useCurrentTimeRange === r && + t.includeTemplateVars === a && + t.selectedTheme.value === o.value) || + this.buildUrl(); + }, + }, + { + key: "render", + value: function () { + var e = this.props.panel, + t = this.state, + n = t.useCurrentTimeRange, + r = t.includeTemplateVars, + l = t.selectedTheme, + s = t.shareUrl, + c = t.imageUrl, + u = i.a.pages.SharePanelModal.selectors; + return a.a.createElement( + "div", + { className: "share-modal-body" }, + a.a.createElement( + "div", + { className: "share-modal-header" }, + a.a.createElement( + "div", + { className: "share-modal-big-icon" }, + a.a.createElement("i", { + className: "gicon gicon-link", + }) + ), + a.a.createElement( + "div", + { className: "share-modal-content" }, + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "Create a direct link to this dashboard or panel, customized with the options below." + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(o.Switch, { + labelClass: "width-12", + label: "Current time range", + checked: n, + onChange: this.onUseCurrentTimeRangeChange, + }), + a.a.createElement(o.Switch, { + labelClass: "width-12", + label: "Template variables", + checked: r, + onChange: this.onIncludeTemplateVarsChange, + }), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { className: "gf-form-label width-12" }, + "Theme" + ), + a.a.createElement(o.Select, { + width: 10, + options: x, + value: l, + onChange: this.onThemeChange, + }) + ) + ), + a.a.createElement( + "div", + null, + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("input", { + type: "text", + className: "gf-form-input", + defaultValue: s, + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + o.ClipboardButton, + { + variant: "inverse", + getText: this.getShareUrl, + onClipboardCopy: this.onShareUrlCopy, + }, + "Copy" + ) + ) + ) + ) + ), + e && + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "a", + { + href: c, + target: "_blank", + "aria-label": u.linkToRenderedImage, + }, + a.a.createElement("i", { + className: "fa fa-camera", + }), + " Direct link rendered image" + ) + ) + ) + ) + ); + }, + }, + ]) && v(n.prototype, r), + s && v(n, s), + t + ); + })(r.PureComponent); + function j(e) { + return (j = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function S(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function E(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + S(o, r, a, i, l, "next", e); + } + function l(e) { + S(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function C(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function P(e, t) { + return !t || ("object" !== j(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function T(e) { + return (T = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function D(e, t) { + return (D = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var A = [ + { label: "Never", value: 0 }, + { label: "1 Hour", value: 3600 }, + { label: "1 Day", value: 86400 }, + { label: "7 Days", value: 604800 }, + ], + _ = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = P(this, T(t).call(this, e))).createSnapshot = function (e) { + return function () { + var t = n.state.timeoutSeconds; + (n.dashboard.snapshot = { timestamp: new Date() }), + e || + (n.dashboard.snapshot.originalUrl = window.location.href), + n.setState({ isLoading: !0 }), + n.dashboard.startRefresh(), + setTimeout(function () { + n.saveSnapshot(n.dashboard, e); + }, 1e3 * t); + }; + }), + (n.saveSnapshot = (function () { + var e = E( + regeneratorRuntime.mark(function e(t, r) { + var a, o, i, l; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (a = n.state.snapshotExpires), + (o = n.dashboard.getSaveModelClone()), + n.scrubDashboard(o), + (i = { + dashboard: o, + name: o.title, + expires: a, + external: r, + }), + (e.prev = 4), + (e.next = 7), + Object(s.getBackendSrv)().post( + "/api/snapshots", + i + ) + ); + case 7: + (l = e.sent), + n.setState({ + deleteUrl: l.deleteUrl, + snapshotUrl: l.url, + step: 2, + }); + case 9: + return ( + (e.prev = 9), + n.setState({ isLoading: !1 }), + e.finish(9) + ); + case 12: + case "end": + return e.stop(); + } + }, + e, + null, + [[4, , 9, 12]] + ); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })()), + (n.scrubDashboard = function (e) { + var t = n.props.panel, + r = n.state.snapshotName; + (e.title = r), + (e.time = Object(u.a)().timeRange()), + e.panels.forEach(function (e) { + (e.targets = []), (e.links = []), (e.datasource = null); + }); + var a = e.annotations.list.filter(function (e) { + return e.enable; + }); + if ( + ((e.annotations.list = a.map(function (e) { + return { + name: e.name, + enable: e.enable, + iconColor: e.iconColor, + snapshotData: e.snapshotData, + type: e.type, + builtIn: e.builtIn, + hide: e.hide, + }; + })), + e.getVariables().forEach(function (e) { + (e.query = ""), (e.options = e.current), (e.refresh = !1); + }), + t) + ) { + var o = t.getSaveModel(); + (o.gridPos.w = 24), + (o.gridPos.x = 0), + (o.gridPos.y = 0), + (o.gridPos.h = 20), + (e.panels = [o]); + } + delete n.dashboard.snapshot, + n.dashboard.forEachPanel(function (e) { + delete e.snapshotData; + }), + n.dashboard.annotations.list.forEach(function (e) { + delete e.snapshotData; + }); + }), + (n.deleteSnapshot = E( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = n.state.deleteUrl), + (e.next = 3), + Object(s.getBackendSrv)().get(t) + ); + case 3: + n.setState({ step: 3 }); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.getSnapshotUrl = function () { + return n.state.snapshotUrl; + }), + (n.onSnapshotNameChange = function (e) { + n.setState({ snapshotName: e.target.value }); + }), + (n.onTimeoutChange = function (e) { + n.setState({ timeoutSeconds: Number(e.target.value) }); + }), + (n.onExpireChange = function (e) { + n.setState({ + selectedExpireOption: e, + snapshotExpires: e.value, + }); + }), + (n.onSnapshotUrlCopy = function () { + g.a.emit(l.AppEvents.alertSuccess, [ + "Content copied to clipboard", + ]); + }), + (n.dashboard = e.dashboard), + (n.state = { + isLoading: !1, + step: 1, + selectedExpireOption: A[0], + snapshotExpires: A[0].value, + snapshotName: e.dashboard.title, + timeoutSeconds: 4, + snapshotUrl: "", + deleteUrl: "", + externalEnabled: !1, + sharingButtonText: "", + }), + n + ); + } + var n, r, i, c; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && D(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.getSnaphotShareOptions(); + }, + }, + { + key: "getSnaphotShareOptions", + value: + ((c = E( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(s.getBackendSrv)().get( + "/api/snapshot/shared-options" + ) + ); + case 2: + (t = e.sent), + this.setState({ + sharingButtonText: t.externalSnapshotName, + externalEnabled: t.externalEnabled, + }); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return c.apply(this, arguments); + }), + }, + { + key: "renderStep1", + value: function () { + var e = this.props.onDismiss, + t = this.state, + n = t.snapshotName, + r = t.selectedExpireOption, + i = t.timeoutSeconds, + l = t.isLoading, + s = t.sharingButtonText, + c = t.externalEnabled; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + null, + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "A snapshot is an instant way to share an interactive dashboard publicly. When created, we", + " ", + a.a.createElement( + "strong", + null, + "strip sensitive data" + ), + " like queries (metric, template and annotation) and panel links, leaving only the visible metric data and series names embedded into your dashboard." + ), + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "Keep in mind, your ", + a.a.createElement( + "strong", + null, + "snapshot can be viewed by anyone" + ), + " that has the link and can reach the URL. Share wisely." + ) + ), + a.a.createElement( + "div", + { className: "gf-form-group share-modal-options" }, + a.a.createElement( + "div", + { className: "gf-form", "ng-if": "step === 1" }, + a.a.createElement( + "label", + { className: "gf-form-label width-12" }, + "Snapshot name" + ), + a.a.createElement(o.Input, { + width: 15, + value: n, + onChange: this.onSnapshotNameChange, + }) + ), + a.a.createElement( + "div", + { className: "gf-form", "ng-if": "step === 1" }, + a.a.createElement( + "label", + { className: "gf-form-label width-12" }, + "Expire" + ), + a.a.createElement(o.Select, { + width: 15, + options: A, + value: r, + onChange: this.onExpireChange, + }) + ) + ), + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "You may need to configure the timeout value if it takes a long time to collect your dashboard's metrics." + ), + a.a.createElement( + "div", + { className: "gf-form-group share-modal-options" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "span", + { className: "gf-form-label width-12" }, + "Timeout (seconds)" + ), + a.a.createElement(o.Input, { + type: "number", + width: 15, + value: i, + onChange: this.onTimeoutChange, + }) + ) + ), + a.a.createElement( + "div", + { className: "gf-form-button-row" }, + a.a.createElement( + o.Button, + { + className: "width-10", + variant: "primary", + disabled: l, + onClick: this.createSnapshot(), + }, + "Local Snapshot" + ), + c && + a.a.createElement( + o.Button, + { + className: "width-16", + variant: "secondary", + disabled: l, + onClick: this.createSnapshot(!0), + }, + s + ), + a.a.createElement( + o.Button, + { variant: "inverse", onClick: e }, + "Cancel" + ) + ) + ); + }, + }, + { + key: "renderStep2", + value: function () { + var e = this.state.snapshotUrl; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form", style: { marginTop: "40px" } }, + a.a.createElement( + "div", + { className: "gf-form-row" }, + a.a.createElement( + "a", + { + href: e, + className: "large share-modal-link", + target: "_blank", + }, + a.a.createElement("i", { + className: "fa fa-external-link-square", + }), + " ", + e + ), + a.a.createElement("br", null), + a.a.createElement( + o.ClipboardButton, + { + variant: "inverse", + getText: this.getSnapshotUrl, + onClipboardCopy: this.onSnapshotUrlCopy, + }, + "Copy Link" + ) + ) + ), + a.a.createElement( + "div", + { + className: "pull-right", + "ng-if": "step === 2", + style: { padding: "5px" }, + }, + "Did you make a mistake?", + " ", + a.a.createElement( + o.LinkButton, + { + variant: "link", + target: "_blank", + onClick: this.deleteSnapshot, + }, + "delete snapshot." + ) + ) + ); + }, + }, + { + key: "renderStep3", + value: function () { + return a.a.createElement( + "div", + { className: "share-modal-header" }, + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "The snapshot has now been deleted. If it you have already accessed it once, It might take up to an hour before it is removed from browser caches or CDN caches." + ) + ); + }, + }, + { + key: "render", + value: function () { + var e = this.state, + t = e.isLoading, + n = e.step; + return a.a.createElement( + "div", + { className: "share-modal-body" }, + a.a.createElement( + "div", + { className: "share-modal-header" }, + a.a.createElement( + "div", + { className: "share-modal-big-icon" }, + t + ? a.a.createElement("i", { + className: "fa fa-spinner fa-spin", + }) + : a.a.createElement("i", { + className: "gicon gicon-snapshots", + }) + ), + a.a.createElement( + "div", + { className: "share-modal-content" }, + 1 === n && this.renderStep1(), + 2 === n && this.renderStep2(), + 3 === n && this.renderStep3() + ) + ) + ); + }, + }, + ]) && C(n.prototype, r), + i && C(n, i), + t + ); + })(r.PureComponent), + N = n("JEAp"), + M = n("zogf"), + I = n("GQ3c"); + function R(e) { + return (R = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function F(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function L(e, t) { + return !t || ("object" !== R(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function V(e) { + return (V = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function B(e, t) { + return (B = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var $ = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = L( + this, + V(t).call(this, e) + )).onShareExternallyChange = function () { + n.setState({ shareExternally: !n.state.shareExternally }); + }), + (n.onSaveAsFile = function () { + var e = n.props.dashboard; + n.state.shareExternally + ? n.exporter.makeExportable(e).then(function (e) { + n.openSaveAsDialog(e); + }) + : n.openSaveAsDialog(e.getSaveModelClone()); + }), + (n.onViewJson = function () { + var e = n.props.dashboard; + n.state.shareExternally + ? n.exporter.makeExportable(e).then(function (e) { + n.openJsonModal(e); + }) + : n.openJsonModal(e.getSaveModelClone()); + }), + (n.openSaveAsDialog = function (e) { + var t = JSON.stringify(e, null, 2), + n = new Blob([t], { type: "application/json;charset=utf-8" }), + r = new Date().getTime(); + Object(N.saveAs)(n, "".concat(e.title, "-").concat(r, ".json")); + }), + (n.openJsonModal = function (e) { + var t = { object: e, enableCopy: !0 }; + g.a.emit(I.CoreEvents.showModal, { + src: "public/app/partials/edit_json.html", + model: t, + }), + n.props.onDismiss(); + }), + (n.state = { shareExternally: !1 }), + (n.exporter = new M.a()), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && B(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.onDismiss, + t = this.state.shareExternally; + return a.a.createElement( + "div", + { className: "share-modal-body" }, + a.a.createElement( + "div", + { className: "share-modal-header" }, + a.a.createElement( + "div", + { className: "share-modal-big-icon" }, + a.a.createElement("i", { + className: "fa fa-cloud-upload", + }) + ), + a.a.createElement( + "div", + { className: "share-modal-content" }, + a.a.createElement(o.Switch, { + labelClass: "width-16", + label: "Export for sharing externally", + checked: t, + onChange: this.onShareExternallyChange, + }), + a.a.createElement( + "div", + { className: "gf-form-button-row" }, + a.a.createElement( + o.Button, + { variant: "primary", onClick: this.onSaveAsFile }, + "Save to file" + ), + a.a.createElement( + o.Button, + { variant: "secondary", onClick: this.onViewJson }, + "View JSON" + ), + a.a.createElement( + o.Button, + { variant: "inverse", onClick: e }, + "Cancel" + ) + ) + ) + ) + ); + }, + }, + ]) && F(n.prototype, r), + i && F(n, i), + t + ); + })(r.PureComponent); + function q(e) { + return (q = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function U(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function z(e, t) { + return !t || ("object" !== q(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function H(e) { + return (H = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function G(e, t) { + return (G = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var W = [ + { label: "current", value: "current" }, + { label: "dark", value: "dark" }, + { label: "light", value: "light" }, + ], + Q = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = z(this, H(t).call(this, e))).buildIframeHtml = function () { + var e = n.props.panel, + t = n.state, + r = (function (e, t, n, r) { + return ( + '<iframe src="' + + h(e, t, n, r) + + '" width="450" height="200" frameborder="0"></iframe>' + ); + })( + t.useCurrentTimeRange, + t.includeTemplateVars, + t.selectedTheme.value, + e + ); + n.setState({ iframeHtml: r }); + }), + (n.onUseCurrentTimeRangeChange = function () { + n.setState( + { useCurrentTimeRange: !n.state.useCurrentTimeRange }, + n.buildIframeHtml + ); + }), + (n.onIncludeTemplateVarsChange = function () { + n.setState( + { includeTemplateVars: !n.state.includeTemplateVars }, + n.buildIframeHtml + ); + }), + (n.onThemeChange = function (e) { + n.setState({ selectedTheme: e }, n.buildIframeHtml); + }), + (n.state = { + useCurrentTimeRange: !0, + includeTemplateVars: !0, + selectedTheme: W[0], + iframeHtml: "", + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && G(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.buildIframeHtml(); + }, + }, + { + key: "render", + value: function () { + var e = this.state, + t = e.useCurrentTimeRange, + n = e.includeTemplateVars, + r = e.selectedTheme, + i = e.iframeHtml; + return a.a.createElement( + "div", + { className: "share-modal-body" }, + a.a.createElement( + "div", + { className: "share-modal-header" }, + a.a.createElement( + "div", + { className: "share-modal-big-icon" }, + a.a.createElement("i", { + className: "gicon gicon-link", + }) + ), + a.a.createElement( + "div", + { className: "share-modal-content" }, + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(o.Switch, { + labelClass: "width-12", + label: "Current time range", + checked: t, + onChange: this.onUseCurrentTimeRangeChange, + }), + a.a.createElement(o.Switch, { + labelClass: "width-12", + label: "Template variables", + checked: n, + onChange: this.onIncludeTemplateVarsChange, + }), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { className: "gf-form-label width-12" }, + "Theme" + ), + a.a.createElement(o.Select, { + width: 10, + options: W, + value: r, + onChange: this.onThemeChange, + }) + ) + ), + a.a.createElement( + "p", + { className: "share-modal-info-text" }, + "The html code below can be pasted and included in another web page. Unless anonymous access is enabled, the user viewing that page need to be signed into grafana for the graph to load." + ), + a.a.createElement( + "div", + { className: "gf-form-group gf-form--grow" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement("textarea", { + rows: 5, + "data-share-panel-url": !0, + className: "gf-form-input", + defaultValue: i, + }) + ) + ) + ) + ) + ); + }, + }, + ]) && U(n.prototype, r), + i && U(n, i), + t + ); + })(r.PureComponent); + function Y(e) { + return (Y = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function K(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function J(e, t) { + return !t || ("object" !== Y(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Z(e) { + return (Z = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function X(e, t) { + return (X = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "a", function () { + return le; + }); + var ee = [ + { label: "Link", value: "link", component: k }, + { label: "Snapshot", value: "snapshot", component: _ }, + ], + te = [{ label: "Export", value: "export", component: $ }], + ne = [{ label: "Embed", value: "embed", component: Q }], + re = [], + ae = []; + function oe(e) { + var t = ie(e); + return { tabs: t, activeTab: t[0].value }; + } + function ie(e) { + var t = e.panel, + n = [].concat(ee); + return ( + t + ? (n.push.apply(n, ne), n.push.apply(n, ae)) + : (n.push.apply(n, te), n.push.apply(n, re)), + n + ); + } + var le = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = J(this, Z(t).call(this, e))).onDismiss = function () { + n.setState(oe(n.props)), n.props.onDismiss(); + }), + (n.onSelectTab = function (e) { + n.setState({ activeTab: e.value }); + }), + (n.state = oe(e)), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && X(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getTabs", + value: function () { + return ie(this.props); + }, + }, + { + key: "getActiveTab", + value: function () { + var e = this.state, + t = e.tabs, + n = e.activeTab; + return t.find(function (e) { + return e.value === n; + }); + }, + }, + { + key: "renderTitle", + value: function () { + var e = this.props.panel, + t = this.state.activeTab, + n = e ? "Share Panel" : "Share", + r = this.getTabs(); + return a.a.createElement(o.ModalTabsHeader, { + title: n, + icon: "share-square-o", + tabs: r, + activeTab: t, + onChangeTab: this.onSelectTab, + }); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.dashboard, + n = e.panel, + r = this.getActiveTab(), + i = null == r ? void 0 : r.component; + return a.a.createElement( + o.Modal, + { + isOpen: !0, + title: this.renderTitle(), + onDismiss: this.onDismiss, + }, + a.a.createElement( + o.TabContent, + null, + a.a.createElement(i, { + dashboard: t, + panel: n, + onDismiss: this.onDismiss, + }) + ) + ); + }, + }, + ]) && K(n.prototype, r), + i && K(n, i), + t + ); + })(a.a.Component); + }, + QQVG: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("kDDq"); + function l() { + var e = u(["\n margin-bottom: 20px;\n "]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + var e = u(["\n max-width: 700px;\n margin: 0 auto;\n"]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = u(["\n text-align: center;\n"]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var f = Object(i.css)(c()), + d = Object(i.css)(s()); + t.a = function (e) { + var t = e.title, + n = e.buttonIcon, + s = e.buttonLink, + c = e.buttonTitle, + u = e.onClick, + p = e.proTip, + h = e.proTipLink, + m = e.proTipLinkTitle, + g = e.proTipTarget, + b = e.infoBox, + v = e.infoBoxTitle, + y = Object(r.useContext)(o.ThemeContext), + w = function () { + return a.a.createElement( + a.a.Fragment, + null, + p + ? a.a.createElement( + "span", + { key: "proTipFooter" }, + a.a.createElement("i", { className: "fa fa-rocket" }), + a.a.createElement(a.a.Fragment, null, " ProTip: ", p, " "), + a.a.createElement( + "a", + { href: h, target: g, className: "text-link" }, + m + ) + ) + : "", + b + ? a.a.createElement( + "div", + { + key: "infoBoxHtml", + className: "grafana-info-box ".concat(d), + }, + v && a.a.createElement("h5", null, v), + a.a.createElement("div", { dangerouslySetInnerHTML: b }) + ) + : "" + ); + }, + O = w() ? "" : Object(i.css)(l()), + x = a.a.createElement( + o.LinkButton, + { + size: "lg", + onClick: u, + href: s, + icon: n, + className: O, + "aria-label": "Call to action button ".concat(c), + }, + c + ); + return a.a.createElement(o.CallToActionCard, { + className: f, + message: t, + footer: w(), + callToActionElement: x, + theme: y, + }); + }; + }, + Qhie: function (e, t) { + angular.module("$strap.config", []).value("$strapConfig", {}), + angular.module("$strap.filters", ["$strap.config"]), + angular.module("$strap.directives", ["$strap.config"]), + angular.module("$strap", [ + "$strap.filters", + "$strap.directives", + "$strap.config", + ]), + angular.module("$strap.directives").factory("$modal", [ + "$rootScope", + "$compile", + "$http", + "$timeout", + "$q", + "$templateCache", + "$strapConfig", + function (e, t, n, r, a, o, i) { + return function (l) { + return new (function (l) { + var s = angular.extend({ show: !0 }, i.modal, l), + c = s.scope ? s.scope : e.$new(), + u = s.template; + return a + .when( + s.templateHtml || + o.get(u) || + n.get(u, { cache: !0 }).then(function (e) { + return e.data; + }) + ) + .then(function (e) { + var n = c.$id; + u && + (n += u.replace(".html", "").replace(/[\/|\.|:]/g, "-")); + var a = $('<div class="modal hide" tabindex="-1"></div>') + .attr("id", n) + .html(e); + return ( + s.modalClass && a.addClass(s.modalClass), + $("body").append(a), + r(function () { + t(a)(c); + }), + (c.$modal = function (e) { + a.modal(e); + }), + angular.forEach(["show", "hide"], function (e) { + c[e] = function () { + a.modal(e); + }; + }), + (c.dismiss = c.hide), + angular.forEach( + ["show", "shown", "hide", "hidden"], + function (e) { + a.on(e, function (t) { + c.$emit("modal-" + e, t); + }); + } + ), + a.on("shown", function (e) { + $("input[autofocus], textarea[autofocus]", a) + .first() + .trigger("focus"); + }), + a.on("hidden", function (e) { + s.persist || c.$destroy(); + }), + c.$on("$destroy", function () { + a.remove(); + }), + a.modal(s), + a + ); + }); + })(l); + }; + }, + ]), + angular.module("$strap.directives").directive("bsTooltip", [ + "$parse", + "$compile", + function (e, t) { + return { + restrict: "A", + scope: !0, + link: function (t, n, r, a) { + var o = e(r.bsTooltip), + i = (o.assign, o(t)); + t.$watch(r.bsTooltip, function (e, t) { + e !== t && (i = e); + }), + n.on("show", function (e) { + $(".tooltip.in").each(function () { + var e = $(this), + t = e.data("tooltip"); + t && !t.$element.is(n) && e.tooltip("hide"); + }); + }), + n.tooltip({ + title: function () { + return angular.isFunction(i) + ? i.apply(null, arguments) + : i; + }, + html: !0, + container: "body", + }), + (n.data("tooltip").show = function () { + var e = $.fn.tooltip.Constructor.prototype.show.apply( + this, + arguments + ); + return this.tip().data("tooltip", this), e; + }), + (t._tooltip = function (e) { + n.tooltip(e); + }), + (t.hide = function () { + n.tooltip("hide"); + }), + (t.show = function () { + n.tooltip("show"); + }), + (t.dismiss = t.hide); + }, + }; + }, + ]), + angular.module("$strap.directives").directive("bsTypeahead", [ + "$parse", + function (e) { + return { + restrict: "A", + require: "?ngModel", + link: function (t, n, r, a) { + var o = e(r.bsTypeahead), + i = (o.assign, o(t)); + t.$watch(r.bsTypeahead, function (e, t) { + e !== t && (i = e); + }), + n.attr("data-provide", "typeahead"), + n.typeahead({ + source: function (e) { + return angular.isFunction(i) + ? i.apply(null, arguments) + : i; + }, + minLength: r.minLength || 1, + items: r.items, + updater: function (e) { + return ( + a && + t.$apply(function () { + a.$setViewValue(e); + }), + t.$emit("typeahead-updated", e), + e + ); + }, + }); + var l = n.data("typeahead"); + (l.lookup = function (e) { + var t; + return ( + (this.query = this.$element.val() || ""), + this.query.length < this.options.minLength + ? this.shown + ? this.hide() + : this + : (t = $.isFunction(this.source) + ? this.source(this.query, $.proxy(this.process, this)) + : this.source) + ? this.process(t) + : this + ); + }), + r.matchAll && + (l.matcher = function (e) { + return !0; + }), + "0" === r.minLength && + setTimeout(function () { + n.on("focus", function () { + 0 === n.val().length && + setTimeout(n.typeahead.bind(n, "lookup"), 200); + }); + }); + }, + }; + }, + ]); + }, + Qinm: function (e, t) { + var n = + "public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Service</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input service-dropdown" ng-model=ctrl.annotation.queryType ng-options="f as f for f in [\'Application Insights\', \'Azure Monitor\', \'Azure Log Analytics\']"></select>\n </div>\n </div>\n <div class=gf-form ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'">\n <label class="gf-form-label query-keyword width-9">Subscription</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input service-dropdown" ng-model=ctrl.annotation.subscription ng-options="f.value as f.text for f in ctrl.subscriptions" ng-change=ctrl.onSubscriptionChange()></select>\n </div>\n </div>\n <div ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'">\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-9">Workspace</label>\n <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n <select class="gf-form-input min-width-12" ng-model=ctrl.annotation.workspace ng-options="f.value as f.text for f in ctrl.workspaces"></select>\n </div>\n </div>\n <div class=gf-form>\n <div class=width-1></div>\n </div>\n <div class=gf-form>\n <button class="btn btn-primary width-10" ng-click=ctrl.panelCtrl.refresh()>Run</button>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n </div>\n </div>\n <kusto-editor class="gf-form gf-form--grow" query=ctrl.annotation.rawQuery variables=ctrl.templateVariables change=ctrl.onLogAnalyticsQueryChange getschema=ctrl.getAzureLogAnalyticsSchema />\n </div>\n\n <div class=gf-form-inline ng-show="ctrl.annotation.queryType !== \'Azure Log Analytics\'">\n <div class="gf-form gf-form--grow">\n <label class=gf-form-label>No annotations support for {{ctrl.annotation.queryType}}</label>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n </div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n <pre class="gf-form-pre alert alert-info" ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the datetime column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with the datetime type.\n- column with alias: <b>Text</b> or <b>text</b> for the annotation text\n- column with alias: <b>Tags</b> or <b>tags</b> for annotation tags. This is should return a comma separated string of tags e.g. \'tag1,tag2\'\n\nMacros:\n - $__timeFilter() -> TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z)\n - $__timeFilter(datetimeColumn) -> datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z)\n\n Or build your own conditionals using these built-in variables which just return the values:\n - $__timeFrom -> datetime(2018-06-05T18:09:58.907Z)\n - $__timeTo -> datetime(2018-06-05T20:09:58.907Z)\n - $__interval -> 5m\n</pre>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + QlHa: function (e, t) {}, + QqjE: function (e, t) { + var n = "public/app/plugins/panel/dashlist/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div>\n <div class="section gf-form-group">\n <h5 class=section-heading>Options</h5>\n\n <gf-form-switch class=gf-form label=Starred label-class=width-9 checked=ctrl.panel.starred on-change=ctrl.refresh()></gf-form-switch>\n <gf-form-switch class=gf-form label="Recently viewed" label-class=width-9 checked=ctrl.panel.recent on-change=ctrl.refresh()></gf-form-switch>\n <gf-form-switch class=gf-form label=Search label-class=width-9 checked=ctrl.panel.search on-change=ctrl.refresh()></gf-form-switch>\n\n <gf-form-switch class=gf-form label="Show headings" label-class=width-9 checked=ctrl.panel.headings on-change=ctrl.refresh()></gf-form-switch>\n\n <div class=gf-form>\n <span class="gf-form-label width-9">Max items</span>\n <input class="gf-form-input max-width-5" type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Search</h5>\n\n <div class=gf-form>\n <span class="gf-form-label width-6">Query</span>\n <input type=text class=gf-form-input placeholder="title query" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n\n <div class=gf-form>\n <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange label-class=width-6 initial-title="\'All\'" enable-reset=true>\n </folder-picker>\n </div>\n\n <div class=gf-form>\n <span class="gf-form-label width-6">Tags</span>\n <bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n </bootstrap-tagsinput>\n </div>\n </div>\n\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + Qrgx: function (e, t) {}, + QzbV: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r); + t.a = function () { + return a.a.createElement( + "div", + { className: "" }, + a.a.createElement("h5", null, "What are Permissions?"), + a.a.createElement( + "p", + null, + "An Access Control List (ACL) model is used to limit access to Dashboard Folders. A user or a Team can be assigned permissions for a folder or for a single dashboard." + ) + ); + }; + }, + R9Tc: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return s; + }), + n.d(t, "c", function () { + return u; + }), + n.d(t, "b", function () { + return f; + }); + var r = n("i7Pf"), + a = n("ZFWI"); + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function s() { + var e = {}; + return ( + (function e(t, n, r) { + var a = !0, + o = !1, + l = void 0; + try { + for ( + var s, c = n[Symbol.iterator](); + !(a = (s = c.next()).done); + a = !0 + ) { + var u = s.value; + (t[u.id] = i({}, u, { parentItem: r })), + u.children && e(t, u.children, u); + } + } catch (e) { + (o = !0), (l = e); + } finally { + try { + a || null == c.return || c.return(); + } finally { + if (o) throw l; + } + } + })(e, a.b.bootData.navTree), + e + ); + } + var c = {}, + u = Object(r.b)("navIndex/updateNavIndex"), + f = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : c, + t = arguments.length > 1 ? arguments[1] : void 0; + if (u.match(t)) { + var n = {}, + r = t.payload, + a = !0, + o = !1, + l = void 0; + try { + for ( + var s, f = r.children[Symbol.iterator](); + !(a = (s = f.next()).done); + a = !0 + ) { + var d = s.value; + n[d.id] = i({}, d, { parentItem: r }); + } + } catch (e) { + (o = !0), (l = e); + } finally { + try { + a || null == f.return || f.return(); + } finally { + if (o) throw l; + } + } + return i({}, e, {}, n); + } + return e; + }; + }, + RH9q: function (e, t, n) { + "use strict"; + var r, a, o, i; + n.d(t, "a", function () { + return r; + }), + n.d(t, "d", function () { + return a; + }), + n.d(t, "c", function () { + return o; + }), + n.d(t, "b", function () { + return i; + }), + (function (e) { + (e.emerg = "critical"), + (e.alert = "critical"), + (e.crit = "critical"), + (e.critical = "critical"), + (e.warn = "warning"), + (e.warning = "warning"), + (e.err = "error"), + (e.eror = "error"), + (e.error = "error"), + (e.info = "info"), + (e.notice = "info"), + (e.dbug = "debug"), + (e.debug = "debug"), + (e.trace = "trace"), + (e.unknown = "unknown"); + })(r || (r = {})), + (function (e) { + (e[(e.Number = 0)] = "Number"), + (e[(e.String = 1)] = "String"), + (e[(e.LabelsMap = 2)] = "LabelsMap"); + })(a || (a = {})), + (function (e) { + (e.none = "none"), + (e.exact = "exact"), + (e.numbers = "numbers"), + (e.signature = "signature"); + })(o || (o = {})), + (function (e) { + (e.none = "No de-duplication"), + (e.exact = + "De-duplication of successive lines that are identical, ignoring ISO datetimes."), + (e.numbers = + "De-duplication of successive lines that are identical when ignoring numbers, e.g., IP addresses, latencies."), + (e.signature = + "De-duplication of successive lines that have identical punctuation and whitespace."); + })(i || (i = {})); + }, + RYWr: function (e, t) { + var n = "public/app/plugins/panel/table/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n <div class="section gf-form-group">\n <h5 class=section-heading>Data</h5>\n <div class=gf-form>\n <label class="gf-form-label width-10">Table Transform</label>\n <div class="gf-form-select-wrapper max-width-15">\n <select class=gf-form-input ng-model=editor.panel.transform ng-options="k as v.description for (k, v) in editor.transformers" ng-change=editor.transformChanged()></select>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-10">Columns</label>\n </div>\n <div class=gf-form ng-repeat="column in editor.panel.columns">\n <label class=gf-form-label>\n <i class="pointer fa fa-remove" ng-click=editor.removeColumn(column)></i>\n <span>{{ column.text }}</span>\n </label>\n </div>\n <div class=gf-form ng-show=editor.canSetColumns>\n <metric-segment segment=editor.addColumnSegment get-options=editor.getColumnOptions() on-change=editor.addColumn()></metric-segment>\n </div>\n <div class=gf-form ng-hide=editor.canSetColumns>\n <label class=gf-form-label>\n Auto\n <info-popover mode=right-normal ng-if=editor.columnsHelpMessage>\n {{ editor.columnsHelpMessage }}\n </info-popover>\n </label>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Paging</h5>\n <div class=gf-form>\n <label class="gf-form-label width-8">Rows per page</label>\n <input type=number class="gf-form-input width-7" placeholder=100 data-placement=right ng-model=editor.panel.pageSize ng-change=editor.render() ng-model-onblur/>\n </div>\n <div class="gf-form max-width-17">\n <label class="gf-form-label width-8">Font size</label>\n <div class="gf-form-select-wrapper width-7">\n <select class=gf-form-input ng-model=editor.panel.fontSize ng-options="f for f in editor.fontSizes" ng-change=editor.render()></select>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + Rabt: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("F03Y"); + function a(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var o = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.buffer = t.buffer || []), + (this.capacity = this.buffer.length), + (this.tail = "head" !== t.append), + (this.index = 0), + (this.add = this.getAddFunction()), + t.capacity && this.setCapacity(t.capacity); + } + var t, n, o; + return ( + (t = e), + (n = [ + { + key: "getAddFunction", + value: function () { + var e = this; + return this.capacity > this.buffer.length + ? this.tail + ? function (t) { + e.buffer.push(t), + e.buffer.length >= e.capacity && + (e.add = e.getAddFunction()); + } + : function (t) { + e.buffer.unshift(t), + e.buffer.length >= e.capacity && + (e.add = e.getAddFunction()); + } + : this.tail + ? function (t) { + (e.buffer[e.index] = t), + (e.index = (e.index + 1) % e.buffer.length); + } + : function (t) { + var n = e.index - 1; + n < 0 && (n = e.buffer.length - 1), + (e.buffer[n] = t), + (e.index = n); + }; + }, + }, + { + key: "setCapacity", + value: function (e) { + if (this.capacity !== e) { + var t = this.toArray(); + if (e > this.length) this.buffer = t; + else if (e < this.capacity) { + var n = this.length - e; + this.tail + ? (this.buffer = t.slice(n, t.length)) + : (this.buffer = t.slice(0, t.length - n)); + } + (this.capacity = e), + (this.index = 0), + (this.add = this.getAddFunction()); + } + }, + }, + { + key: "setAppendMode", + value: function (e) { + var t = "head" !== e; + t !== this.tail && + ((this.buffer = this.toArray().reverse()), + (this.index = 0), + (this.tail = t), + (this.add = this.getAddFunction())); + }, + }, + { + key: "reverse", + value: function () { + this.buffer.reverse(); + }, + }, + { + key: "get", + value: function (e) { + return this.buffer[(e + this.index) % this.buffer.length]; + }, + }, + { + key: "set", + value: function (e, t) { + this.buffer[(e + this.index) % this.buffer.length] = t; + }, + }, + { + key: "toArray", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "toJSON", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "length", + get: function () { + return this.buffer.length; + }, + }, + ]) && a(t.prototype, n), + o && a(t, o), + e + ); + })(); + }, + RnhZ: function (e, t, n) { + var r = { + "./af": "K/tc", + "./af.js": "K/tc", + "./ar": "jnO4", + "./ar-dz": "o1bE", + "./ar-dz.js": "o1bE", + "./ar-kw": "Qj4J", + "./ar-kw.js": "Qj4J", + "./ar-ly": "HP3h", + "./ar-ly.js": "HP3h", + "./ar-ma": "CoRJ", + "./ar-ma.js": "CoRJ", + "./ar-sa": "gjCT", + "./ar-sa.js": "gjCT", + "./ar-tn": "bYM6", + "./ar-tn.js": "bYM6", + "./ar.js": "jnO4", + "./az": "SFxW", + "./az.js": "SFxW", + "./be": "H8ED", + "./be.js": "H8ED", + "./bg": "hKrs", + "./bg.js": "hKrs", + "./bm": "p/rL", + "./bm.js": "p/rL", + "./bn": "kEOa", + "./bn.js": "kEOa", + "./bo": "0mo+", + "./bo.js": "0mo+", + "./br": "aIdf", + "./br.js": "aIdf", + "./bs": "JVSJ", + "./bs.js": "JVSJ", + "./ca": "1xZ4", + "./ca.js": "1xZ4", + "./cs": "PA2r", + "./cs.js": "PA2r", + "./cv": "A+xa", + "./cv.js": "A+xa", + "./cy": "l5ep", + "./cy.js": "l5ep", + "./da": "DxQv", + "./da.js": "DxQv", + "./de": "tGlX", + "./de-at": "s+uk", + "./de-at.js": "s+uk", + "./de-ch": "u3GI", + "./de-ch.js": "u3GI", + "./de.js": "tGlX", + "./dv": "WYrj", + "./dv.js": "WYrj", + "./el": "jUeY", + "./el.js": "jUeY", + "./en-SG": "zavE", + "./en-SG.js": "zavE", + "./en-au": "Dmvi", + "./en-au.js": "Dmvi", + "./en-ca": "OIYi", + "./en-ca.js": "OIYi", + "./en-gb": "Oaa7", + "./en-gb.js": "Oaa7", + "./en-ie": "4dOw", + "./en-ie.js": "4dOw", + "./en-il": "czMo", + "./en-il.js": "czMo", + "./en-nz": "b1Dy", + "./en-nz.js": "b1Dy", + "./eo": "Zduo", + "./eo.js": "Zduo", + "./es": "iYuL", + "./es-do": "CjzT", + "./es-do.js": "CjzT", + "./es-us": "Vclq", + "./es-us.js": "Vclq", + "./es.js": "iYuL", + "./et": "7BjC", + "./et.js": "7BjC", + "./eu": "D/JM", + "./eu.js": "D/JM", + "./fa": "jfSC", + "./fa.js": "jfSC", + "./fi": "gekB", + "./fi.js": "gekB", + "./fo": "ByF4", + "./fo.js": "ByF4", + "./fr": "nyYc", + "./fr-ca": "2fjn", + "./fr-ca.js": "2fjn", + "./fr-ch": "Dkky", + "./fr-ch.js": "Dkky", + "./fr.js": "nyYc", + "./fy": "cRix", + "./fy.js": "cRix", + "./ga": "USCx", + "./ga.js": "USCx", + "./gd": "9rRi", + "./gd.js": "9rRi", + "./gl": "iEDd", + "./gl.js": "iEDd", + "./gom-latn": "DKr+", + "./gom-latn.js": "DKr+", + "./gu": "4MV3", + "./gu.js": "4MV3", + "./he": "x6pH", + "./he.js": "x6pH", + "./hi": "3E1r", + "./hi.js": "3E1r", + "./hr": "S6ln", + "./hr.js": "S6ln", + "./hu": "WxRl", + "./hu.js": "WxRl", + "./hy-am": "1rYy", + "./hy-am.js": "1rYy", + "./id": "UDhR", + "./id.js": "UDhR", + "./is": "BVg3", + "./is.js": "BVg3", + "./it": "bpih", + "./it-ch": "bxKX", + "./it-ch.js": "bxKX", + "./it.js": "bpih", + "./ja": "B55N", + "./ja.js": "B55N", + "./jv": "tUCv", + "./jv.js": "tUCv", + "./ka": "IBtZ", + "./ka.js": "IBtZ", + "./kk": "bXm7", + "./kk.js": "bXm7", + "./km": "6B0Y", + "./km.js": "6B0Y", + "./kn": "PpIw", + "./kn.js": "PpIw", + "./ko": "Ivi+", + "./ko.js": "Ivi+", + "./ku": "JCF/", + "./ku.js": "JCF/", + "./ky": "lgnt", + "./ky.js": "lgnt", + "./lb": "RAwQ", + "./lb.js": "RAwQ", + "./lo": "sp3z", + "./lo.js": "sp3z", + "./lt": "JvlW", + "./lt.js": "JvlW", + "./lv": "uXwI", + "./lv.js": "uXwI", + "./me": "KTz0", + "./me.js": "KTz0", + "./mi": "aIsn", + "./mi.js": "aIsn", + "./mk": "aQkU", + "./mk.js": "aQkU", + "./ml": "AvvY", + "./ml.js": "AvvY", + "./mn": "lYtQ", + "./mn.js": "lYtQ", + "./mr": "Ob0Z", + "./mr.js": "Ob0Z", + "./ms": "6+QB", + "./ms-my": "ZAMP", + "./ms-my.js": "ZAMP", + "./ms.js": "6+QB", + "./mt": "G0Uy", + "./mt.js": "G0Uy", + "./my": "honF", + "./my.js": "honF", + "./nb": "bOMt", + "./nb.js": "bOMt", + "./ne": "OjkT", + "./ne.js": "OjkT", + "./nl": "+s0g", + "./nl-be": "2ykv", + "./nl-be.js": "2ykv", + "./nl.js": "+s0g", + "./nn": "uEye", + "./nn.js": "uEye", + "./pa-in": "8/+R", + "./pa-in.js": "8/+R", + "./pl": "jVdC", + "./pl.js": "jVdC", + "./pt": "8mBD", + "./pt-br": "0tRk", + "./pt-br.js": "0tRk", + "./pt.js": "8mBD", + "./ro": "lyxo", + "./ro.js": "lyxo", + "./ru": "lXzo", + "./ru.js": "lXzo", + "./sd": "Z4QM", + "./sd.js": "Z4QM", + "./se": "//9w", + "./se.js": "//9w", + "./si": "7aV9", + "./si.js": "7aV9", + "./sk": "e+ae", + "./sk.js": "e+ae", + "./sl": "gVVK", + "./sl.js": "gVVK", + "./sq": "yPMs", + "./sq.js": "yPMs", + "./sr": "zx6S", + "./sr-cyrl": "E+lV", + "./sr-cyrl.js": "E+lV", + "./sr.js": "zx6S", + "./ss": "Ur1D", + "./ss.js": "Ur1D", + "./sv": "X709", + "./sv.js": "X709", + "./sw": "dNwA", + "./sw.js": "dNwA", + "./ta": "PeUW", + "./ta.js": "PeUW", + "./te": "XLvN", + "./te.js": "XLvN", + "./tet": "V2x9", + "./tet.js": "V2x9", + "./tg": "Oxv6", + "./tg.js": "Oxv6", + "./th": "EOgW", + "./th.js": "EOgW", + "./tl-ph": "Dzi0", + "./tl-ph.js": "Dzi0", + "./tlh": "z3Vd", + "./tlh.js": "z3Vd", + "./tr": "DoHr", + "./tr.js": "DoHr", + "./tzl": "z1FC", + "./tzl.js": "z1FC", + "./tzm": "wQk9", + "./tzm-latn": "tT3J", + "./tzm-latn.js": "tT3J", + "./tzm.js": "wQk9", + "./ug-cn": "YRex", + "./ug-cn.js": "YRex", + "./uk": "raLr", + "./uk.js": "raLr", + "./ur": "UpQW", + "./ur.js": "UpQW", + "./uz": "Loxo", + "./uz-latn": "AQ68", + "./uz-latn.js": "AQ68", + "./uz.js": "Loxo", + "./vi": "KSF8", + "./vi.js": "KSF8", + "./x-pseudo": "/X5v", + "./x-pseudo.js": "/X5v", + "./yo": "fzPg", + "./yo.js": "fzPg", + "./zh-cn": "XDpg", + "./zh-cn.js": "XDpg", + "./zh-hk": "SatO", + "./zh-hk.js": "SatO", + "./zh-tw": "kOpN", + "./zh-tw.js": "kOpN", + }; + function a(e) { + var t = o(e); + return n(t); + } + function o(e) { + if (!n.o(r, e)) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = "MODULE_NOT_FOUND"), t); + } + return r[e]; + } + (a.keys = function () { + return Object.keys(r); + }), + (a.resolve = o), + (e.exports = a), + (a.id = "RnhZ"); + }, + RyIb: function (e, t) { + var n = "public/app/features/annotations/partials/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-controller=AnnotationsEditorCtrl>\n <div class=page-action-bar>\n <h3 class=dashboard-settings__header>\n <a ng-click=ctrl.backToList()>Annotations</a>\n <span ng-show="ctrl.mode === \'new\'"><i class="fa fa-fw fa-chevron-right"></i> New</span>\n <span ng-show="ctrl.mode === \'edit\'"><i class="fa fa-fw fa-chevron-right"></i> Edit</span>\n </h3>\n\n <div class=page-action-bar__spacer></div>\n\n <a type=button class="btn btn-primary" ng-click=ctrl.setupNew(); ng-if="ctrl.annotations.length > 1" ng-hide="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n New\n </a>\n </div>\n\n <div ng-if="ctrl.mode === \'list\'">\n <table class="filter-table filter-table--hover">\n <thead>\n <tr>\n <th>Query name</th>\n <th>Data source</th>\n <th colspan=3></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="annotation in ctrl.annotations track by annotation.name">\n <td style=width:90% ng-hide=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n <i class="fa fa-comment" style=color:{};></i> \n {{ annotation.name }}\n </td>\n <td style=width:90% ng-show=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n <i class="gicon gicon-annotation"></i> \n <em class=muted>{{ annotation.name }} (Built-in)</em>\n </td>\n <td class=pointer ng-click=ctrl.edit(annotation)>\n {{ annotation.datasource || \'Default\' }}\n </td>\n <td style=width:1%>\n <i ng-click=ctrl.move($index,-1) ng-hide=$first class="pointer fa fa-arrow-up"></i>\n </td>\n <td style=width:1%>\n <i ng-click=ctrl.move($index,1) ng-hide=$last class="pointer fa fa-arrow-down"></i>\n </td>\n <td style=width:1%>\n <a ng-click=ctrl.removeAnnotation(annotation) class="btn btn-danger btn-small" ng-hide=annotation.builtIn>\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n\n \x3c!-- empty list cta, there is always one built in query --\x3e\n <div ng-if="ctrl.annotations.length === 1" class=p-t-2>\n <empty-list-cta title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle on-click=ctrl.setupNew />\n </div>\n </div>\n\n <div class=annotations-basic-settings ng-if="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n <div class=gf-form-group>\n <h5 class=section-heading>General</h5>\n <div class=gf-form-inline>\n <div class=gf-form>\n <span class="gf-form-label width-7">Name</span>\n <input type=text class="gf-form-input width-20" ng-model=ctrl.currentAnnotation.name placeholder=name />\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-7">Data source</span>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.currentAnnotation.datasource ng-options="f.name as f.name for f in ctrl.datasources" ng-change=ctrl.datasourceChanged()></select>\n </div>\n </div>\n </div>\n </div>\n\n <div class=gf-form-group>\n <div class=gf-form-inline>\n <gf-form-switch class=gf-form label=Enabled checked=ctrl.currentAnnotation.enable label-class=width-7>\n </gf-form-switch>\n <gf-form-switch class=gf-form label=Hidden tooltip="Hides the annotation query toggle from showing at the top of the dashboard" checked=ctrl.currentAnnotation.hide label-class=width-7>\n </gf-form-switch>\n <div class=gf-form>\n <label class="gf-form-label width-9">Color</label>\n <span class=gf-form-label>\n <color-picker color=ctrl.currentAnnotation.iconColor onchange=ctrl.onColorChange></color-picker>\n </span>\n </div>\n </div>\n </div>\n\n <h5 class=section-heading>Query</h5>\n <rebuild-on-change property=ctrl.currentDatasource>\n <plugin-component type=annotations-query-ctrl> </plugin-component>\n </rebuild-on-change>\n\n <div class=gf-form>\n <div class="gf-form-button-row p-y-0">\n <button ng-show="ctrl.mode === \'new\'" type=button class="btn gf-form-button btn-primary" ng-click=ctrl.add()>\n Add\n </button>\n <button ng-show="ctrl.mode === \'edit\'" type=button class="btn btn-primary pull-left" ng-click=ctrl.update()>\n Update\n </button>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + SH6B: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("kDLi"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-top: 0.8rem;\n "]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function u(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function f(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function d(e) { + return (d = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function p(e, t) { + return (p = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var h = (function (e) { + function t() { + var e, n; + c(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = f(this, (e = d(t)).call.apply(e, [this].concat(a)))).state = { + showLogoutModal: !1, + }), + (n.showLogoutConfirmationModal = function (e) { + return function () { + n.setState({ showLogoutModal: e }); + }; + }), + (n.onSessionRevoke = function (e) { + return function () { + n.props.onSessionRevoke(e); + }; + }), + (n.onAllSessionsRevoke = function () { + n.setState({ showLogoutModal: !1 }), + n.props.onAllSessionsRevoke(); + }), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && p(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.props.sessions, + n = this.state.showLogoutModal, + r = Object(o.css)(s()); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "Sessions" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "thead", + null, + a.a.createElement( + "tr", + null, + a.a.createElement("th", null, "Last seen"), + a.a.createElement("th", null, "Logged on"), + a.a.createElement("th", null, "IP address"), + a.a.createElement( + "th", + { colSpan: 2 }, + "Browser & OS" + ) + ) + ), + a.a.createElement( + "tbody", + null, + t && + t.map(function (t, n) { + return a.a.createElement( + "tr", + { key: "".concat(t.id, "-").concat(n) }, + a.a.createElement( + "td", + null, + t.isActive ? "Now" : t.seenAt + ), + a.a.createElement("td", null, t.createdAt), + a.a.createElement("td", null, t.clientIp), + a.a.createElement( + "td", + null, + "" + .concat(t.browser, " on ") + .concat(t.os, " ") + .concat(t.osVersion) + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: "pull-right" }, + a.a.createElement( + i.ConfirmButton, + { + confirmText: "Confirm logout", + confirmVariant: "danger", + onConfirm: e.onSessionRevoke(t.id), + }, + "Force logout" + ) + ) + ) + ); + }) + ) + ) + ), + a.a.createElement( + "div", + { className: r }, + t.length > 0 && + a.a.createElement( + i.Forms.Button, + { + variant: "secondary", + onClick: this.showLogoutConfirmationModal(!0), + }, + "Force logout from all devices" + ), + a.a.createElement(i.ConfirmModal, { + isOpen: n, + title: "Force logout from all devices", + body: + "Are you sure you want to force logout from all devices?", + confirmText: "Force logout", + onConfirm: this.onAllSessionsRevoke, + onDismiss: this.showLogoutConfirmationModal(!1), + }) + ) + ) + ); + }, + }, + ]) && u(n.prototype, r), + l && u(n, l), + t + ); + })(r.PureComponent); + }, + SMGL: function (e, t, n) { + "use strict"; + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var a = new ((function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "get", + value: function (e) { + return window.localStorage[e]; + }, + }, + { + key: "set", + value: function (e, t) { + window.localStorage[e] = t; + }, + }, + { + key: "getBool", + value: function (e, t) { + return void 0 === t || this.exists(e) + ? "true" === window.localStorage[e] + : t; + }, + }, + { + key: "getObject", + value: function (e, t) { + var n = t; + if (this.exists(e)) { + var r = window.localStorage[e]; + try { + n = JSON.parse(r); + } catch (n) { + console.error( + "Error parsing store object: " + .concat(e, ". Returning default: ") + .concat(t, ". [") + .concat(n, "]") + ); + } + } + return n; + }, + }, + { + key: "setObject", + value: function (e, t) { + var n; + try { + n = JSON.stringify(t); + } catch (t) { + return ( + console.error( + "Could not stringify object: " + .concat(e, ". [") + .concat(t, "]") + ), + !1 + ); + } + try { + this.set(e, n); + } catch (t) { + return ( + console.error( + "Could not save item in localStorage: " + .concat(e, ". [") + .concat(t, "]") + ), + !1 + ); + } + return !0; + }, + }, + { + key: "exists", + value: function (e) { + return void 0 !== window.localStorage[e]; + }, + }, + { + key: "delete", + value: function (e) { + window.localStorage.removeItem(e); + }, + }, + ]) && r(t.prototype, n), + a && r(t, a), + e + ); + })())(); + t.a = a; + }, + SZug: function (e, t) {}, + Sr1g: function (e, t, n) { + var r = n("vFKA"); + r.keys().forEach(function (e) { + r(e); + }); + }, + Szrz: function (e, t) { + var n = + "public/app/plugins/datasource/influxdb/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder="select text from events where $timeFilter limit 1000">\n\t</div>\n</div>\n\n<h5 class=section-heading>Field mappings <tip>If your influxdb query returns more than one field you need to specify the column names below. An annotation event is composed of a title, tags, and an additional text field.</tip></h5>\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-4">Text</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.textColumn placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-4">Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.tagsColumn placeholder="">\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleColumn>\n\t\t\t<span class="gf-form-label width-4">Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.titleColumn placeholder="">\n\t\t</div>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + T9PE: function (e, t, n) { + "use strict"; + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return a; + }); + var a = new ((function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "init", + value: function (e, t) { + (this.$rootScope = t), (this.window = window), this.enabled; + }, + }, + { + key: "renderingCompleted", + value: function () { + (this.panelsRendered = (this.panelsRendered || 0) + 1), + (this.window.panelsRendered = this.panelsRendered); + }, + }, + ]) && r(t.prototype, n), + a && r(t, a), + e + ); + })())(); + }, + "THR+": function (e, t) {}, + TKrP: function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "a", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }), + (function (e) { + (e.Success = "success"), + (e.Warning = "warning"), + (e.Error = "error"), + (e.Info = "info"); + })(r || (r = {})), + (function (e) { + (e[(e.Warning = 5e3)] = "Warning"), + (e[(e.Success = 3e3)] = "Success"), + (e[(e.Error = 7e3)] = "Error"); + })(a || (a = {})); + }, + U1ax: function (e, t) { + var n = "public/app/plugins/datasource/mssql/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sqlserver>\n\t\t\t</code-editor>\n\t\t</div>\n\t</div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Format as</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.lastQueryMeta>\n <label class="gf-form-label query-keyword" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n Generated SQL\n <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n </label>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showLastQuerySQL>\n\t\t<pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info">Time series:\n- return column named time (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- any other columns returned will be the time point values.\nOptional:\n - return column named <i>metric</i> to represent the series name.\n - If multiple value columns are returned the metric column is used as prefix.\n - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -> column AS time\n- $__timeEpoch(column) -> DATEDIFF(second, \'1970-01-01\', column) AS time\n- $__timeFilter(column) -> column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -> column >= 1492750877 AND column <= 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n- $__timeGroup(column, \'5m\'[, fillvalue]) -> CAST(ROUND(DATEDIFF(second, \'1970-01-01\', column)/300.0, 0) as bigint)*300.\n by setting fillvalue grafana will fill in missing values according to the interval\n fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column, \'5m\'[, fillvalue]) -> CAST(ROUND(DATEDIFF(second, \'1970-01-01\', column)/300.0, 0) as bigint)*300 AS [time]\n- $__unixEpochGroup(column,\'5m\') -> FLOOR(column/300)*300\n- $__unixEpochGroupAlias(column,\'5m\') -> FLOOR(column/300)*300 AS [time]\n\nExample of group by and order by with $__timeGroup:\nSELECT\n $__timeGroup(date_time_col, \'1h\') AS time,\n sum(value) as value\nFROM yourtable\nGROUP BY $__timeGroup(date_time_col, \'1h\')\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> \'2017-04-21T05:01:17Z\'\n- $__timeTo() -> \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n\t\t</pre>\n\t</div>\n\n\t\n\n\t<div class=gf-form ng-show=ctrl.lastQueryError>\n\t\t<pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n\t</div>\n\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + U5HE: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }); + var r = n("1BU0"); + function a(e) { + var t = e.xField, + n = e.yField, + a = e.nullValueMode, + o = t.values, + i = n.values, + l = o.length; + if (i.length !== l) throw new Error("Unexpected field length"); + for ( + var s = a === r.b.Ignore, c = a === r.b.AsZero, u = [], f = 0; + f < l; + f++ + ) { + var d = o.get(f), + p = i.get(f); + if (null === p) { + if (s) continue; + c && (p = 0); + } + null !== d && u.push([d, p]); + } + return u; + } + function o(e, t) { + if (!t.from || !t.to || !e || 0 === e.length) return []; + var n = t.from.valueOf(), + r = t.to.valueOf(), + a = e[0][1]; + return [ + [n, a], + [r, a], + ]; + } + }, + "UIT+": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("ZFWI"), + a = function (e) { + var t = Object(r.c)().appSubUrl, + n = t.endsWith("/") ? 1 : 0; + return e.length > 0 && 0 === e.indexOf(t) ? e.slice(t.length - n) : e; + }, + o = function (e) { + return e.startsWith("/") + ? "".concat(Object(r.c)().appSubUrl).concat(a(e)) + : e; + }; + t.b = { stripBaseFromUrl: a, assureBaseUrl: o }; + }, + UJAu: function (e, t) { + var n = "public/app/plugins/panel/pluginlist/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=pluginlist>\n <div class=pluginlist-section ng-repeat="category in ctrl.viewModel">\n <h6 class=pluginlist-section-header>\n {{category.header}}\n </h6>\n <div class=pluginlist-item ng-repeat="plugin in category.list">\n <a class="pluginlist-link pluginlist-link-{{plugin.state}} pointer" href={{plugin.defaultNavUrl}}>\n <span>\n <img ng-src={{plugin.info.logos.small}} class=pluginlist-image>\n <span class=pluginlist-title>{{plugin.name}}</span>\n <span class=pluginlist-version>v{{plugin.info.version}}</span>\n </span>\n <span ng-if=ctrl.isAdmin>\n <span class="pluginlist-message pluginlist-message--update" ng-show=plugin.hasUpdate ng-click="ctrl.updateAvailable(plugin, $event)" bs-tooltip="\'New version: \' + plugin.latestVersion">\n Update available!\n </span>\n <span class="pluginlist-message pluginlist-message--enable" ng-show="!plugin.enabled && !plugin.hasUpdate">\n Enable now\n </span>\n <span class="pluginlist-message pluginlist-message--no-update" ng-show="plugin.enabled && !plugin.hasUpdate">\n Up to date\n </span>\n </span>\n </a>\n </div>\n <div class=pluginlist-item ng-show="category.list.length === 0">\n <a class="pluginlist-link pluginlist-link-{{plugin.state}}" href=https://grafana.com/plugins>\n <span class=pluginlist-none-installed>None installed. <span class=pluginlist-emphasis>Browse Grafana.com</span></span>\n </a>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + UcAx: function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e.Light = "light"), (e.Dark = "dark"); + })(r || (r = {})); + }, + UkAP: function (e, t) { + var n = "public/app/partials/error.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n <div class="panel-container error-container">\n <div class="error-column graph-box">\n <div class=error-row>\n <div class="error-column error-space-between graph-percentage">\n <p>100%</p>\n <p>80%</p>\n <p>60%</p>\n <p>40%</p>\n <p>20%</p>\n <p>0%</p>\n </div>\n <div class="error-column image-box">\n <img src=public/img/graph404.svg width=100%>\n <div class="error-row error-space-between">\n <p class=graph-text>Then</p>\n <p class=graph-text>Now</p>\n </div>\n </div>\n </div>\n </div>\n <div class="error-column info-box">\n <div class="error-row current-box">\n <p class=current-text>current</p>\n </div>\n <div class=error-row style=flex:1>\n <i class="fa fa-minus error-minus"></i>\n <div class="error-column error-space-between error-full-width">\n <div class="error-row error-space-between">\n <p>Chances you are on the page you are looking for.</p>\n <p class=left-margin>0%</p>\n </div>\n <div>\n <h3>Sorry for the inconvenience</h3>\n <p>Please go back to your\n <a href={{appSubUrl}}/ class=error-link>home dashboard</a> and try again.</p>\n <p>If the error persists, seek help on the\n <a href=https://community.grafana.com target=_blank class=error-link>community site</a>.</p>\n </div>\n </div>\n </div>\n </div>\n <span class=react-resizable-handle style=cursor:default></span>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + Ukuu: function (e, t) { + var n = "public/app/partials/edit_json.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-controller=JsonEditorCtrl>\n <div class=tabbed-view-header>\n <h2 class=tabbed-view-title>\n JSON\n </h2>\n\n <button class=tabbed-view-close-btn ng-click=dismiss()>\n <i class="fa fa-remove"></i>\n </button>\n </div>\n\n <div class=tabbed-view-body>\n <div class=gf-form>\n <code-editor content=json data-mode=json data-max-lines=20></code-editor>\n </div>\n\n <div class=gf-form-button-row>\n <button type=button class="btn btn-primary" ng-show=canUpdate ng-click="update(); dismiss();">Update</button>\n <button class="btn btn-secondary" ng-if=canCopy clipboard-button=getContentForClipboard()>\n Copy to Clipboard\n </button>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + UvM7: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }), + n.d(t, "a", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }); + var r = n("GQ3c"), + a = n("v4Fa"); + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = { + title: "", + text: "", + severity: r.AppNotificationSeverity.Success, + icon: "fa fa-check", + timeout: r.AppNotificationTimeout.Success, + }, + c = { + title: "", + text: "", + severity: r.AppNotificationSeverity.Warning, + icon: "fa fa-exclamation", + timeout: r.AppNotificationTimeout.Warning, + }, + u = { + title: "", + text: "", + severity: r.AppNotificationSeverity.Error, + icon: "fa fa-exclamation-triangle", + timeout: r.AppNotificationTimeout.Error, + }, + f = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; + return i({}, s, { title: e, text: t, id: Date.now() }); + }, + d = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : "", + n = arguments.length > 2 ? arguments[2] : void 0; + return i({}, u, { + text: Object(a.a)(t), + title: e, + id: Date.now(), + component: n, + }); + }, + p = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; + return i({}, c, { title: e, text: t, id: Date.now() }); + }; + }, + Uw6O: function (e, t) { + var n = "public/app/features/profile/partials/profile.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n <react-profile-wrapper></react-profile-wrapper>\n\n <h3 class=page-heading>Sessions</h3>\n <div class=gf-form-group>\n <table class="filter-table form-inline">\n <thead>\n <tr>\n <th>Last seen</th>\n <th>Logged on</th>\n <th>IP address</th>\n <th>Browser & OS</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="session in ctrl.sessions">\n <td ng-if=session.isActive>Now</td>\n <td ng-if=!session.isActive>{{ session.seenAt }}</td>\n <td>{{ session.createdAt }}</td>\n <td>{{ session.clientIp }}</td>\n <td>{{ session.browser }} on {{ session.os }} {{ session.osVersion }}</td>\n <td>\n <button class="btn btn-danger btn-small" ng-click=ctrl.revokeUserSession(session.id)>\n <i class="fa fa-power-off"></i>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + V9sw: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return v; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("t8hP"), + i = n("ZFWI"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + u(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function u(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function f(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function d(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + f(o, r, a, i, l, "next", e); + } + function l(e) { + f(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function p(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function h(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function m(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function g(e) { + return (g = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function b(e, t) { + return (b = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var v = (function (e) { + function t() { + var e, n; + p(this, t); + for (var r = arguments.length, a = new Array(r), l = 0; l < r; l++) + a[l] = arguments[l]; + return ( + ((n = m(this, (e = g(t)).call.apply(e, [this].concat(a)))).state = { + teams: [], + orgs: [], + loadingStates: { + changePassword: !1, + loadUser: !0, + loadTeams: !1, + loadOrgs: !1, + updateUserProfile: !1, + updateUserOrg: !1, + }, + }), + (n.changePassword = (function () { + var e = d( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + changePassword: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)().put( + "/api/user/password", + t + ) + ); + case 3: + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + changePassword: !1, + }), + }); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.loadUser = d( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + loadUser: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)().get("/api/user") + ); + case 3: + (t = e.sent), + n.setState({ + user: t, + loadingStates: c({}, n.state.loadingStates, { + loadUser: 0 === Object.keys(t).length, + }), + }); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.loadTeams = d( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + loadTeams: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)().get("/api/user/teams") + ); + case 3: + (t = e.sent), + n.setState({ + teams: t, + loadingStates: c({}, n.state.loadingStates, { + loadTeams: !1, + }), + }); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.loadOrgs = d( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + loadOrgs: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)().get("/api/user/orgs") + ); + case 3: + (t = e.sent), + n.setState({ + orgs: t, + loadingStates: c({}, n.state.loadingStates, { + loadOrgs: !1, + }), + }); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.setUserOrg = (function () { + var e = d( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + updateUserOrg: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)() + .post("/api/user/using/" + t.orgId, {}) + .then(function () { + window.location.href = + i.a.appSubUrl + "/profile"; + }) + .finally(function () { + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + updateUserOrg: !1, + }), + }); + }) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.updateUserProfile = (function () { + var e = d( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + updateUserProfile: !0, + }), + }), + (e.next = 3), + Object(o.getBackendSrv)() + .put("/api/user", t) + .then(function () { + n.loadUser(); + }) + .catch(function (e) { + return console.log(e); + }) + .finally(function () { + n.setState({ + loadingStates: c({}, n.state.loadingStates, { + updateUserProfile: !1, + }), + }); + }) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && b(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentWillMount", + value: function () { + this.props.userId && this.loadUser(); + }, + }, + { + key: "render", + value: function () { + var e = this.props.children, + t = this.state, + n = t.loadingStates, + r = t.teams, + o = t.orgs, + i = t.user, + l = { + changePassword: this.changePassword, + loadUser: this.loadUser, + loadTeams: this.loadTeams, + loadOrgs: this.loadOrgs, + updateUserProfile: this.updateUserProfile, + setUserOrg: this.setUserOrg, + }; + return a.a.createElement(a.a.Fragment, null, e(l, n, r, o, i)); + }, + }, + ]) && h(n.prototype, r), + l && h(n, l), + t + ); + })(r.PureComponent); + }, + VDBq: function (e, t) { + var n = "public/app/core/components/search/search_results.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-repeat="section in ctrl.results" class=search-section>\n <div class="search-section__header pointer" ng-hide=section.hideHeader ng-class="{\'selected\': section.selected}" ng-click=ctrl.toggleFolderExpand(section)>\n <div ng-click="ctrl.toggleSelection(section, $event)" class=center-vh>\n <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged($event) checked=section.checked switch-class=gf-form-checkbox--transparent>\n </gf-form-checkbox>\n </div>\n <i class=search-section__header__icon ng-class=section.icon></i>\n <span class=search-section__header__text>{{::section.title}}</span>\n <a ng-show=section.url href={{section.url}} class=search-section__header__link>\n <i class="gicon gicon-cog"></i>\n </a>\n <i class="fa fa-angle-down search-section__header__toggle" ng-show=section.expanded></i>\n <i class="fa fa-angle-right search-section__header__toggle" ng-hide=section.expanded></i>\n </div>\n\n <div class=search-section__header ng-show=section.hideHeader></div>\n\n <div ng-if=section.expanded>\n <a ng-repeat="item in section.items" class="search-item search-item--indent" ng-class="{\'selected\': item.selected}" ng-href={{::item.url}} aria-label={{ctrl.selectors.dashboards(item.title)}}>\n <div ng-click="ctrl.toggleSelection(item, $event)" class=center-vh>\n <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged() checked=item.checked switch-class=gf-form-checkbox--transparent>\n </gf-form-checkbox>\n </div>\n <span class=search-item__icon>\n <i class="gicon mini gicon-dashboard-list"></i>\n </span>\n <span class=search-item__body ng-click=ctrl.onItemClick(item)>\n <div class=search-item__body-title>{{::item.title}}</div>\n <span class=search-item__body-folder-title>{{::item.folderTitle}}</span>\n </span>\n <span class=search-item__tags>\n <span ng-click="ctrl.selectTag(tag, $event)" ng-repeat="tag in item.tags" tag-color-from-name=tag class="label label-tag">\n {{tag}}\n </span>\n </span>\n </a>\n </div>\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + VEkI: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return u; + }), + n.d(t, "a", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("MIBK"), + i = n("kDDq"); + function l() { + var e = c(["\n margin-right: ", "px;\n "]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s() { + var e = c([ + "\n font-size: ", + ";\n font-weight: ", + ";\n margin: ", + ";\n padding: ", + ";\n color: ", + ";\n background: ", + ";\n border-radius: ", + ";\n position: relative;\n display: inline-block;\n\n &:before {\n content: '';\n position: absolute;\n left: 9px;\n top: -4px;\n width: 0;\n height: 0;\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-bottom: 4px solid ", + ";\n }\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var u = Object(o.g)(function (e) { + return { + fieldValidationMessage: Object(i.css)( + s(), + e.typography.size.sm, + e.typography.weight.semibold, + e.spacing.formValidationMessageMargin, + e.spacing.formValidationMessagePadding, + e.colors.formValidationMessageText, + e.colors.formValidationMessageBg, + e.border.radius.sm, + e.colors.formValidationMessageBg + ), + fieldValidationMessageIcon: Object(i.css)( + l(), + e.spacing.formSpacingBase + ), + }; + }), + f = function (e) { + var t = e.children, + n = e.className, + r = Object(o.h)(), + l = u(r); + return a.a.createElement( + "div", + { className: Object(i.cx)(l.fieldValidationMessage, n) }, + a.a.createElement("i", { + className: Object(i.cx)( + l.fieldValidationMessageIcon, + "fa", + "fa-warning" + ), + }), + t + ); + }; + }, + VKbU: function (e, t) { + var n = + "public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div ng-repeat="var in variables">\n <div class="gf-form offset-width-7" ng-if="$index === 0">\n <label class="gf-form-label width-10">Variables</label>\n <input type=text class="gf-form-input max-width-12" ng-model=var.name placeholder="Variable name" ng-blur=onChangeInternal() spellcheck=false>\n <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n <label class=gf-form-label>\n <a class=pointer ng-click=remove($index)><i class="fa fa-minus"></i></a>\n </label>\n <label class=gf-form-label>\n <a class=pointer ng-click=add()><i class="fa fa-plus"></i></a>\n </label>\n </div>\n <div class="gf-form offset-width-17" ng-if="$index !== 0">\n <input type=text class="gf-form-input max-width-12" ng-model=var.name placeholder="Variable name" ng-blur=onChangeInternal() spellcheck=false>\n <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n <label class=gf-form-label>\n <a class=pointer ng-click=remove($index)><i class="fa fa-minus"></i></a>\n </label>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + VX0D: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return s; + }), + n.d(t, "d", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }), + n.d(t, "a", function () { + return f; + }); + var r = n("Xjjk"), + a = n.n(r), + o = n("yqkn"), + i = Object.keys(a.a.whiteList).reduce(function (e, t) { + return (e[t] = a.a.whiteList[t].concat(["class", "style"])), e; + }, {}), + l = new a.a.FilterXSS({ whiteList: i }); + function s(e) { + try { + return l.process(e); + } catch (t) { + return console.log("String could not be sanitized", e), e; + } + } + function c(e) { + return Object(o.sanitizeUrl)(e); + } + function u(e) { + return /\u001b\[\d{1,2}m/.test(e); + } + function f(e) { + return String(e) + .replace(/&/g, "&") + .replace(/</g, "<") + .replace(/>/g, ">") + .replace(/"/g, """); + } + }, + Vt59: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return c; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("MIBK"); + function l() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n display: inline-block;\n width: 16px;\n height: 16px;\n text-align: center;\n font-size: 14px;\n &:before {\n vertical-align: middle;\n }\n ", + ]); + return ( + (l = function () { + return e; + }), + e + ); + } + var s = Object(i.g)(function () { + return { icon: Object(o.css)(l()) }; + }), + c = function (e) { + var t = e.name, + n = e.className, + r = e.onClick, + i = e.onMouseDown, + l = s(); + return a.a.createElement("i", { + className: Object(o.cx)(l.icon, "fa", "fa-".concat(t), n), + onClick: r, + onMouseDown: i, + }); + }; + c.displayName = "Icon"; + }, + VtFO: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("1w3K"), + l = n("MIBK"); + function s() { + var e = d([ + "\n label: exitActive;\n opacity: 0;\n transition: opacity ", + "ms ease-out;\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = d(["\n label: exit;\n opacity: 1;\n "]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = d([ + "\n label: enterActive;\n opacity: 1;\n transition: opacity ", + "ms ease-out;\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = d(["\n label: enter;\n opacity: 0;\n "]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var p = Object(l.g)(function (e) { + return { + enter: Object(o.css)(f()), + enterActive: Object(o.css)(u(), e), + exit: Object(o.css)(c()), + exitActive: Object(o.css)(s(), e), + }; + }); + function h(e) { + var t = e.visible, + n = e.children, + r = e.duration, + o = void 0 === r ? 250 : r, + l = p(o); + return a.a.createElement( + i.CSSTransition, + { + in: t, + mountOnEnter: !0, + unmountOnExit: !0, + timeout: o, + classNames: l, + }, + n + ); + } + }, + "Vw/f": function (e, t, n) { + "use strict"; + var r = {}; + n.r(r), + n.d(r, "TextPanelCtrl", function () { + return le; + }), + n.d(r, "PanelCtrl", function () { + return le; + }); + var a = {}; + n.r(a), + n.d(a, "plugin", function () { + return Se; + }); + var o = {}; + n.r(o), + n.d(o, "plugin", function () { + return lt; + }); + var i = {}; + n.r(i), + n.d(i, "GraphCtrl", function () { + return er; + }), + n.d(i, "PanelCtrl", function () { + return er; + }); + var l = {}; + n.r(l), + n.d(l, "DashListCtrl", function () { + return ir; + }), + n.d(l, "PanelCtrl", function () { + return ir; + }); + var s = {}; + n.r(s), + n.d(s, "PluginListCtrl", function () { + return hr; + }), + n.d(s, "PanelCtrl", function () { + return hr; + }); + var c = {}; + n.r(c), + n.d(c, "AlertListPanel", function () { + return Or; + }), + n.d(c, "PanelCtrl", function () { + return Or; + }); + var u = {}; + n.r(u), + n.d(u, "plugin", function () { + return Qr; + }); + var f = {}; + n.r(f), + n.d(f, "PanelCtrl", function () { + return Ma; + }); + var d = {}; + n.r(d), + n.d(d, "TablePanelCtrl", function () { + return eo; + }), + n.d(d, "plugin", function () { + return to; + }); + var p = {}; + n.r(p), + n.d(p, "plugin", function () { + return wo; + }); + var h = {}; + n.r(h), + n.d(h, "SingleStatCtrl", function () { + return Do; + }), + n.d(h, "PanelCtrl", function () { + return Do; + }), + n.d(h, "getColorForValue", function () { + return Ao; + }); + var m = {}; + n.r(m), + n.d(m, "plugin", function () { + return ai; + }); + var g = {}; + n.r(g), + n.d(g, "plugin", function () { + return di; + }); + var b = {}; + n.r(b), + n.d(b, "plugin", function () { + return Di; + }); + var v = {}; + n.r(v), + n.d(v, "plugin", function () { + return sl; + }); + var y = {}; + n.r(y), + n.d(y, "plugin", function () { + return Al; + }); + var w = {}; + n.r(w), + n.d(w, "plugin", function () { + return Gl; + }); + var O = {}; + n.r(O), + n.d(O, "plugin", function () { + return Os; + }); + var x = {}; + n.r(x), + n.d(x, "GrafanaLinksPanel", function () { + return Ns; + }), + n.d(x, "HomeLink", function () { + return Ms; + }), + n.d(x, "VersionFooter", function () { + return Is; + }), + n.d(x, "getStyles", function () { + return Rs; + }), + n.d(x, "plugin", function () { + return Fs; + }); + var k = n("LvDl"), + j = n.n(k), + S = n("LzXI"), + E = n("PbtU"), + C = n("wd/R"), + P = n.n(C), + T = n("KHwQ"), + D = n.n(T), + A = n("+2Rf"), + _ = n.n(A), + N = n("wZee"), + M = n.n(N), + I = n("0aAt"), + R = n("LBMm"), + F = n("mkUw"), + L = n("q1tI"), + V = n.n(L), + B = n("i8i4"), + $ = n.n(B), + q = n("/MKj"), + U = n("ANjH"), + z = n("ZFWI"), + H = n("1Zgx"), + G = n("iZOS"), + W = n("HJRA"), + Q = n("Obii"), + Y = n("FO4H"), + K = n("wEtz"), + J = n("nwiq"), + Z = n("NXk7"), + X = n("2KQq"), + ee = n("h3Ht"), + te = n("VX0D"); + function ne(e) { + return (ne = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function re(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ae(e) { + return (ae = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function oe(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function ie(e, t) { + return (ie = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var le = (function (e) { + function t(e, n, r, a) { + var o, i, l; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (i = this), + (l = ae(t).call(this, e, n)), + ((o = + !l || ("object" !== ne(l) && "function" != typeof l) + ? oe(i) + : l).templateSrv = r), + (o.$sce = a), + (o.panelDefaults = { + mode: "markdown", + content: + "\n# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n\n\n", + }), + j.a.defaults(o.panel, o.panelDefaults), + o.events.on( + Q.PanelEvents.editModeInitialized, + o.onInitEditMode.bind(oe(o)) + ), + o.events.on(Q.PanelEvents.refresh, o.onRefresh.bind(oe(o))), + o.events.on(Q.PanelEvents.render, o.onRender.bind(oe(o))); + return ( + e.$watch( + function (e) { + var t = e.ctrl.panel; + return [t.content, t.mode].join(); + }, + j.a.throttle(function () { + o.render(); + }, 100) + ), + o + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector", "templateSrv", "$sce"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ie(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + this.addEditorTab( + "Options", + "public/app/plugins/panel/text/editor.html" + ), + "text" === this.panel.mode && (this.panel.mode = "markdown"); + }, + }, + { + key: "onRefresh", + value: function () { + this.render(); + }, + }, + { + key: "onRender", + value: function () { + "markdown" === this.panel.mode + ? this.renderMarkdown(this.panel.content) + : "html" === this.panel.mode && + this.updateContent(this.panel.content), + this.renderingCompleted(); + }, + }, + { + key: "renderText", + value: function (e) { + var t = Object(te.a)(e).replace(/\n/g, "<br/>"); + this.updateContent(t); + }, + }, + { + key: "renderMarkdown", + value: function (e) { + var t = this; + this.$scope.$applyAsync(function () { + t.updateContent(Object(Q.renderMarkdown)(e)); + }); + }, + }, + { + key: "updateContent", + value: function (e) { + try { + e = this.templateSrv.replace( + e, + this.panel.scopedVars, + "html" + ); + } catch (e) { + console.log("Text panel error: ", e); + } + this.content = this.$sce.trustAsHtml( + z.b.disableSanitizeHtml ? e : Object(te.c)(e) + ); + }, + }, + ]) && re(n.prototype, r), + a && re(n, a), + t + ); + })(S.PanelCtrl); + (le.templateUrl = "public/app/plugins/panel/text/module.html"), + (le.scrollable = !0); + var se = n("kDLi"); + function ce(e) { + return (ce = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ue(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function fe(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ue(Object(n), !0).forEach(function (t) { + de(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ue(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function de(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function pe(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function he(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function me(e, t) { + return !t || ("object" !== ce(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ge(e) { + return (ge = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function be(e, t) { + return (be = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ve = (function (e) { + function t() { + var e, n; + pe(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = me( + this, + (e = ge(t)).call.apply(e, [this].concat(a)) + )).modes = [ + { value: "markdown", label: "Markdown" }, + { value: "text", label: "Text" }, + { value: "html", label: "HTML" }, + ]), + (n.onModeChange = function (e) { + return n.props.onOptionsChange( + fe({}, n.props.options, { mode: e.value }) + ); + }), + (n.onContentChange = function (e) { + n.props.onOptionsChange( + fe({}, n.props.options, { content: e.target.value }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && be(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.mode, + n = e.content; + return V.a.createElement( + se.PanelOptionsGroup, + { title: "Text" }, + V.a.createElement( + "div", + { className: "gf-form-inline" }, + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement( + "span", + { className: "gf-form-label" }, + "Mode" + ), + V.a.createElement(se.Select, { + onChange: this.onModeChange, + value: this.modes.find(function (e) { + return t === e.value; + }), + options: this.modes, + }) + ) + ), + V.a.createElement("textarea", { + value: n, + onChange: this.onContentChange, + className: "gf-form-input", + rows: 10, + }) + ); + }, + }, + ]) && he(n.prototype, r), + a && he(n, a), + t + ); + })(L.PureComponent); + function ye(e) { + return (ye = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function we(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Oe(e, t) { + return !t || ("object" !== ye(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function xe(e) { + return (xe = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ke(e, t) { + return (ke = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var je = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Oe(this, xe(t).call(this, e))).updateHTML = Object( + k.debounce + )(function () { + var e = n.processContent(n.props.options); + e !== n.state.html && n.setState({ html: e }); + }, 150)), + (n.state = { html: n.processContent(e.options) }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ke(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e) { + this.updateHTML(); + }, + }, + { + key: "prepareHTML", + value: function (e) { + return ( + (e = (0, this.props.replaceVariables)(e, {}, "html")), + z.b.disableSanitizeHtml ? e : Object(te.c)(e) + ); + }, + }, + { + key: "prepareText", + value: function (e) { + return this.prepareHTML( + e + .replace(/&/g, "&") + .replace(/>/g, ">") + .replace(/</g, "<") + .replace(/\n/g, "<br/>") + ); + }, + }, + { + key: "prepareMarkdown", + value: function (e) { + return this.prepareHTML(Object(Q.renderMarkdown)(e)); + }, + }, + { + key: "processContent", + value: function (e) { + var t = e.mode, + n = e.content; + return n + ? "markdown" === t + ? this.prepareMarkdown(n) + : "html" === t + ? this.prepareHTML(n) + : this.prepareText(n) + : ""; + }, + }, + { + key: "render", + value: function () { + var e = this.state.html; + return V.a.createElement("div", { + className: "markdown-html panel-text-content", + dangerouslySetInnerHTML: { __html: e }, + }); + }, + }, + ]) && we(n.prototype, r), + a && we(n, a), + t + ); + })(L.PureComponent), + Se = new Q.PanelPlugin(je) + .setDefaults({ + mode: "markdown", + content: + "# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n\n", + }) + .setEditor(ve) + .setPanelChangeHandler(function (e, t, n) { + return "text" === t ? n : e; + }); + function Ee(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ce(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ee(Object(n), !0).forEach(function (t) { + Pe(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ee(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Pe(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Te = function (e) { + var t = e.options, + n = e.onChange, + r = function (e) { + return function (r) { + var a = {}; + r && + ((a[e] = + "placement" === e + ? r.target.checked + ? "right" + : "under" + : r.target.checked), + n(Ce({}, t, {}, a))); + }; + }; + return V.a.createElement( + se.PanelOptionsGroup, + { title: "Legend" }, + V.a.createElement( + "div", + { className: "section gf-form-group" }, + V.a.createElement("h4", null, "Options"), + V.a.createElement(se.Switch, { + label: "Show legend", + labelClass: "width-".concat(8), + checked: t.isVisible, + onChange: r("isVisible"), + }), + V.a.createElement(se.Switch, { + label: "Display as table", + labelClass: "width-".concat(8), + checked: t.asTable, + onChange: r("asTable"), + }), + V.a.createElement(se.Switch, { + label: "To the right", + labelClass: "width-".concat(8), + checked: "right" === t.placement, + onChange: r("placement"), + }) + ), + V.a.createElement( + "div", + { className: "section gf-form-group" }, + V.a.createElement("h4", null, "Show"), + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement(se.StatsPicker, { + allowMultiple: !0, + stats: t.stats ? t.stats : [], + onChange: function (e) { + n(Ce({}, t, { stats: e })); + }, + placeholder: "Pick Values", + }) + ), + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement( + "div", + { className: "gf-form-label" }, + "Decimals" + ), + V.a.createElement(se.Input, { + className: "gf-form-input width-5", + type: "number", + value: t.decimals, + placeholder: "Auto", + onChange: function (e) { + n(Ce({}, t, { decimals: parseInt(e.target.value, 10) })); + }, + }) + ) + ), + V.a.createElement( + "div", + { className: "section gf-form-group" }, + V.a.createElement("h4", null, "Hidden series"), + V.a.createElement(se.Switch, { + label: "With only zeros", + checked: !!t.hideZero, + onChange: r("hideZero"), + }) + ) + ); + }; + function De(e) { + return (De = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ae(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function _e(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ae(Object(n), !0).forEach(function (t) { + Ne(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ae(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Ne(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Me(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ie(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Re(e, t) { + return !t || ("object" !== De(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Fe(e) { + return (Fe = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Le(e, t) { + return (Le = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ve = (function (e) { + function t() { + var e, n; + Me(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Re( + this, + (e = Fe(t)).call.apply(e, [this].concat(a)) + )).onGraphOptionsChange = function (e) { + n.props.onOptionsChange( + _e({}, n.props.options, { + graph: _e({}, n.props.options.graph, {}, e), + }) + ); + }), + (n.onLegendOptionsChange = function (e) { + n.props.onOptionsChange(_e({}, n.props.options, { legend: e })); + }), + (n.onTooltipOptionsChange = function (e) { + n.props.onOptionsChange( + _e({}, n.props.options, { tooltipOptions: e }) + ); + }), + (n.onToggleLines = function () { + n.onGraphOptionsChange({ + showLines: !n.props.options.graph.showLines, + }); + }), + (n.onToggleBars = function () { + n.onGraphOptionsChange({ + showBars: !n.props.options.graph.showBars, + }); + }), + (n.onTogglePoints = function () { + n.onGraphOptionsChange({ + showPoints: !n.props.options.graph.showPoints, + }); + }), + (n.onDefaultsChange = function (e) { + n.props.onOptionsChange( + _e({}, n.props.options, { + fieldOptions: _e({}, n.props.options.fieldOptions, { + defaults: e, + }), + }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Le(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.props.options, + n = t.graph, + r = n.showBars, + a = n.showPoints, + o = n.showLines, + i = t.tooltipOptions.mode; + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + "div", + { className: "section gf-form-group" }, + V.a.createElement( + "h5", + { className: "section-heading" }, + "Draw Modes" + ), + V.a.createElement(se.Switch, { + label: "Lines", + labelClass: "width-5", + checked: o, + onChange: this.onToggleLines, + }), + V.a.createElement(se.Switch, { + label: "Bars", + labelClass: "width-5", + checked: r, + onChange: this.onToggleBars, + }), + V.a.createElement(se.Switch, { + label: "Points", + labelClass: "width-5", + checked: a, + onChange: this.onTogglePoints, + }) + ), + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Field" }, + V.a.createElement(se.FieldPropertiesEditor, { + showMinMax: !1, + onChange: this.onDefaultsChange, + value: this.props.options.fieldOptions.defaults, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Tooltip" }, + V.a.createElement(se.Select, { + value: { + value: i, + label: "single" === i ? "Single" : "All series", + }, + onChange: function (t) { + e.onTooltipOptionsChange({ mode: t.value }); + }, + options: [ + { label: "All series", value: "multi" }, + { label: "Single", value: "single" }, + ], + }) + ), + V.a.createElement(Te, { + options: this.props.options.legend, + onChange: this.onLegendOptionsChange, + }) + ) + ); + }, + }, + ]) && Ie(n.prototype, r), + a && Ie(n, a), + t + ); + })(L.PureComponent), + Be = n("66yP"); + function $e(e) { + return ($e = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function qe(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ue(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? qe(Object(n), !0).forEach(function (t) { + ze(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : qe(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ze(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function He(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ge(e) { + return (Ge = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function We(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function Qe(e, t) { + return (Qe = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ye = (function (e) { + function t(e) { + var n, r, a; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (r = this), + ((n = + !(a = Ge(t).call(this, e)) || + ("object" !== $e(a) && "function" != typeof a) + ? We(r) + : a).onSeriesColorChange = n.onSeriesColorChange.bind(We(n))), + (n.onSeriesAxisToggle = n.onSeriesAxisToggle.bind(We(n))), + (n.onToggleSort = n.onToggleSort.bind(We(n))), + (n.onHorizontalRegionSelected = n.onHorizontalRegionSelected.bind( + We(n) + )), + (n.state = { + graphSeriesModel: Object(Be.a)( + e.data.series, + e.timeZone, + e.options.series, + e.options.graph, + e.options.legend, + e.options.fieldOptions + ), + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Qe(e, t); + })(t, e), + (n = t), + (a = [ + { + key: "getDerivedStateFromProps", + value: function (e, t) { + return Ue({}, t, { + graphSeriesModel: Object(Be.a)( + e.data.series, + e.timeZone, + e.options.series, + e.options.graph, + e.options.legend, + e.options.fieldOptions + ), + }); + }, + }, + ]), + (r = [ + { + key: "onSeriesOptionsUpdate", + value: function (e, t) { + var n = this.props, + r = n.onOptionsChange, + a = n.options, + o = Ue({}, a.series); + (o[e] = t), r(Ue({}, a, { series: o })); + }, + }, + { + key: "onSeriesAxisToggle", + value: function (e, t) { + var n = this.props.options.series, + r = n[e] + ? Ue({}, n[e], { + yAxis: Ue({}, n[e].yAxis, { index: t }), + }) + : { yAxis: { index: t } }; + this.onSeriesOptionsUpdate(e, r); + }, + }, + { + key: "onSeriesColorChange", + value: function (e, t) { + var n = this.props.options.series, + r = n[e] ? Ue({}, n[e], { color: t }) : { color: t }; + this.onSeriesOptionsUpdate(e, r); + }, + }, + { + key: "onToggleSort", + value: function (e) { + var t = this.props, + n = t.onOptionsChange, + r = t.options; + n( + Ue({}, r, { + legend: Ue({}, r.legend, { + sortBy: e, + sortDesc: e === r.legend.sortBy && !r.legend.sortDesc, + }), + }) + ); + }, + }, + { + key: "onHorizontalRegionSelected", + value: function (e, t) { + (0, this.props.onChangeTimeRange)({ from: e, to: t }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props.children, + n = this.state.graphSeriesModel; + return V.a.createElement( + se.GraphSeriesToggler, + { series: n }, + function (n) { + var r = n.onSeriesToggle, + a = n.toggledSeries; + return t({ + series: a, + onSeriesColorChange: e.onSeriesColorChange, + onSeriesAxisToggle: e.onSeriesAxisToggle, + onToggleSort: e.onToggleSort, + onSeriesToggle: r, + onHorizontalRegionSelected: + e.onHorizontalRegionSelected, + }); + } + ); + }, + }, + ]) && He(n.prototype, r), + a && He(n, a), + t + ); + })(V.a.Component), + Ke = n("yqtr"); + function Je() { + return (Je = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Ze(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var Xe = [ + { value: se.BigValueColorMode.Value, label: "Value" }, + { value: se.BigValueColorMode.Background, label: "Background" }, + ], + et = [ + { value: se.BigValueGraphMode.None, label: "None" }, + { value: se.BigValueGraphMode.Area, label: "Area graph" }, + ], + tt = [ + { value: se.BigValueJustifyMode.Auto, label: "Auto" }, + { value: se.BigValueJustifyMode.Center, label: "Center" }, + ], + nt = { + values: !1, + calcs: [Q.ReducerID.mean], + defaults: { + thresholds: { + mode: Q.ThresholdsMode.Absolute, + steps: [ + { value: -1 / 0, color: "green" }, + { value: 80, color: "red" }, + ], + }, + mappings: [], + }, + overrides: [], + }, + rt = { + graphMode: se.BigValueGraphMode.Area, + colorMode: se.BigValueColorMode.Value, + justifyMode: se.BigValueJustifyMode.Auto, + fieldOptions: nt, + orientation: Q.VizOrientation.Auto, + }; + function at(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ot(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var it = { + graph: { showBars: !1, showLines: !0, showPoints: !1 }, + legend: { asTable: !1, isVisible: !0, placement: "under" }, + series: {}, + fieldOptions: (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? at(Object(n), !0).forEach(function (t) { + ot(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : at(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, nt), + tooltipOptions: { mode: "single" }, + }, + lt = new Q.PanelPlugin(function (e) { + var t = e.data, + n = e.timeRange, + r = e.timeZone, + a = e.width, + o = e.height, + i = e.options, + l = e.onOptionsChange, + s = e.onChangeTimeRange; + if (!t) + return V.a.createElement( + "div", + { className: "panel-empty" }, + V.a.createElement("p", null, "No data found in response") + ); + var c = i.graph, + u = c.showLines, + f = c.showBars, + d = c.showPoints, + p = i.legend, + h = i.tooltipOptions, + m = { showBars: f, showLines: u, showPoints: d, tooltipOptions: h }, + g = p.asTable, + b = p.isVisible, + v = Ze(p, ["asTable", "isVisible"]); + return V.a.createElement( + Ye, + { + data: t, + timeZone: r, + options: i, + onOptionsChange: l, + onChangeTimeRange: s, + }, + function (e) { + var t = e.onSeriesToggle, + i = e.onHorizontalRegionSelected, + l = Ze(e, ["onSeriesToggle", "onHorizontalRegionSelected"]); + return V.a.createElement( + se.GraphWithLegend, + Je( + { + timeRange: n, + timeZone: r, + width: a, + height: o, + displayMode: g ? Ke.b.Table : Ke.b.List, + isLegendVisible: b, + sortLegendBy: p.sortBy, + sortLegendDesc: p.sortDesc, + onSeriesToggle: t, + onHorizontalRegionSelected: i, + }, + m, + v, + l + ), + V.a.createElement(se.Chart.Tooltip, { mode: h.mode }) + ); + } + ); + }) + .setDefaults(it) + .setEditor(Ve), + st = + (n("85rF"), + n("3oeA"), + n("4Umt"), + n("0xpV"), + n("xKbd"), + n("kYRH"), + n("BDxW"), + n("vKfT"), + n("XI+/")), + ct = n.n(st); + function ut(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ft(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function dt(e, t, n) { + return t && ft(e.prototype, t), n && ft(e, n), e; + } + yt.$inject = ["plot"]; + var pt = function (e, t, n) { + var r = D.a.element(document).injector(), + a = document.createElement("div"); + (a.innerHTML = + '<annotation-tooltip event="event" on-edit="onEdit()"></annotation-tooltip>'), + r.invoke([ + "$compile", + "$rootScope", + function (r, o) { + var i = n.getOptions().events.manager, + l = o.$new(!0); + (l.event = t), + (l.onEdit = function () { + i.editEvent(t); + }), + r(a)(l), + l.$digest(), + l.$destroy(); + var s = new ct.a({ + target: e[0], + content: a, + position: "bottom center", + classes: "drop-popover drop-popover--annotation", + openOn: "hover", + hoverCloseDelay: 200, + tetherOptions: { + constraints: [{ to: "window", pin: !0, attachment: "both" }], + }, + }); + s.open(), + s.on("close", function () { + setTimeout(function () { + s.destroy(); + }); + }); + }, + ]); + }; + pt.$inject = ["element", "event", "plot"]; + var ht = null, + mt = function (e, t, n) { + var r = n.getOptions().events.manager; + r.editorOpen + ? (ht = e) + : (r.editorOpened(), + (ht = e), + setTimeout(function () { + var e = D.a.element(document).injector(), + n = document.createElement("div"); + (n.innerHTML = + '<event-editor panel-ctrl="panelCtrl" event="event" close="close()"></event-editor>'), + e.invoke([ + "$compile", + "$rootScope", + function (e, a) { + var o, + i = a.$new(!0); + (i.event = t), + (i.panelCtrl = r.panelCtrl), + (i.close = function () { + o.close(); + }), + e(n)(i), + i.$digest(), + (o = new ct.a({ + target: ht[0], + content: n, + position: "bottom center", + classes: "drop-popover drop-popover--form", + openOn: "click", + tetherOptions: { + constraints: [ + { to: "window", pin: !0, attachment: "both" }, + ], + }, + })).open(), + r.editorOpened(), + o.on("close", function () { + setTimeout(function () { + r.editorClosed(), i.$destroy(), o.destroy(); + }); + }); + }, + ]); + }, 100)); + }; + mt.$inject = ["element", "event", "plot"]; + var gt = (function () { + function e(t, n, r, a, o, i, l, s) { + ut(this, e), + (this._object = t), + (this._drawFunc = n), + (this._clearFunc = r), + (this._moveFunc = a), + (this._position = { left: o, top: i }), + (this._width = l), + (this._height = s); + } + return ( + (e.$inject = [ + "object", + "drawFunc", + "clearFunc", + "moveFunc", + "left", + "top", + "width", + "height", + ]), + dt(e, [ + { + key: "width", + value: function () { + return this._width; + }, + }, + { + key: "height", + value: function () { + return this._height; + }, + }, + { + key: "position", + value: function () { + return this._position; + }, + }, + { + key: "draw", + value: function () { + this._drawFunc(this._object); + }, + }, + { + key: "clear", + value: function () { + this._clearFunc(this._object); + }, + }, + { + key: "getObject", + value: function () { + return this._object; + }, + }, + { + key: "moveTo", + value: function (e) { + (this._position = e), + this._moveFunc(this._object, this._position); + }, + }, + ]), + e + ); + })(), + bt = (function () { + function e(t, n) { + ut(this, e), + (this._options = t), + (this._drawableEvent = n), + (this._hidden = !1); + } + return ( + (e.$inject = ["options", "drawableEvent"]), + dt(e, [ + { + key: "visual", + value: function () { + return this._drawableEvent; + }, + }, + { + key: "getOptions", + value: function () { + return this._options; + }, + }, + { + key: "getParent", + value: function () { + return this._parent; + }, + }, + { + key: "isHidden", + value: function () { + return this._hidden; + }, + }, + { + key: "hide", + value: function () { + this._hidden = !0; + }, + }, + { + key: "unhide", + value: function () { + this._hidden = !1; + }, + }, + ]), + e + ); + })(), + vt = (function () { + function e(t) { + ut(this, e), + (this._events = []), + (this._types = []), + (this._plot = t), + (this.eventsEnabled = !1); + } + return ( + (e.$inject = ["plot"]), + dt(e, [ + { + key: "getEvents", + value: function () { + return this._events; + }, + }, + { + key: "setTypes", + value: function (e) { + return (this._types = e); + }, + }, + { + key: "setupEvents", + value: function (e) { + var t = this, + n = j.a.partition(e, "isRegion"), + r = n[0]; + (e = n[1]), + _.a.each(e, function (e, n) { + var r = new bt(n, t._buildDiv(n)); + t._events.push(r); + }), + _.a.each(r, function (e, n) { + var r = new bt(n, t._buildRegDiv(n)); + t._events.push(r); + }), + this._events.sort(function (e, t) { + var n = e.getOptions(), + r = t.getOptions(); + return n.min > r.min ? 1 : n.min < r.min ? -1 : 0; + }); + }, + }, + { + key: "drawEvents", + value: function () { + var e = this; + _.a.each(this._events, function (t, n) { + e._insidePlot(n.getOptions().min) && !n.isHidden() + ? n.visual().draw() + : n.visual().getObject().hide(); + }); + }, + }, + { + key: "updateEvents", + value: function () { + var e, + t, + n = this, + r = this._plot.getPlotOffset(), + a = this._plot.getXAxes()[ + this._plot.getOptions().events.xaxis - 1 + ]; + _.a.each(this._events, function (o, i) { + (t = r.top + n._plot.height() - i.visual().height()), + (e = + a.p2c(i.getOptions().min) + + r.left - + i.visual().width() / 2), + i.visual().moveTo({ top: t, left: e }); + }); + }, + }, + { + key: "_clearEvents", + value: function () { + _.a.each(this._events, function (e, t) { + t.visual().clear(); + }), + (this._events = []); + }, + }, + { + key: "_buildDiv", + value: function (e) { + var t, + n, + r, + a, + o, + i, + l, + s, + c = this, + u = this._plot.getPlaceholder(), + f = this._plot.getPlotOffset(), + d = this._plot.getXAxes()[ + this._plot.getOptions().events.xaxis - 1 + ], + p = e.eventType; + (r = + null !== this._types && + this._types[p] && + this._types[p].color + ? this._types[p].color + : "#666"), + (a = + null !== this._types && + this._types[p] && + this._types[p].markerSize + ? this._types[p].markerSize + : 8), + (o = + null === this._types || + !this._types[p] || + void 0 === this._types[p].markerShow || + this._types[p].markerShow), + (s = + null === this._types || + !this._types[p] || + void 0 === this._types[p].markerTooltip || + this._types[p].markerTooltip), + (i = + null != this._types && + this._types[p] && + this._types[p].lineStyle + ? this._types[p].lineStyle.toLowerCase() + : "dashed"), + (l = + null != this._types && + this._types[p] && + void 0 !== this._types[p].lineWidth + ? this._types[p].lineWidth + : 1); + var h = d.options.eventSectionHeight || 0; + (h /= 3), + (t = f.top + this._plot.height() + h), + (n = d.p2c(e.min) + f.left); + var m = _()('<div class="events_line flot-temp-elem"></div>') + .css({ + position: "absolute", + opacity: 0.8, + left: n + "px", + top: 8, + width: l + "px", + height: this._plot.height() + 0.8 * h, + "border-left-width": l + "px", + "border-left-style": i, + "border-left-color": r, + color: r, + }) + .appendTo(u); + if (o) { + var g = _()('<div class="events_marker"></div>').css({ + position: "absolute", + left: -a - Math.round(l / 2) + "px", + "font-size": 0, + "line-height": 0, + width: 0, + height: 0, + "border-left": a + "px solid transparent", + "border-right": a + "px solid transparent", + }); + g.appendTo(m), + this._types[p] && + this._types[p].position && + "BOTTOM" === this._types[p].position.toUpperCase() + ? g.css({ + top: t - a - 8 + "px", + "border-top": "none", + "border-bottom": a + "px solid " + r, + }) + : g.css({ + top: "0px", + "border-top": a + "px solid " + r, + "border-bottom": "none", + }), + g.data({ event: e }); + e.editModel && mt(g, e.editModel, c._plot); + s && + (g.css({ cursor: "help" }), + g.hover( + function () { + pt(g, _()(this).data("event"), c._plot); + }, + function () { + c._plot.clearSelection(); + } + )); + } + return new gt( + m, + function (e) { + e.show(); + }, + function (e) { + e.remove(); + }, + function (e, t) { + e.css({ top: t.top, left: t.left }); + }, + n, + t, + m.width(), + m.height() + ); + }, + }, + { + key: "_buildRegDiv", + value: function (e) { + var t, + n, + r, + a, + o, + i, + l, + s = this, + c = this, + u = this._plot.getPlaceholder(), + f = this._plot.getPlotOffset(), + d = this._plot.getXAxes()[ + this._plot.getOptions().events.xaxis - 1 + ], + p = e.eventType; + (i = + null !== this._types && + this._types[p] && + this._types[p].color + ? this._types[p].color + : "#666"), + (l = + null === this._types || + !this._types[p] || + void 0 === this._types[p].markerTooltip || + this._types[p].markerTooltip), + (r = + null != this._types && + this._types[p] && + void 0 !== this._types[p].lineWidth + ? this._types[p].lineWidth + : 1), + (o = + null != this._types && + this._types[p] && + this._types[p].lineStyle + ? this._types[p].lineStyle.toLowerCase() + : "dashed"); + t = f.top + this._plot.height() + 2; + var h = Math.min(e.min, e.timeEnd), + m = Math.max(e.min, e.timeEnd); + n = d.p2c(h) + f.left; + var g = d.p2c(m) + f.left; + (a = g - n), + j.a.each([n, g], function (e) { + _()('<div class="events_line flot-temp-elem"></div>') + .css({ + position: "absolute", + opacity: 0.8, + left: e + "px", + top: 8, + width: r + "px", + height: s._plot.height() + 2, + "border-left-width": r + "px", + "border-left-style": o, + "border-left-color": i, + color: i, + }) + .appendTo(u); + }); + var b = _()( + '<div class="events_marker region_marker flot-temp-elem"></div>' + ).css({ + position: "absolute", + opacity: 0.5, + left: n + "px", + top: t, + width: Math.round(a + r) + "px", + height: "0.5rem", + "border-left-color": i, + color: i, + "background-color": i, + }); + b.appendTo(u), b.data({ event: e }); + e.editModel && mt(b, e.editModel, c._plot); + return ( + l && + (b.css({ cursor: "help" }), + b.hover( + function () { + pt(b, _()(this).data("event"), c._plot); + }, + function () { + c._plot.clearSelection(); + } + )), + new gt( + b, + function (e) { + e.show(); + }, + function (e) { + e.remove(); + }, + function (e, t) { + e.css({ top: t.top, left: t.left }); + }, + n, + t, + b.width(), + b.height() + ) + ); + }, + }, + { + key: "_insidePlot", + value: function (e) { + var t = this._plot.getXAxes()[ + this._plot.getOptions().events.xaxis - 1 + ], + n = t.p2c(e); + return n > 0 && n < t.p2c(t.max); + }, + }, + ]), + e + ); + })(); + function yt(e) { + var t = this, + n = new vt(e); + (e.getEvents = function () { + return n._events; + }), + (e.hideEvents = function () { + _.a.each(n._events, function (e, t) { + t.visual().getObject().hide(); + }); + }), + (e.showEvents = function () { + e.hideEvents(), + _.a.each(n._events, function (e, t) { + t.hide(); + }), + t.eventMarkers.drawEvents(); + }), + (e.setEvents = function (e) { + n.eventsEnabled && n.setupEvents(e); + }), + e.hooks.processOptions.push(function (e, t) { + null != t.events.data && (n.eventsEnabled = !0); + }), + e.hooks.draw.push(function (e) { + var t = e.getOptions(); + n.eventsEnabled && + (n.getEvents().length < 1 + ? (n.setTypes(t.events.types), n.setupEvents(t.events.data)) + : n.updateEvents()), + n.drawEvents(); + }); + } + _.a.plot.plugins.push({ + init: yt, + options: { + events: { data: null, types: null, xaxis: 1, position: "BOTTOM" }, + }, + name: "events", + version: "0.2.5", + }); + var wt = n("GQ3c"); + function Ot(e, t, n, r) { + var a = this, + o = n.ctrl.panel, + i = _()('<div class="graph-tooltip">'); + (this.destroy = function () { + i.remove(); + }), + (this.findHoverIndexFromDataPoints = function (e, t, n) { + var r, + a = t.datapoints.pointsize, + o = n * a, + i = t.datapoints.points.length; + for (r = o; r < i; r += a) + if ( + (!t.lines.steps && + null != t.datapoints.points[o] && + null == t.datapoints.points[r]) || + t.datapoints.points[r] > e + ) + return Math.max(r - a, 0) / a; + return r / a - 1; + }), + (this.findHoverIndexFromData = function (e, t) { + for (var n, r = 0, a = t.data.length - 1; ; ) { + if (r > a) return Math.max(a, 0); + if (((n = Math.floor((r + a) / 2)), t.data[n][0] === e)) return n; + t.data[n][0] < e ? (r = n + 1) : (a = n - 1); + } + }), + (this.renderAndShow = function (e, t, n, r) { + "time" === r && + (t = '<div class="graph-tooltip-time">' + e + "</div>" + t), + i.html(t).place_tt(n.pageX + 20, n.pageY); + }), + (this.getMultiSeriesPlotHoverInfo = function (e, t) { + var n, + r, + a, + i, + l, + s, + c, + u, + f, + d = [[], [], []], + p = 0; + for (r = 0; r < e.length; r++) + !(a = e[r]).data.length || (o.legend.hideEmpty && a.allIsNull) + ? d[0].push({ hidden: !0, value: 0 }) + : !a.data.length || (o.legend.hideZero && a.allIsZero) + ? d[0].push({ hidden: !0, value: 0 }) + : a.hideTooltip + ? d[0].push({ hidden: !0, value: 0 }) + : ((i = this.findHoverIndexFromData(t.x, a)), + (l = t.x - a.data[i][0]), + (s = a.data[i][0]), + (!u || (l >= 0 && (l < u || u < 0)) || (l < 0 && l > u)) && + ((u = l), (f = s)), + (n = a.stack + ? "individual" === o.tooltip.value_type + ? a.data[i][1] + : a.stack + ? (p += a.data[i][1]) + : a.data[i][1] + : a.data[i][1]), + (a.lines.steps || a.stack) && + (i = this.findHoverIndexFromDataPoints(t.x, a, i)), + (c = 0), + a.yaxis && (c = a.yaxis.n), + d[c].push({ + value: n, + hoverIndex: i, + color: a.color, + label: a.aliasEscaped, + time: s, + distance: l, + index: r, + })); + return ((d = d[0].concat(d[1], d[2])).time = f), d; + }), + e.mouseleave(function () { + if (o.tooltip.shared) { + var t = e.data().plot; + t && (i.detach(), t.unhighlight()); + } + W.a.emit(wt.CoreEvents.graphHoverClear); + }), + e.bind("plothover", function (t, n, r) { + a.show(n, r), + (n.panelRelY = (n.pageY - e.offset().top) / e.height()), + W.a.emit(wt.CoreEvents.graphHover, { pos: n, panel: o }); + }), + e.bind("plotclick", function (e, t, n) { + W.a.emit(wt.CoreEvents.graphClicked, { pos: t, panel: o, item: n }); + }), + e.bind("plotleave", function () { + if (o.tooltip.shared) { + var t = e.data().plot; + t && (i.detach(), t.unhighlight()); + } + }), + (this.clear = function (e) { + i.detach(), e.clearCrosshair(), e.unhighlight(); + }), + (this.show = function (n, l) { + var s, + c, + u, + f, + d, + p, + h, + m, + g = e.data().plot, + b = g.getData(), + v = g.getXAxes()[0].options.mode, + y = r(), + w = o.tooltip.shared; + if (n.panelRelY) { + var O = g.pointOffset({ x: n.x }); + if (Number.isNaN(O.left) || O.left < 0 || O.left > e.width()) + return void a.clear(g); + if ( + ((n.pageX = e.offset().left + O.left), + (n.pageY = e.offset().top + e.height() * n.panelRelY), + !( + n.pageY >= _()(window).scrollTop() && + n.pageY <= _()(window).innerHeight() + _()(window).scrollTop() + )) + ) + return void a.clear(g); + if ((g.setCrosshair(n), (w = !0), t.sharedCrosshairModeOnly())) + return; + } + if (0 !== y.length) + if ( + ((m = y[0].hasMsResolution + ? "YYYY-MM-DD HH:mm:ss.SSS" + : "YYYY-MM-DD HH:mm:ss"), + w) + ) { + g.unhighlight(); + var x = a.getMultiSeriesPlotHoverInfo(b, n); + for ( + h = "", + u = t.formatDate(x.time, m), + 2 === o.tooltip.sort + ? x.sort(function (e, t) { + return t.value - e.value; + }) + : 1 === o.tooltip.sort && + x.sort(function (e, t) { + return e.value - t.value; + }), + d = 0; + d < x.length; + d++ + ) + if (!(f = x[d]).hidden) { + var k = ""; + l && + f.index === l.seriesIndex && + (k = "graph-tooltip-list-item--highlight"), + (p = y[f.index]), + (c = Object(te.c)(p.formatValue(f.value))), + (h += + '<div class="graph-tooltip-list-item ' + + k + + '"><div class="graph-tooltip-series-name">'), + (h += + '<i class="fa fa-minus" style="color:' + + Object(te.c)(f.color) + + ';"></i> ' + + Object(te.c)(f.label) + + ":</div>"), + (h += + '<div class="graph-tooltip-value">' + + c + + "</div></div>"), + g.highlight(f.index, f.hoverIndex); + } + a.renderAndShow(u, h, n, v); + } else if (l) { + (s = + '<div class="graph-tooltip-list-item"><div class="graph-tooltip-series-name">'), + (s += + '<i class="fa fa-minus" style="color:' + + Object(te.c)(l.series.color) + + ';"></i> ' + + (p = y[l.seriesIndex]).aliasEscaped + + ":</div>"), + (c = + o.stack && "individual" === o.tooltip.value_type + ? l.datapoint[1] - l.datapoint[2] + : l.datapoint[1]), + (c = Object(te.c)(p.formatValue(c))), + (u = t.formatDate(l.datapoint[0], m)), + (s += '<div class="graph-tooltip-value">' + c + "</div>"), + a.renderAndShow(u, s, n, v); + } else i.detach(); + }); + } + function xt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var kt = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panelCtrl = t); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getHandleHtml", + value: function (e, t, n) { + var r = t.colorMode; + return ( + "custom" === t.colorMode && (r = "critical"), + '\n <div class="alert-handle-wrapper alert-handle-wrapper--T' + .concat( + e, + '">\n <div class="alert-handle-line alert-handle-line--' + ) + .concat( + r, + '">\n </div>\n <div class="alert-handle" data-handle-index="' + ) + .concat(e, '">\n <i class="icon-gf icon-gf-') + .concat(r, " alert-state-") + .concat( + r, + '"></i>\n <span class="alert-handle-value">' + ) + .concat( + n, + '<i class="alert-handle-grip"></i></span>\n </div>\n </div>' + ) + ); + }, + }, + { + key: "initDragging", + value: function (e) { + var t, + n = _()(e.currentTarget).parents(".alert-handle-wrapper"), + r = _()(e.currentTarget).data("handleIndex"), + a = null, + o = this.plot, + i = this.panelCtrl, + l = this.thresholds[r]; + function s(e) { + if (null === a) a = e.clientY; + else { + var r = e.clientY - a; + (t += r), (a = e.clientY), n.css({ top: t + r }); + } + } + (a = null), + (t = n.position().top), + n.on("mousemove", s), + document.addEventListener("mouseup", function e() { + var a = o.c2p({ left: 0, top: t }).y; + (a = parseInt(a.toFixed(0), 10)), + (l.value = a), + n.off("mousemove", s), + document.removeEventListener("mouseup", e), + i.$scope.$apply(function () { + i.render(), + i.events.emit(wt.CoreEvents.thresholdChanged, { + threshold: l, + handleIndex: r, + }); + }); + }); + }, + }, + { + key: "cleanUp", + value: function () { + this.placeholder.find(".alert-handle-wrapper").remove(), + (this.needsCleanup = !1); + }, + }, + { + key: "renderHandle", + value: function (e, t) { + var n = this.thresholds[e], + r = n.value, + a = r, + o = 0; + if (j.a.isNumber(r)) { + var i = this.plot.p2c({ x: 0, y: r }); + o = Math.round(Math.min(Math.max(i.top, 0), this.height) - 6); + } else (a = ""), (o = t); + var l = _()(this.getHandleHtml(e, n, a)); + this.placeholder.append(l), + l.toggleClass("alert-handle-wrapper--no-value", "" === a), + l.css({ top: o }); + }, + }, + { + key: "shouldDrawHandles", + value: function () { + return ( + !this.hasSecondYAxis && + this.panelCtrl.editingThresholds && + this.panelCtrl.panel.thresholds.length > 0 + ); + }, + }, + { + key: "prepare", + value: function (e, t) { + this.hasSecondYAxis = !1; + for (var n = 0; n < t.length; n++) + if (t[n].yaxis > 1) { + this.hasSecondYAxis = !0; + break; + } + if (this.shouldDrawHandles()) { + var r = + this.panelCtrl.panel.thresholds.length > 1 + ? "220px" + : "110px"; + e.css("margin-right", r); + } else this.needsCleanup && e.css("margin-right", "0"); + }, + }, + { + key: "draw", + value: function (e) { + (this.thresholds = this.panelCtrl.panel.thresholds), + (this.plot = e), + (this.placeholder = e.getPlaceholder()), + this.needsCleanup && this.cleanUp(), + this.shouldDrawHandles() && + ((this.height = e.height()), + this.thresholds.length > 0 && this.renderHandle(0, 10), + this.thresholds.length > 1 && + this.renderHandle(1, this.height - 30), + this.placeholder.off("mousedown", ".alert-handle"), + this.placeholder.on( + "mousedown", + ".alert-handle", + this.initDragging.bind(this) + ), + (this.needsCleanup = !0)); + }, + }, + { + key: "addFlotOptions", + value: function (e, t) { + if (t.thresholds && 0 !== t.thresholds.length) { + var n, + r, + a, + o = 1 / 0, + i = -1 / 0; + for (n = 0; n < t.thresholds.length; n++) + if (((r = t.thresholds[n]), j.a.isNumber(r.value))) { + var l = void 0; + switch (r.op) { + case "gt": + (l = o), + t.thresholds.length > n + 1 && + (a = t.thresholds[n + 1]).value > r.value && + (i = l = a.value); + break; + case "lt": + (l = i), + t.thresholds.length > n + 1 && + (a = t.thresholds[n + 1]).value < r.value && + (o = l = a.value); + } + var s = void 0, + c = void 0; + switch (r.colorMode) { + case "critical": + (s = "rgba(234, 112, 112, 0.12)"), + (c = "rgba(237, 46, 24, 0.60)"); + break; + case "warning": + (s = "rgba(235, 138, 14, 0.12)"), + (c = "rgba(247, 149, 32, 0.60)"); + break; + case "ok": + (s = "rgba(11, 237, 50, 0.090)"), + (c = "rgba(6,163,69, 0.60)"); + break; + case "custom": + (s = r.fillColor), (c = r.lineColor); + } + r.fill && + ("right" === r.yaxis && this.hasSecondYAxis + ? e.grid.markings.push({ + y2axis: { from: r.value, to: l }, + color: Object(Q.getColorFromHexRgbOrName)(s), + }) + : e.grid.markings.push({ + yaxis: { from: r.value, to: l }, + color: Object(Q.getColorFromHexRgbOrName)(s), + })), + r.line && + ("right" === r.yaxis && this.hasSecondYAxis + ? e.grid.markings.push({ + y2axis: { from: r.value, to: r.value }, + color: Object(Q.getColorFromHexRgbOrName)(c), + }) + : e.grid.markings.push({ + yaxis: { from: r.value, to: r.value }, + color: Object(Q.getColorFromHexRgbOrName)(c), + })); + } + } + }, + }, + ]) && xt(t.prototype, n), + r && xt(t, r), + e + ); + })(); + function jt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function St(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Et(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ct(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Pt = { + gray: { + themeDependent: !0, + title: "Gray", + darkColor: { + fill: "rgba(255, 255, 255, 0.09)", + line: "rgba(255, 255, 255, 0.2)", + }, + lightColor: { + fill: "rgba(0, 0, 0, 0.09)", + line: "rgba(0, 0, 0, 0.2)", + }, + }, + red: { + title: "Red", + color: { + fill: "rgba(234, 112, 112, 0.12)", + line: "rgba(237, 46, 24, 0.60)", + }, + }, + green: { + title: "Green", + color: { + fill: "rgba(11, 237, 50, 0.090)", + line: "rgba(6,163,69, 0.60)", + }, + }, + blue: { + title: "Blue", + color: { + fill: "rgba(11, 125, 238, 0.12)", + line: "rgba(11, 125, 238, 0.60)", + }, + }, + yellow: { + title: "Yellow", + color: { + fill: "rgba(235, 138, 14, 0.12)", + line: "rgba(247, 149, 32, 0.60)", + }, + }, + custom: { title: "Custom" }, + }; + function Tt(e, t) { + if ( + (-1 === Object.keys(Pt).indexOf(e.colorMode) && (e.colorMode = "red"), + "custom" === e.colorMode) + ) + return { + fill: + e.fill && e.fillColor + ? Object(Q.getColorFromHexRgbOrName)(e.fillColor, t) + : null, + line: + e.line && e.lineColor + ? Object(Q.getColorFromHexRgbOrName)(e.lineColor, t) + : null, + }; + var n = Pt[e.colorMode]; + return !0 === n.themeDependent + ? t === Q.GrafanaThemeType.Light + ? n.lightColor + : n.darkColor + : { + fill: e.fill + ? Object(Q.getColorFromHexRgbOrName)(n.color.fill, t) + : null, + line: e.fill + ? Object(Q.getColorFromHexRgbOrName)(n.color.line, t) + : null, + }; + } + var Dt = (function () { + function e(t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : Q.GrafanaThemeType.Dark; + Et(this, e), (this.panelCtrl = t), (this.theme = n); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "draw", + value: function (e) { + (this.timeRegions = this.panelCtrl.panel.timeRegions), + (this.plot = e); + }, + }, + { + key: "addFlotOptions", + value: function (e, t) { + if (t.timeRegions && 0 !== t.timeRegions.length) { + var n, + r, + a, + o, + i, + l, + s, + c = { + from: Object(Q.dateTime)( + this.panelCtrl.range.from + ).utc(), + to: Object(Q.dateTime)(this.panelCtrl.range.to).utc(), + }, + u = t.timeRegions.map(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? jt(Object(n), !0).forEach(function (t) { + St(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : jt(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e); + }); + for (n = 0; n < u.length; n++) + if ( + ((a = u[n]).fromDayOfWeek || + a.from || + a.toDayOfWeek || + a.to) && + (a.from && !a.to && (a.to = a.from), + !a.from && a.to && (a.from = a.to), + (r = { + from: this.parseTimeRange(a.from), + to: this.parseTimeRange(a.to), + }), + !a.fromDayOfWeek && + a.toDayOfWeek && + (a.fromDayOfWeek = a.toDayOfWeek), + !a.toDayOfWeek && + a.fromDayOfWeek && + (a.toDayOfWeek = a.fromDayOfWeek), + a.fromDayOfWeek && + (r.from.dayOfWeek = Number(a.fromDayOfWeek)), + a.toDayOfWeek && + (r.to.dayOfWeek = Number(a.toDayOfWeek)), + r.from.dayOfWeek && + null === r.from.h && + null === r.from.m && + ((r.from.h = 0), (r.from.m = 0), (r.from.s = 0)), + r.to.dayOfWeek && + null === r.to.h && + null === r.to.m && + ((r.to.h = 23), (r.to.m = 59), (r.to.s = 59)), + r.from && r.to) + ) { + for ( + o = [], + (i = Object(Q.dateTime)(c.from)).set("hour", 0), + i.set("minute", 0), + i.set("second", 0), + i.add(r.from.h, "hours"), + i.add(r.from.m, "minutes"), + i.add(r.from.s, "seconds"); + i.unix() <= c.to.unix(); + + ) { + for ( + ; + r.from.dayOfWeek && + r.from.dayOfWeek !== i.isoWeekday(); + + ) + i.add(24, "hours"); + if (i.unix() > c.to.unix()) break; + if (((l = Object(Q.dateTime)(i)), r.from.h <= r.to.h)) + l.add(r.to.h - r.from.h, "hours"); + else if (r.from.h > r.to.h) + for (; l.hour() !== r.to.h; ) l.add(1, "hours"); + else + for ( + l.add(24 - r.from.h, "hours"); + l.hour() !== r.to.h; + + ) + l.add(1, "hours"); + for ( + l.set("minute", r.to.m), l.set("second", r.to.s); + r.to.dayOfWeek && r.to.dayOfWeek !== l.isoWeekday(); + + ) + l.add(24, "hours"); + (i.unix() < c.from.unix() && + l.unix() < c.from.unix()) || + (i.unix() > c.to.unix() && + l.unix() > c.to.unix()) || + o.push({ from: i.valueOf(), to: l.valueOf() }), + i.add(24, "hours"); + } + s = Tt(a, this.theme); + for (var f = 0; f < o.length; f++) { + var d = o[f]; + a.fill && + e.grid.markings.push({ + xaxis: { from: d.from, to: d.to }, + color: s.fill, + }), + a.line && + (e.grid.markings.push({ + xaxis: { from: d.from, to: d.from }, + color: s.line, + }), + e.grid.markings.push({ + xaxis: { from: d.to, to: d.to }, + color: s.line, + })); + } + } + } + }, + }, + { + key: "parseTimeRange", + value: function (e) { + var t = { h: null, m: null }, + n = /^([\d]+):?(\d{2})?/.exec(e); + return n + ? (n.length > 1 && + ((t.h = Number(n[1])), + (t.m = 0), + n.length > 2 && void 0 !== n[2] && (t.m = Number(n[2])), + t.h > 23 && (t.h = 23), + t.m > 59 && (t.m = 59)), + t) + : t; + }, + }, + ]) && Ct(t.prototype, n), + r && Ct(t, r), + e + ); + })(), + At = n("xdKY"); + function _t(e, t, n, r, a) { + return e.map(function (e) { + var o = (function (e) { + for (var t = [], n = 0; n < e.length; n++) + for (var r = e[n].datapoints, a = 0; a < r.length; a++) + null !== r[a][0] && t.push(r[a][0]); + return t; + })([e]); + if (((e.histogram = !0), n[e.alias])) e.data = []; + else { + var i = (function (e, t, n, r) { + for ( + var a = {}, o = Nt(n, t), i = Nt(r, t), l = o, s = 0; + l <= i; + + ) + (a[l] = 0), (l = o + t * s), s++; + for (var c = 0; c < e.length; c++) + if (!(e[c] < n || e[c] > r)) { + var u = Nt(e[c], t); + a[u] = a[u] + 1; + } + var f = j.a.map(a, function (e, t) { + return [Number(t), e]; + }); + return j.a.sortBy(f, function (e) { + return e[0]; + }); + })(o, t, r, a); + e.data = i; + } + return e; + }); + } + function Nt(e, t) { + return Math.floor(e / t) * t; + } + function Mt(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function It(e, t) { + if (!isNaN(t) && 2 === (n = e).length && Rt(n[0]) && Rt(n[1])) { + var n, + r = Mt(e, 2), + a = r[0], + o = r[1]; + !(function (e, t, n) { + 0 !== n && ((e.min -= n), (e.max -= n), (t.min -= n), (t.max -= n)); + })(a, o, t), + (function (e, t) { + e.max === e.min && ((e.min -= 0.25), (e.max += 0.25)); + t.max === t.min && ((t.min -= 0.25), (t.max += 0.25)); + })(a, o); + var i = 0 === a.min || 0 === o.min || 0 === a.max || 0 === o.max, + l = Ft(a, o); + if (i && l) + (a.min = a.max > 0 ? 0 : a.min), + (a.max = a.max > 0 ? a.max : 0), + (o.min = o.max > 0 ? 0 : o.min), + (o.max = o.max > 0 ? o.max : 0); + else if ( + (function (e, t) { + return (e.min >= 0 && t.max <= 0) || (e.max <= 0 && t.min >= 0); + })(a, o) + ) + a.min >= 0 + ? ((a.min = -a.max), (o.max = -o.min)) + : ((a.max = -a.min), (o.min = -o.max)); + else { + var s = (function (e, t) { + if (Lt(e, t)) { + var n = t.min ? e.min / t.min : 0, + r = t.max ? e.max / t.max : 0; + return n > r ? n : r; + } + if (Ft(e, t)) { + var a = Math.abs(e.min), + o = Math.abs(e.max), + i = Math.abs(t.min), + l = Math.abs(t.max), + s = j.a.max([a, o]), + c = j.a.min([a, o]), + u = j.a.max([i, l]), + f = j.a.min([i, l]), + d = c ? s / c : s, + p = f ? u / f : u; + return d > p ? d : p; + } + return e.min > 0 || t.min > 0 ? e.max / t.max : e.min / t.min; + })(a, o); + l + ? a.min > 0 + ? ((a.min = a.max / s), (o.min = o.max / s)) + : ((a.max = a.min / s), (o.max = o.min / s)) + : Lt(a, o) + ? ((a.min = o.min ? o.min * s : a.min), + (o.min = a.min ? a.min / s : o.min), + (a.max = o.max ? o.max * s : a.max), + (o.max = a.max ? a.max / s : o.max)) + : ((a.min = a.min > 0 ? o.min * s : a.min), + (o.min = o.min > 0 ? a.min / s : o.min), + (a.max = a.max < 0 ? o.max * s : a.max), + (o.max = o.max < 0 ? a.max / s : o.max)); + } + !(function (e, t, n) { + 0 !== n && ((e.min += n), (e.max += n), (t.min += n), (t.max += n)); + })(a, o, t); + } + } + function Rt(e) { + return "min" in e && "max" in e; + } + function Ft(e, t) { + return (e.min >= 0 && t.min >= 0) || (e.max <= 0 && t.max <= 0); + } + function Lt(e, t) { + return e.min <= 0 && e.max >= 0 && t.min <= 0 && t.max >= 0; + } + var Vt = n("TSYQ"), + Bt = n.n(Vt); + function $t(e) { + return ($t = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function qt(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ut(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function zt(e, t, n) { + return t && Ut(e.prototype, t), n && Ut(e, n), e; + } + function Ht(e, t) { + return !t || ("object" !== $t(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Gt(e) { + return (Gt = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Wt(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Qt(e, t); + } + function Qt(e, t) { + return (Qt = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Yt = ["min", "max", "avg", "current", "total"], + Kt = (function (e) { + function t(e) { + var n; + return ( + qt(this, t), + ((n = Ht(this, Gt(t).call(this, e))).onLabelClick = function (e) { + return n.props.onLabelClick(n.props.series, e); + }), + (n.onToggleAxis = function () { + var e = 2 === n.state.yaxis ? 1 : 2, + t = { alias: n.props.series.alias, yaxis: e }; + n.setState({ yaxis: e }), n.props.onToggleAxis(t); + }), + (n.onColorChange = function (e) { + n.props.onColorChange(n.props.series, e), n.forceUpdate(); + }), + (n.state = { yaxis: n.props.series.yaxis }), + n + ); + } + return ( + Wt(t, e), + zt(t, [ + { + key: "renderLegendValues", + value: function () { + var e = this.props, + t = e.series, + n = e.asTable, + r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = Yt[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + if (this.props[c]) { + var u = t.formatValue(t.stats[c]); + r.push( + V.a.createElement(en, { + key: c, + valueName: c, + value: u, + asTable: n, + }) + ); + } + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return r; + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.series, + n = e.values, + r = e.asTable, + a = e.hidden, + o = Bt()({ + "graph-legend-series-hidden": a, + "graph-legend-series--right-y": 2 === t.yaxis, + }), + i = n ? this.renderLegendValues() : [], + l = V.a.createElement(Jt, { + label: t.alias, + color: t.color, + yaxis: this.state.yaxis, + onLabelClick: this.onLabelClick, + onColorChange: this.onColorChange, + onToggleAxis: this.onToggleAxis, + }); + return r + ? V.a.createElement( + "tr", + { className: "graph-legend-series ".concat(o) }, + V.a.createElement("td", null, l), + i + ) + : V.a.createElement( + "div", + { className: "graph-legend-series ".concat(o) }, + l, + i + ); + }, + }, + ]), + t + ); + })(L.PureComponent); + Kt.defaultProps = { + asTable: !1, + hidden: !1, + onLabelClick: function () {}, + onColorChange: function () {}, + onToggleAxis: function () {}, + }; + var Jt = (function (e) { + function t() { + return qt(this, t), Ht(this, Gt(t).apply(this, arguments)); + } + return ( + Wt(t, e), + zt(t, [ + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.label, + r = t.color, + a = t.yaxis, + o = this.props, + i = o.onColorChange, + l = o.onToggleAxis; + return [ + V.a.createElement(Xt, { + key: "icon", + color: r, + yaxis: a, + onColorChange: i, + onToggleAxis: l, + }), + V.a.createElement( + "a", + { + className: "graph-legend-alias pointer", + title: n, + key: "label", + onClick: function (t) { + return e.props.onLabelClick(t); + }, + }, + n + ), + ]; + }, + }, + ]), + t + ); + })(L.PureComponent); + function Zt(e) { + var t = e.color; + return V.a.createElement("i", { + className: "fa fa-minus pointer", + style: { color: t }, + }); + } + Jt.defaultProps = { yaxis: void 0, onLabelClick: function () {} }; + var Xt = (function (e) { + function t() { + return qt(this, t), Ht(this, Gt(t).apply(this, arguments)); + } + return ( + Wt(t, e), + zt(t, [ + { + key: "render", + value: function () { + var e = this; + return V.a.createElement( + se.SeriesColorPicker, + { + yaxis: this.props.yaxis, + color: this.props.color, + onChange: this.props.onColorChange, + onToggleAxis: this.props.onToggleAxis, + enableNamedColors: !0, + }, + function (t) { + var n = t.ref, + r = t.showColorPicker, + a = t.hideColorPicker; + return V.a.createElement( + "span", + { + ref: n, + onClick: r, + onMouseLeave: a, + className: "graph-legend-icon", + }, + V.a.createElement(Zt, { color: e.props.color }) + ); + } + ); + }, + }, + ]), + t + ); + })(L.PureComponent); + function en(e) { + var t = e.value, + n = e.valueName; + return e.asTable + ? V.a.createElement( + "td", + { className: "graph-legend-value ".concat(n) }, + t + ) + : V.a.createElement( + "div", + { className: "graph-legend-value ".concat(n) }, + t + ); + } + function tn(e) { + return (tn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function nn() { + return (nn = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function rn(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function an(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function on(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? an(Object(n), !0).forEach(function (t) { + ln(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : an(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ln(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function sn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function cn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function un(e, t, n) { + return t && cn(e.prototype, t), n && cn(e, n), e; + } + function fn(e, t) { + return !t || ("object" !== tn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function dn(e) { + return (dn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function pn(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && hn(e, t); + } + function hn(e, t) { + return (hn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + Xt.defaultProps = { + yaxis: void 0, + onColorChange: function () {}, + onToggleAxis: function () {}, + }; + var mn = (function (e) { + function t(e) { + var n; + return ( + sn(this, t), + ((n = fn(this, dn(t).call(this, e))).onToggleSeries = function ( + e, + t + ) { + var r = on({}, n.state.hiddenSeries); + t.ctrlKey || t.metaKey || t.shiftKey + ? r[e.alias] + ? delete r[e.alias] + : (r[e.alias] = !0) + : (r = n.toggleSeriesExclusiveMode(e)), + n.setState({ hiddenSeries: r }), + n.props.onToggleSeries(r); + }), + (n.state = { hiddenSeries: n.props.hiddenSeries }), + n + ); + } + return ( + pn(t, e), + un(t, [ + { + key: "sortLegend", + value: function () { + var e = this, + t = rn(this.props.seriesList) || []; + return ( + this.props.sort && + this.props[this.props.sort] && + this.props.alignAsTable && + ((t = j.a.sortBy(t, function (t) { + var n = t.stats[e.props.sort]; + return null === n && (n = -1 / 0), n; + })), + this.props.sortDesc && (t = t.reverse())), + t + ); + }, + }, + { + key: "toggleSeriesExclusiveMode", + value: function (e) { + var t = on({}, this.state.hiddenSeries); + return ( + t[e.alias] && delete t[e.alias], + this.props.seriesList.every(function (n) { + return n.alias === e.alias || t[n.alias]; + }) + ? this.props.seriesList.forEach(function (e) { + delete t[e.alias]; + }) + : this.props.seriesList.forEach(function (n) { + n.alias !== e.alias && (t[n.alias] = !0); + }), + t + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.optionalClass, + n = e.rightSide, + r = e.sideWidth, + a = e.sort, + o = e.sortDesc, + i = e.hideEmpty, + l = e.hideZero, + s = { + values: e.values, + min: e.min, + max: e.max, + avg: e.avg, + current: e.current, + total: e.total, + }, + c = this.state.hiddenSeries, + u = { hideEmpty: i, hideZero: l }, + f = { sort: a, sortDesc: o }, + d = this.sortLegend().filter(function (e) { + return !e.hideFromLegend(u); + }), + p = "" + .concat( + this.props.alignAsTable ? "graph-legend-table" : "", + " " + ) + .concat(t), + h = { + minWidth: n && r ? r : void 0, + width: n && r ? r - 1 : void 0, + }, + m = on( + { + seriesList: d, + hiddenSeries: c, + onToggleSeries: this.onToggleSeries, + onToggleAxis: this.props.onToggleAxis, + onToggleSort: this.props.onToggleSort, + onColorChange: this.props.onColorChange, + }, + s, + {}, + f + ); + return V.a.createElement( + "div", + { className: "graph-legend-content ".concat(p), style: h }, + this.props.alignAsTable + ? V.a.createElement(bn, m) + : V.a.createElement(gn, m) + ); + }, + }, + ]), + t + ); + })(L.PureComponent); + mn.defaultProps = { + values: !1, + min: !1, + max: !1, + avg: !1, + current: !1, + total: !1, + alignAsTable: !1, + rightSide: !1, + sort: void 0, + sortDesc: !1, + optionalClass: "", + onToggleSeries: function () {}, + onToggleSort: function () {}, + onToggleAxis: function () {}, + onColorChange: function () {}, + }; + var gn = (function (e) { + function t() { + return sn(this, t), fn(this, dn(t).apply(this, arguments)); + } + return ( + pn(t, e), + un(t, [ + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.seriesList, + r = t.hiddenSeries, + a = { + values: t.values, + min: t.min, + max: t.max, + avg: t.avg, + current: t.current, + total: t.total, + }; + return n.map(function (t, n) { + return V.a.createElement( + Kt, + nn( + { + key: "".concat(t.id, "-").concat(n), + series: t, + hidden: r[t.alias], + }, + a, + { + onLabelClick: e.props.onToggleSeries, + onColorChange: e.props.onColorChange, + onToggleAxis: e.props.onToggleAxis, + } + ) + ); + }); + }, + }, + ]), + t + ); + })(L.PureComponent), + bn = (function (e) { + function t() { + var e, n; + sn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = fn( + this, + (e = dn(t)).call.apply(e, [this].concat(a)) + )).onToggleSort = function (e) { + var t = n.props.sortDesc, + r = n.props.sort; + e !== r && (t = null), + !1 === t ? ((r = null), (t = null)) : ((t = !t), (r = e)), + n.props.onToggleSort(r, t); + }), + n + ); + } + return ( + pn(t, e), + un(t, [ + { + key: "render", + value: function () { + var e = this, + t = this.props.seriesList, + n = this.props, + r = n.values, + a = n.min, + o = n.max, + i = n.avg, + l = n.current, + s = n.total, + c = n.sort, + u = n.sortDesc, + f = n.hiddenSeries, + d = { + values: r, + min: a, + max: o, + avg: i, + current: l, + total: s, + }; + return V.a.createElement( + "table", + null, + V.a.createElement( + "colgroup", + null, + V.a.createElement("col", { style: { width: "100%" } }) + ), + V.a.createElement( + "thead", + null, + V.a.createElement( + "tr", + null, + V.a.createElement("th", { + style: { textAlign: "left" }, + }), + Yt.map(function (t) { + return ( + d[t] && + V.a.createElement(vn, { + key: t, + statName: t, + sort: c, + sortDesc: u, + onClick: e.onToggleSort, + }) + ); + }) + ) + ), + V.a.createElement( + "tbody", + null, + t.map(function (t, n) { + return V.a.createElement( + Kt, + nn( + { + key: "".concat(t.id, "-").concat(n), + asTable: !0, + series: t, + hidden: f[t.alias], + onLabelClick: e.props.onToggleSeries, + onColorChange: e.props.onColorChange, + onToggleAxis: e.props.onToggleAxis, + }, + d + ) + ); + }) + ) + ); + }, + }, + ]), + t + ); + })(L.PureComponent), + vn = (function (e) { + function t() { + var e, n; + sn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = fn( + this, + (e = dn(t)).call.apply(e, [this].concat(a)) + )).onClick = function () { + return n.props.onClick(n.props.statName); + }), + n + ); + } + return ( + pn(t, e), + un(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.statName, + n = e.sort, + r = e.sortDesc; + return V.a.createElement( + "th", + { className: "pointer", onClick: this.onClick }, + t, + n === t && + V.a.createElement("span", { + className: r ? "fa fa-caret-down" : "fa fa-caret-up", + }) + ); + }, + }, + ]), + t + ); + })(L.PureComponent), + yn = (function (e) { + function t() { + return sn(this, t), fn(this, dn(t).apply(this, arguments)); + } + return ( + pn(t, e), + un(t, [ + { + key: "render", + value: function () { + return V.a.createElement( + se.CustomScrollbar, + { hideHorizontalTrack: !0 }, + V.a.createElement(mn, this.props) + ); + }, + }, + ]), + t + ); + })(L.PureComponent), + wn = n("t/ct"), + On = n("MAcC"); + function xn(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function kn(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function jn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Sn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Pn.$inject = ["timeSrv", "popoverSrv", "contextSrv"]; + var En = Object(wn.b)(yn), + Cn = (function () { + function e(t, n, r) { + var a = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.scope = t), + (this.elem = n), + (this.timeSrv = r), + (this.getContextMenuItemsSupplier = function (e, t) { + return function () { + var n = [ + { + items: [ + { + label: "Add annotation", + icon: "gicon gicon-annotation", + onClick: function () { + return a.eventManager.updateTime({ + from: e.x, + to: null, + }); + }, + }, + ], + }, + ]; + if (!t) return n; + var r = [ + { + items: t.getLinks(a.panel.scopedVars).map(function (e) { + return { + label: e.title, + url: e.href, + target: e.target, + icon: "fa ".concat( + "_self" === e.target + ? "fa-link" + : "fa-external-link" + ), + onClick: e.onClick, + }; + }), + }, + ]; + return [].concat(n, r); + }; + }), + (this.ctrl = t.ctrl), + (this.contextMenu = t.ctrl.contextMenuCtrl), + (this.dashboard = this.ctrl.dashboard), + (this.panel = this.ctrl.panel), + (this.annotations = []), + (this.panelWidth = 0), + (this.eventManager = new At.a(this.ctrl)), + (this.thresholdManager = new kt(this.ctrl)), + (this.timeRegionManager = new Dt(this.ctrl, z.b.theme.type)), + (this.tooltip = new Ot( + this.elem, + this.ctrl.dashboard, + this.scope, + function () { + return a.sortedSeries; + } + )), + this.ctrl.events.on( + Q.PanelEvents.panelTeardown, + this.onPanelTeardown.bind(this) + ), + this.ctrl.events.on( + Q.PanelEvents.render, + this.onRender.bind(this) + ), + W.a.on(wt.CoreEvents.graphHover, this.onGraphHover.bind(this), t), + W.a.on( + wt.CoreEvents.graphHoverClear, + this.onGraphHoverClear.bind(this), + t + ), + this.elem.bind("plotselected", this.onPlotSelected.bind(this)), + this.elem.bind("plotclick", this.onPlotClick.bind(this)), + this.elem && + this.elem.parent && + (this.legendElem = this.elem.parent().find(".graph-legend")[0]); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "onRender", + value: function (e) { + var t = this; + if (((this.data = e || this.data), this.data)) { + (this.annotations = this.ctrl.annotations || []), + this.buildFlotPairs(this.data); + var n = this.ctrl.height; + if ( + (Object(W.f)(this.data, this.panel, n), + !this.panel.legend.show) + ) + return ( + this.legendElem.hasChildNodes() && + $.a.unmountComponentAtNode(this.legendElem), + void this.renderPanel() + ); + var r = this.panel.legend, + a = r.values, + o = r.min, + i = r.max, + l = r.avg, + s = r.current, + c = r.total, + u = this.panel.legend, + f = { + alignAsTable: u.alignAsTable, + rightSide: u.rightSide, + sideWidth: u.sideWidth, + sort: u.sort, + sortDesc: u.sortDesc, + hideEmpty: u.hideEmpty, + hideZero: u.hideZero, + }, + d = { + values: a, + min: o, + max: i, + avg: l, + current: s, + total: c, + }, + p = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? kn(Object(n), !0).forEach(function (t) { + jn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : kn(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })( + { + seriesList: this.data, + hiddenSeries: this.ctrl.hiddenSeries, + }, + f, + {}, + d, + { + onToggleSeries: this.ctrl.onToggleSeries, + onToggleSort: this.ctrl.onToggleSort, + onColorChange: this.ctrl.onColorChange, + onToggleAxis: this.ctrl.onToggleAxis, + } + ), + h = V.a.createElement(En, p); + $.a.render(h, this.legendElem, function () { + return t.renderPanel(); + }); + } + }, + }, + { + key: "onGraphHover", + value: function (e) { + this.dashboard.sharedTooltipModeEnabled() && + this.plot && + e.panel.id !== this.panel.id && + !this.ctrl.otherPanelInFullscreenMode() && + this.tooltip.show(e.pos); + }, + }, + { + key: "onPanelTeardown", + value: function () { + this.plot && (this.plot.destroy(), (this.plot = null)), + this.tooltip.destroy(), + this.elem.off(), + this.elem.remove(), + $.a.unmountComponentAtNode(this.legendElem); + }, + }, + { + key: "onGraphHoverClear", + value: function (e, t) { + this.plot && this.tooltip.clear(this.plot); + }, + }, + { + key: "onPlotSelected", + value: function (e, t) { + var n = this; + "time" === this.panel.xaxis.mode + ? (t.ctrlKey || t.metaKey) && + (this.dashboard.meta.canEdit || + this.dashboard.meta.canMakeEditable) + ? setTimeout(function () { + n.eventManager.updateTime(t.xaxis); + }, 100) + : this.scope.$apply(function () { + n.timeSrv.setTime({ + from: Object(Q.toUtc)(t.xaxis.from), + to: Object(Q.toUtc)(t.xaxis.to), + }); + }) + : this.plot.clearSelection(); + }, + }, + { + key: "onPlotClick", + value: function (e, t, n) { + var r = this, + a = this.elem.closest(".view") + ? this.elem.closest(".view").get()[0] + : null, + o = n; + if ("time" === this.panel.xaxis.mode) + if ( + (!t.ctrlKey && !t.metaKey) || + (!this.dashboard.meta.canEdit && + !this.dashboard.meta.canMakeEditable) + ) { + var i; + if ((this.tooltip.clear(this.plot), n)) { + var l = this.panel.yaxes[ + 2 === n.series.yaxis.n ? 1 : 0 + ], + s = this.ctrl.dataList[n.series.dataFrameIndex], + c = s.fields[n.series.fieldIndex], + u = this.getDataIndexWithNullValuesCorrection(n, s), + f = this.panel.options.dataLinks || []; + c.config.links && + c.config.links.length && + (f = [].concat(xn(f), xn(c.config.links))); + var d = { decimals: l.decimals, links: f }, + p = Object(Q.getDisplayProcessor)({ + field: { config: d, type: Q.FieldType.number }, + theme: Object(wn.a)(), + })(c.values.get(u)); + i = f.length + ? Object(On.a)({ + display: p, + name: c.name, + view: new Q.DataFrameView(s), + rowIndex: u, + colIndex: n.series.fieldIndex, + field: d, + }) + : void 0; + } + this.scope.$apply(function () { + r.contextMenu.setScrollContextElement(a), + r.contextMenu.setSource(o), + r.contextMenu.setMenuItemsSupplier( + r.getContextMenuItemsSupplier(t, i) + ), + r.contextMenu.toggleMenu(t); + }); + } else { + if (t.x !== t.x1) return; + setTimeout(function () { + r.eventManager.updateTime({ from: t.x, to: null }); + }, 100); + } + }, + }, + { + key: "getDataIndexWithNullValuesCorrection", + value: function (e, t) { + var n = e.datapoint, + r = e.dataIndex; + if (!Array.isArray(n) || 0 === n.length) return r; + var a = n[0], + o = Object(Q.getTimeField)(t).timeField; + if (!o || !o.values) return r; + if (o.values.get(r) === a) return r; + var i = o.values.toArray().findIndex(function (e) { + return e === a; + }); + return i > -1 ? i : r; + }, + }, + { + key: "shouldAbortRender", + value: function () { + return !this.data || 0 === this.panelWidth; + }, + }, + { + key: "drawHook", + value: function (e) { + this.panel.yaxes[0].label && + this.panel.yaxes[0].show && + _()( + "<div class='axisLabel left-yaxis-label flot-temp-elem'></div>" + ) + .text(this.panel.yaxes[0].label) + .appendTo(this.elem), + this.panel.yaxes[1].label && + this.panel.yaxes[1].show && + _()( + "<div class='axisLabel right-yaxis-label flot-temp-elem'></div>" + ) + .text(this.panel.yaxes[1].label) + .appendTo(this.elem), + this.ctrl.dataWarning && + _()( + '<div class="datapoints-warning flot-temp-elem">'.concat( + this.ctrl.dataWarning.title, + "</div>" + ) + ).appendTo(this.elem), + this.thresholdManager.draw(e), + this.timeRegionManager.draw(e); + }, + }, + { + key: "processOffsetHook", + value: function (e, t) { + var n = this.panel.yaxes[0], + r = this.panel.yaxes[1]; + n.show && n.label && (t.left = 20), + r.show && r.label && (t.right = 20); + for (var a = e.getYAxes(), o = 0; o < a.length; o++) { + var i = a[o], + l = this.panel.yaxes[o]; + (i.options.max = + null !== i.options.max ? i.options.max : l.max), + (i.options.min = + null !== i.options.min ? i.options.min : l.min); + } + }, + }, + { + key: "processRangeHook", + value: function (e) { + var t = e.getYAxes(), + n = this.panel.yaxis.align || !1; + if (t.length > 1 && !0 === n) { + var r = this.panel.yaxis.alignLevel || 0; + It(t, parseFloat(r)); + } + }, + }, + { + key: "getMinTimeStepOfSeries", + value: function (e) { + for (var t = Number.MAX_VALUE, n = 0; n < e.length; n++) + if (e[n].stats.timeStep) { + if (this.panel.bars) { + if (e[n].bars && !1 === e[n].bars.show) continue; + } else if ( + void 0 === e[n].bars || + void 0 === e[n].bars.show || + !e[n].bars.show + ) + continue; + e[n].stats.timeStep < t && (t = e[n].stats.timeStep); + } + return t; + }, + }, + { + key: "renderPanel", + value: function () { + if ( + ((this.panelWidth = this.elem.width()), + !this.shouldAbortRender()) + ) { + this.thresholdManager.prepare(this.elem, this.data), + (this.panel.dashes = + !!this.panel.lines && this.panel.dashes); + var e = this.buildFlotOptions(this.panel); + this.prepareXAxis(e, this.panel), + this.configureYAxisOptions(this.data, e), + this.thresholdManager.addFlotOptions(e, this.panel), + this.timeRegionManager.addFlotOptions(e, this.panel), + this.eventManager.addFlotEvents(this.annotations, e), + (this.sortedSeries = this.sortSeries( + this.data, + this.panel + )), + this.callPlot(e, !0); + } + }, + }, + { + key: "buildFlotPairs", + value: function (e) { + for (var t = 0; t < e.length; t++) { + var n = e[t]; + (n.data = n.getFlotPairs( + n.nullPointMode || this.panel.nullPointMode + )), + "constant" === n.transform && + (n.data = Object(Q.getFlotPairsConstant)( + n.data, + this.ctrl.range + )), + this.ctrl.hiddenSeries[n.alias] && + ((n.data = []), (n.stack = !1)); + } + }, + }, + { + key: "prepareXAxis", + value: function (e, t) { + switch (t.xaxis.mode) { + case "series": + (e.series.bars.barWidth = 0.7), + (e.series.bars.align = "center"); + for (var n = 0; n < this.data.length; n++) { + var r = this.data[n]; + r.data = [[n + 1, r.stats[t.xaxis.values[0]]]]; + } + this.addXSeriesAxis(e); + break; + case "histogram": + var a; + if (this.data.length) { + var o = j.a.min( + j.a.map(this.data, function (e) { + return e.stats.min; + }) + ), + i = j.a.max( + j.a.map(this.data, function (e) { + return e.stats.max; + }) + ), + l = t.xaxis.buckets || this.panelWidth / 50; + null != t.xaxis.min && + (o = + Object(J.tickStep)(t.xaxis.min, i, l) <= 0 + ? o + : t.xaxis.min), + null != t.xaxis.max && + (i = + Object(J.tickStep)(o, t.xaxis.max, l) <= 0 + ? i + : t.xaxis.max), + (a = Object(J.tickStep)(o, i, l)), + (e.series.bars.barWidth = 0.8 * a), + (this.data = _t( + this.data, + a, + this.ctrl.hiddenSeries, + o, + i + )); + } else a = 0; + this.addXHistogramAxis(e, a); + break; + case "table": + (e.series.bars.barWidth = 0.7), + (e.series.bars.align = "center"), + this.addXTableAxis(e); + break; + default: + (e.series.bars.barWidth = + this.getMinTimeStepOfSeries(this.data) / 1.5), + (e.series.bars.align = "center"), + this.addTimeAxis(e); + } + }, + }, + { + key: "callPlot", + value: function (e, t) { + try { + (this.plot = _.a.plot(this.elem, this.sortedSeries, e)), + this.ctrl.renderError && delete this.ctrl.error; + } catch (e) { + console.log("flotcharts error", e), + (this.ctrl.error = e.message || "Render Error"), + (this.ctrl.renderError = !0); + } + t && this.ctrl.renderingCompleted(); + }, + }, + { + key: "buildFlotOptions", + value: function (e) { + var t = "#c8c8c8"; + !0 === z.b.bootData.user.lightTheme && (t = "#a1a1a1"); + var n = !!e.stack || null; + return { + hooks: { + draw: [this.drawHook.bind(this)], + processOffset: [this.processOffsetHook.bind(this)], + processRange: [this.processRangeHook.bind(this)], + }, + legend: { show: !1 }, + series: { + stackpercent: !!e.stack && e.percentage, + stack: e.percentage ? null : n, + lines: { + show: e.lines, + zero: !1, + fill: this.translateFillOption(e.fill), + fillColor: this.getFillGradient(e.fillGradient), + lineWidth: e.dashes ? 0 : e.linewidth, + steps: e.steppedLine, + }, + dashes: { + show: e.dashes, + lineWidth: e.linewidth, + dashLength: [e.dashLength, e.spaceLength], + }, + bars: { + show: e.bars, + fill: 1, + barWidth: 1, + zero: !1, + lineWidth: 0, + }, + points: { + show: e.points, + fill: 1, + fillColor: !1, + radius: e.points ? e.pointradius : 2, + }, + shadowSize: 0, + }, + yaxes: [], + xaxis: {}, + grid: { + minBorderMargin: 0, + markings: [], + backgroundColor: null, + borderWidth: 0, + hoverable: !0, + clickable: !0, + color: t, + margin: { left: 0, right: 0 }, + labelMarginX: 0, + mouseActiveRadius: 30, + }, + selection: { mode: "x", color: "#666" }, + crosshair: { mode: "x" }, + }; + }, + }, + { + key: "sortSeries", + value: function (e, t) { + var n = t.legend.sort, + r = t.legend.sortDesc, + a = null != n && t.legend[n], + o = null != r, + i = t.stack && a && o && t.legend.alignAsTable, + l = !0 === t.legend.sortDesc ? -1 : 1; + return i + ? j.a.sortBy(e, function (e) { + return e.stats[n] * l; + }) + : j.a.sortBy(e, function (e) { + return e.zindex; + }); + }, + }, + { + key: "getFillGradient", + value: function (e) { + return e + ? { colors: [{ opacity: 0 }, { opacity: e / 10 }] } + : null; + }, + }, + { + key: "translateFillOption", + value: function (e) { + return this.panel.percentage && this.panel.stack && 0 === e + ? 0.001 + : e / 10; + }, + }, + { + key: "addTimeAxis", + value: function (e) { + var t = this.panelWidth / 100, + n = j.a.isUndefined(this.ctrl.range.from) + ? null + : this.ctrl.range.from.valueOf(), + r = j.a.isUndefined(this.ctrl.range.to) + ? null + : this.ctrl.range.to.valueOf(); + e.xaxis = { + timezone: this.dashboard.getTimezone(), + show: this.panel.xaxis.show, + mode: "time", + min: n, + max: r, + label: "Datetime", + ticks: t, + timeformat: Object(J.grafanaTimeFormat)(t, n, r), + }; + }, + }, + { + key: "addXSeriesAxis", + value: function (e) { + var t = j.a.map(this.data, function (e, t) { + return [t + 1, e.alias]; + }); + e.xaxis = { + timezone: this.dashboard.getTimezone(), + show: this.panel.xaxis.show, + mode: null, + min: 0, + max: t.length + 1, + label: "Datetime", + ticks: t, + }; + }, + }, + { + key: "addXHistogramAxis", + value: function (e, t) { + var n, + r, + a, + o = this.panelWidth / 50; + if (this.data.length && t) { + var i = [], + l = !0, + s = !1, + c = void 0; + try { + for ( + var u, f = this.data[Symbol.iterator](); + !(l = (u = f.next()).done); + l = !0 + ) { + var d = u.value, + p = !0, + h = !1, + m = void 0; + try { + for ( + var g, b = d.data[Symbol.iterator](); + !(p = (g = b.next()).done); + p = !0 + ) + i[g.value[0]] = !0; + } catch (e) { + (h = !0), (m = e); + } finally { + try { + p || null == b.return || b.return(); + } finally { + if (h) throw m; + } + } + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == f.return || f.return(); + } finally { + if (s) throw c; + } + } + (n = Object.keys(i).map(function (e) { + return Number(e); + })), + (r = j.a.min(n)), + (a = j.a.max(n)); + for (var v = t, y = Math.floor((a - r) / v); y > o; ) + (v *= 2), (y = Math.ceil((a - r) / v)); + (r = Math.floor(r / v) * v), + (a = Math.ceil((1.01 * a) / v) * v), + (n = []); + for (var w = r; w <= a; w += v) n.push(w); + } else (n = o / 2), (r = 0), (a = 1); + (e.xaxis = { + timezone: this.dashboard.getTimezone(), + show: this.panel.xaxis.show, + mode: null, + min: r, + max: a, + label: "Histogram", + ticks: n, + }), + this.configureAxisMode(e.xaxis, "short"); + }, + }, + { + key: "addXTableAxis", + value: function (e) { + var t = j.a.map(this.data, function (e, t) { + return j.a.map(e.datapoints, function (n, r) { + return [t * e.datapoints.length + r + 1, n[1]]; + }); + }); + (t = j.a.flatten(t, !0)), + (e.xaxis = { + timezone: this.dashboard.getTimezone(), + show: this.panel.xaxis.show, + mode: null, + min: 0, + max: t.length + 1, + label: "Datetime", + ticks: t, + }); + }, + }, + { + key: "configureYAxisOptions", + value: function (e, t) { + var n = { + position: "left", + show: this.panel.yaxes[0].show, + index: 1, + logBase: this.panel.yaxes[0].logBase || 1, + min: this.parseNumber(this.panel.yaxes[0].min), + max: this.parseNumber(this.panel.yaxes[0].max), + tickDecimals: this.panel.yaxes[0].decimals, + }; + if ((t.yaxes.push(n), j.a.find(e, { yaxis: 2 }))) { + var r = j.a.clone(n); + (r.index = 2), + (r.show = this.panel.yaxes[1].show), + (r.logBase = this.panel.yaxes[1].logBase || 1), + (r.position = "right"), + (r.min = this.parseNumber(this.panel.yaxes[1].min)), + (r.max = this.parseNumber(this.panel.yaxes[1].max)), + (r.tickDecimals = this.panel.yaxes[1].decimals), + t.yaxes.push(r), + this.applyLogScale(t.yaxes[1], e), + this.configureAxisMode( + t.yaxes[1], + this.panel.percentage && this.panel.stack + ? "percent" + : this.panel.yaxes[1].format + ); + } + this.applyLogScale(t.yaxes[0], e), + this.configureAxisMode( + t.yaxes[0], + this.panel.percentage && this.panel.stack + ? "percent" + : this.panel.yaxes[0].format + ); + }, + }, + { + key: "parseNumber", + value: function (e) { + return null == e ? null : j.a.toNumber(e); + }, + }, + { + key: "applyLogScale", + value: function (e, t) { + if (1 !== e.logBase) { + var n, + r, + a = 0 === e.min; + e.min < Number.MIN_VALUE && (e.min = null), + e.max < Number.MIN_VALUE && (e.max = null); + var o = e.max, + i = e.min; + for (r = 0; r < t.length; r++) + (n = t[r]).yaxis === e.index && + ((!o || o < n.stats.max) && (o = n.stats.max), + (!i || i > n.stats.logmin) && (i = n.stats.logmin)); + (e.transform = function (t) { + return t < Number.MIN_VALUE + ? null + : Math.log(t) / Math.log(e.logBase); + }), + (e.inverseTransform = function (t) { + return Math.pow(e.logBase, t); + }), + o || i + ? o + ? i || (i = o * e.inverseTransform(-4)) + : (o = i * e.inverseTransform(4)) + : ((o = e.inverseTransform(2)), + (i = e.inverseTransform(-2))), + (i = e.min + ? e.inverseTransform(Math.ceil(e.transform(e.min))) + : (e.min = e.inverseTransform( + Math.floor(e.transform(i)) + ))), + (o = e.max + ? e.inverseTransform(Math.floor(e.transform(e.max))) + : (e.max = e.inverseTransform( + Math.ceil(e.transform(o)) + ))), + !i || + i < Number.MIN_VALUE || + !o || + o < Number.MIN_VALUE || + (Number.isFinite(i) && Number.isFinite(o) + ? (a && ((e.min = 0.1), (i = 1)), + (e.ticks = this.generateTicksForLogScaleYAxis( + i, + o, + e.logBase + )), + a && e.ticks.unshift(0.1), + e.ticks[e.ticks.length - 1] > e.max && + (e.max = e.ticks[e.ticks.length - 1])) + : ((e.ticks = [1, 2]), delete e.min, delete e.max)); + } + }, + }, + { + key: "generateTicksForLogScaleYAxis", + value: function (e, t, n) { + var r, + a = []; + for (r = e; r <= t; r *= n) a.push(r); + var o = Math.ceil(this.ctrl.height / 25), + i = a.length; + if (i > o) { + var l = Math.ceil(i / o) * n; + for (a = [], r = e; r <= t * l; r *= l) a.push(r); + } + return a; + }, + }, + { + key: "configureAxisMode", + value: function (e, t) { + e.tickFormatter = function (e, n) { + var r = Object(Q.getValueFormat)(t); + if (!r) + throw new Error("Unit '".concat(t, "' is not supported")); + return Object(Q.formattedValueToString)( + r(e, n.tickDecimals, n.scaledDecimals) + ); + }; + }, + }, + ]) && Sn(t.prototype, n), + r && Sn(t, r), + e + ); + })(); + function Pn(e, t, n) { + return { + restrict: "A", + template: "", + link: function (t, n) { + return new Cn(t, n, e); + }, + }; + } + W.c.directive("grafanaGraph", Pn); + var Tn = n("txxJ"); + function Dn(e, t, n) { + (e.overrideMenu = []), + (e.currentOverrides = []), + (e.override = e.override || {}), + (e.colorPickerModel = {}), + (e.addOverrideOption = function (t, n, r) { + var a = { + text: t, + propertyName: n, + index: e.overrideMenu.length, + values: r, + submenu: j.a.map(r, function (e) { + return { text: String(e), value: e }; + }), + }; + e.overrideMenu.push(a); + }), + (e.setOverride = function (t, n) { + "color" !== t.propertyName + ? ((e.override[t.propertyName] = n.value), + "fillBelowTo" === t.propertyName && + ((e.override.lines = !1), + e.ctrl.addSeriesOverride({ alias: n.value, lines: !1 })), + e.updateCurrentOverrides(), + e.ctrl.render()) + : e.openColorSelector(e.override.color); + }), + (e.colorSelected = function (t) { + (e.override.color = t), + e.updateCurrentOverrides(), + e.ctrl.render(), + (e.colorPickerModel.series.color = t); + }), + (e.openColorSelector = function (r) { + (e.colorPickerModel = { + autoClose: !0, + colorSelected: e.colorSelected, + series: { color: r }, + }), + n.show({ + element: t.find(".dropdown")[0], + position: "top center", + openOn: "click", + template: + '<series-color-picker-popover color="series.color" onColorChange="colorSelected" />', + classNames: "drop-popover drop-popover--transparent", + model: e.colorPickerModel, + onClose: function () { + e.ctrl.render(); + }, + }); + }), + (e.removeOverride = function (t) { + delete e.override[t.propertyName], + e.updateCurrentOverrides(), + e.ctrl.refresh(); + }), + (e.getSeriesNames = function () { + return j.a.map(e.ctrl.seriesList, function (e) { + return e.alias; + }); + }), + (e.updateCurrentOverrides = function () { + (e.currentOverrides = []), + j.a.each(e.overrideMenu, function (t) { + var n = e.override[t.propertyName]; + j.a.isUndefined(n) || + e.currentOverrides.push({ + name: t.text, + propertyName: t.propertyName, + value: String(n), + }); + }); + }), + e.addOverrideOption("Bars", "bars", [!0, !1]), + e.addOverrideOption("Lines", "lines", [!0, !1]), + e.addOverrideOption("Line fill", "fill", [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + ]), + e.addOverrideOption("Fill gradient", "fillGradient", [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + ]), + e.addOverrideOption("Line width", "linewidth", [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + ]), + e.addOverrideOption("Null point mode", "nullPointMode", [ + "connected", + "null", + "null as zero", + ]), + e.addOverrideOption( + "Fill below to", + "fillBelowTo", + e.getSeriesNames() + ), + e.addOverrideOption("Staircase line", "steppedLine", [!0, !1]), + e.addOverrideOption("Dashes", "dashes", [!0, !1]), + e.addOverrideOption("Hidden Series", "hiddenSeries", [!0, !1]), + e.addOverrideOption("Dash Length", "dashLength", [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ]), + e.addOverrideOption("Dash Space", "spaceLength", [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + ]), + e.addOverrideOption("Points", "points", [!0, !1]), + e.addOverrideOption("Points Radius", "pointradius", [1, 2, 3, 4, 5]), + e.addOverrideOption("Stack", "stack", [!0, !1, "A", "B", "C", "D"]), + e.addOverrideOption("Color", "color", ["change"]), + e.addOverrideOption("Y-axis", "yaxis", [1, 2]), + e.addOverrideOption("Z-index", "zindex", [-3, -2, -1, 0, 1, 2, 3]), + e.addOverrideOption("Transform", "transform", [ + "constant", + "negative-Y", + ]), + e.addOverrideOption("Legend", "legend", [!0, !1]), + e.addOverrideOption("Hide in tooltip", "hideTooltip", [!0, !1]), + e.updateCurrentOverrides(); + } + (Dn.$inject = ["$scope", "$element", "popoverSrv"]), + Tn.c.controller("SeriesOverridesCtrl", Dn); + var An = n("Zss7"), + _n = n.n(An); + function Nn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Mn = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panel = this.panelCtrl.panel), + this.panel.alert && (this.disabled = !0); + var r = t.$on("$destroy", function () { + (n.panelCtrl.editingThresholds = !1), n.panelCtrl.render(), r(); + }); + this.panelCtrl.editingThresholds = !0; + } + var t, n, r; + return ( + (e.$inject = ["$scope"]), + (t = e), + (n = [ + { + key: "addThreshold", + value: function () { + this.panel.thresholds.push({ + value: void 0, + colorMode: "critical", + op: "gt", + fill: !0, + line: !0, + yaxis: "left", + }), + this.panelCtrl.render(); + }, + }, + { + key: "removeThreshold", + value: function (e) { + this.panel.thresholds.splice(e, 1), this.panelCtrl.render(); + }, + }, + { + key: "render", + value: function () { + this.panelCtrl.render(); + }, + }, + { + key: "onFillColorChange", + value: function (e) { + var t = this; + return function (n) { + (t.panel.thresholds[e].fillColor = n), t.render(); + }; + }, + }, + { + key: "onLineColorChange", + value: function (e) { + var t = this; + return function (n) { + (t.panel.thresholds[e].lineColor = n), t.render(); + }; + }, + }, + { + key: "onThresholdTypeChange", + value: function (e) { + "custom" === this.panel.thresholds[e].colorMode && + ((this.panel.thresholds[e].fillColor = _n()( + z.b.theme.colors.blueBase + ) + .setAlpha(0.2) + .toRgbString()), + (this.panel.thresholds[e].lineColor = _n()( + z.b.theme.colors.blueShade + ) + .setAlpha(0.6) + .toRgbString())), + this.panelCtrl.render(); + }, + }, + ]) && Nn(t.prototype, n), + r && Nn(t, r), + e + ); + })(); + function In(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Tn.c.directive("graphThresholdForm", function () { + return { + restrict: "E", + templateUrl: "public/app/plugins/panel/graph/thresholds_form.html", + controller: Mn, + bindToController: !0, + controllerAs: "ctrl", + scope: { panelCtrl: "=" }, + }; + }); + var Rn = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panel = this.panelCtrl.panel); + var r = t.$on("$destroy", function () { + (n.panelCtrl.editingTimeRegions = !1), n.panelCtrl.render(), r(); + }); + (this.colorModes = j.a.map(Object.keys(Pt), function (e) { + return { key: e, value: Pt[e].title }; + })), + (this.panelCtrl.editingTimeRegions = !0); + } + var t, n, r; + return ( + (e.$inject = ["$scope"]), + (t = e), + (n = [ + { + key: "render", + value: function () { + this.panelCtrl.render(); + }, + }, + { + key: "addTimeRegion", + value: function () { + this.panel.timeRegions.push({ + op: "time", + fromDayOfWeek: void 0, + from: void 0, + toDayOfWeek: void 0, + to: void 0, + colorMode: "background6", + fill: !0, + line: !1, + fillColor: "rgba(234, 112, 112, 0.12)", + lineColor: "rgba(237, 46, 24, 0.60)", + }), + this.panelCtrl.render(); + }, + }, + { + key: "removeTimeRegion", + value: function (e) { + this.panel.timeRegions.splice(e, 1), this.panelCtrl.render(); + }, + }, + { + key: "onFillColorChange", + value: function (e) { + var t = this; + return function (n) { + (t.panel.timeRegions[e].fillColor = n), t.render(); + }; + }, + }, + { + key: "onLineColorChange", + value: function (e) { + var t = this; + return function (n) { + (t.panel.timeRegions[e].lineColor = n), t.render(); + }; + }, + }, + ]) && In(t.prototype, n), + r && In(t, r), + e + ); + })(); + Tn.c.directive("graphTimeRegionForm", function () { + return { + restrict: "E", + templateUrl: "public/app/plugins/panel/graph/time_regions_form.html", + controller: Rn, + bindToController: !0, + controllerAs: "ctrl", + scope: { panelCtrl: "=" }, + }; + }); + function Fn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Ln = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panel = t); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getSeriesList", + value: function (e) { + var t = [], + n = e.dataList, + r = e.range; + if (!n || !n.length) return t; + for (var a = 0; a < n.length; a++) { + var o = n[a], + i = Object(Q.getTimeField)(o).timeField; + if (i) + for ( + var l = o.name ? o.name : o.refId, s = 0; + s < o.fields.length; + s++ + ) { + var c = o.fields[s]; + if (c.type === Q.FieldType.number) { + var u = + c.config && c.config.title + ? c.config.title + : c.name; + l && n.length > 0 && u !== l && (u = l + " " + u); + for (var f = [], d = 0; d < o.length; d++) + f.push([c.values.get(d), i.values.get(d)]); + t.push(this.toTimeSeries(c, u, a, s, f, t.length, r)); + } + } + } + if ( + "histogram" === this.panel.xaxis.mode && + !this.panel.stack && + t.length > 1 + ) { + var p = t[0]; + p.alias = p.aliasEscaped = "Count"; + for (var h = 1; h < t.length; h++) + p.datapoints = p.datapoints.concat(t[h].datapoints); + return [p]; + } + return t; + }, + }, + { + key: "toTimeSeries", + value: function (e, t, n, r, a, o, i) { + var l = o % se.colors.length, + s = this.panel.aliasColors[t] || se.colors[l], + c = new H.a({ + datapoints: a || [], + alias: t, + color: Object(Q.getColorFromHexRgbOrName)( + s, + z.b.theme.type + ), + unit: e.config ? e.config.unit : void 0, + dataFrameIndex: n, + fieldIndex: r, + }); + return ( + a && + a.length > 0 && + i && + a[a.length - 1][1] - i.from.valueOf() < -1e4 && + (c.isOutsideRange = !0), + c + ); + }, + }, + { + key: "setPanelDefaultsForNewXAxisMode", + value: function () { + switch (this.panel.xaxis.mode) { + case "time": + (this.panel.bars = !1), + (this.panel.lines = !0), + (this.panel.points = !1), + (this.panel.legend.show = !0), + (this.panel.tooltip.shared = !0), + (this.panel.xaxis.values = []); + break; + case "series": + (this.panel.bars = !0), + (this.panel.lines = !1), + (this.panel.points = !1), + (this.panel.stack = !1), + (this.panel.legend.show = !1), + (this.panel.tooltip.shared = !1), + (this.panel.xaxis.values = ["total"]); + break; + case "histogram": + (this.panel.bars = !0), + (this.panel.lines = !1), + (this.panel.points = !1), + (this.panel.stack = !1), + (this.panel.legend.show = !1), + (this.panel.tooltip.shared = !1); + } + }, + }, + { + key: "validateXAxisSeriesValue", + value: function () { + switch (this.panel.xaxis.mode) { + case "series": + if (0 === this.panel.xaxis.values.length) + return void (this.panel.xaxis.values = ["total"]); + var e = this.getXAxisValueOptions({}); + return void ( + j.a.find(e, { value: this.panel.xaxis.values[0] }) || + (this.panel.xaxis.values = ["total"]) + ); + } + }, + }, + { + key: "getXAxisValueOptions", + value: function (e) { + switch (this.panel.xaxis.mode) { + case "series": + return [ + { text: "Avg", value: "avg" }, + { text: "Min", value: "min" }, + { text: "Max", value: "max" }, + { text: "Total", value: "total" }, + { text: "Count", value: "count" }, + ]; + } + return []; + }, + }, + { + key: "pluckDeep", + value: function (e, t) { + for (var n = t.split("."), r = e, a = 0; a < n.length; ++a) { + if (!r[n[a]]) return; + r = r[n[a]]; + } + return r; + }, + }, + ]) && Fn(t.prototype, n), + r && Fn(t, r), + e + ); + })(), + Vn = n("1gCF"); + function Bn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var $n = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + (this.$scope.ctrl = this), + (this.logScales = { + linear: 1, + "log (base 2)": 2, + "log (base 10)": 10, + "log (base 32)": 32, + "log (base 1024)": 1024, + }), + (this.xAxisModes = { + Time: "time", + Series: "series", + Histogram: "histogram", + }), + (this.xAxisStatOptions = [ + { text: "Avg", value: "avg" }, + { text: "Min", value: "min" }, + { text: "Max", value: "max" }, + { text: "Total", value: "total" }, + { text: "Count", value: "count" }, + { text: "Current", value: "current" }, + ]), + "custom" === this.panel.xaxis.mode && + (this.panel.xaxis.name || + (this.panel.xaxis.name = "specify field")), + (this.selectors = + Vn.a.pages.Dashboard.Panels.Visualization.Graph.VisualizationTab.selectors); + } + var t, n, r; + return ( + (e.$inject = ["$scope"]), + (t = e), + (n = [ + { + key: "setUnitFormat", + value: function (e) { + var t = this; + return function (n) { + (e.format = n), t.panelCtrl.render(); + }; + }, + }, + { + key: "render", + value: function () { + this.panelCtrl.render(); + }, + }, + { + key: "xAxisModeChanged", + value: function () { + this.panelCtrl.processor.setPanelDefaultsForNewXAxisMode(), + this.panelCtrl.onDataFramesReceived(this.panelCtrl.dataList); + }, + }, + { + key: "xAxisValueChanged", + value: function () { + this.panelCtrl.onDataFramesReceived(this.panelCtrl.dataList); + }, + }, + ]) && Bn(t.prototype, n), + r && Bn(t, r), + e + ); + })(); + function qn() { + return { + restrict: "E", + scope: !0, + templateUrl: "public/app/plugins/panel/graph/axes_editor.html", + controller: $n, + }; + } + var Un = n("kHZm"); + var zn = function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.onClose = function () { + n.scrollContextElement && + n.scrollContextElement.removeEventListener("scroll", n.onClose), + n.scope.$apply(function () { + n.isVisible = !1; + }); + }), + (this.toggleMenu = function (e) { + (n.isVisible = !n.isVisible), + n.isVisible && + n.scrollContextElement && + n.scrollContextElement.addEventListener("scroll", n.onClose), + n.source + ? (n.position = { x: n.source.pageX, y: n.source.pageY }) + : (n.position = { x: e ? e.pageX : 0, y: e ? e.pageY : 0 }); + }), + (this.setScrollContextElement = function (e) { + n.scrollContextElement = e; + }), + (this.setSource = function (e) { + n.source = e; + }), + (this.getSource = function () { + return n.source; + }), + (this.setMenuItemsSupplier = function (e) { + n.menuItemsSupplier = e; + }), + (this.isVisible = !1), + (this.scope = t); + }, + Hn = n("GkHB"); + function Gn(e) { + return (Gn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Wn(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Qn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Yn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Kn(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function Jn(e, t, n) { + return (Jn = + "undefined" != typeof Reflect && Reflect.get + ? Reflect.get + : function (e, t, n) { + var r = (function (e, t) { + for ( + ; + !Object.prototype.hasOwnProperty.call(e, t) && + null !== (e = Zn(e)); + + ); + return e; + })(e, t); + if (r) { + var a = Object.getOwnPropertyDescriptor(r, t); + return a.get ? a.get.call(n) : a.value; + } + })(e, t, n || e); + } + function Zn(e) { + return (Zn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Xn(e, t) { + return (Xn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var er = (function (e) { + function t(e, n, r) { + var a, o, i; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (o = this), + (i = Zn(t).call(this, e, n)), + ((a = + !i || ("object" !== Gn(i) && "function" != typeof i) + ? Kn(o) + : i).annotationsSrv = r), + (a.hiddenSeries = {}), + (a.hiddenSeriesTainted = !1), + (a.seriesList = []), + (a.dataList = []), + (a.annotations = []), + (a.colors = []), + (a.linkVariableSuggestions = []), + (a.panelDefaults = { + datasource: null, + renderer: "flot", + yaxes: [ + { + label: null, + show: !0, + logBase: 1, + min: null, + max: null, + format: "short", + }, + { + label: null, + show: !0, + logBase: 1, + min: null, + max: null, + format: "short", + }, + ], + xaxis: { + show: !0, + mode: "time", + name: null, + values: [], + buckets: null, + }, + yaxis: { align: !1, alignLevel: null }, + lines: !0, + fill: 1, + fillGradient: 0, + linewidth: 1, + dashes: !1, + hiddenSeries: !1, + dashLength: 10, + spaceLength: 10, + points: !1, + pointradius: 2, + bars: !1, + stack: !1, + percentage: !1, + legend: { + show: !0, + values: !1, + min: !1, + max: !1, + current: !1, + total: !1, + avg: !1, + }, + nullPointMode: "null", + steppedLine: !1, + tooltip: { value_type: "individual", shared: !0, sort: 0 }, + timeFrom: null, + timeShift: null, + targets: [{}], + aliasColors: {}, + seriesOverrides: [], + thresholds: [], + timeRegions: [], + options: { dataLinks: [] }, + }), + (a.onColorChange = function (e, t) { + e.setColor(Object(Q.getColorFromHexRgbOrName)(t, z.b.theme.type)), + (a.panel.aliasColors[e.alias] = t), + a.render(); + }), + (a.onToggleSeries = function (e) { + (a.hiddenSeriesTainted = !0), (a.hiddenSeries = e), a.render(); + }), + (a.onToggleSort = function (e, t) { + (a.panel.legend.sort = e), + (a.panel.legend.sortDesc = t), + a.render(); + }), + (a.onToggleAxis = function (e) { + var t = j.a.find(a.panel.seriesOverrides, { alias: e.alias }); + t || ((t = { alias: e.alias }), a.panel.seriesOverrides.push(t)), + (t.yaxis = e.yaxis), + a.render(); + }), + (a.onContextMenuClose = function () { + a.contextMenuCtrl.toggleMenu(); + }), + (a.formatDate = function (e, t) { + return a.dashboard.formatDate.apply(a.dashboard, [e, t]); + }), + (a.getDataFrameByRefId = function (e) { + return a.dataList.filter(function (t) { + return t.refId === e; + })[0]; + }), + j.a.defaults(a.panel, a.panelDefaults), + j.a.defaults(a.panel.tooltip, a.panelDefaults.tooltip), + j.a.defaults(a.panel.legend, a.panelDefaults.legend), + j.a.defaults(a.panel.xaxis, a.panelDefaults.xaxis), + j.a.defaults(a.panel.options, a.panelDefaults.options), + (a.useDataFrames = !0), + (a.processor = new Ln(a.panel)), + (a.contextMenuCtrl = new zn(e)), + a.events.on(Q.PanelEvents.render, a.onRender.bind(Kn(a))), + a.events.on( + wt.CoreEvents.dataFramesReceived, + a.onDataFramesReceived.bind(Kn(a)) + ), + a.events.on( + Q.PanelEvents.dataSnapshotLoad, + a.onDataSnapshotLoad.bind(Kn(a)) + ), + a.events.on( + Q.PanelEvents.editModeInitialized, + a.onInitEditMode.bind(Kn(a)) + ), + a.events.on( + Q.PanelEvents.initPanelActions, + a.onInitPanelActions.bind(Kn(a)) + ), + (a.onDataLinksChange = a.onDataLinksChange.bind(Kn(a))), + (a.annotationsPromise = Promise.resolve({ annotations: [] })), + a + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector", "annotationsSrv"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Xn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + this.addEditorTab( + "Display options", + "public/app/plugins/panel/graph/tab_display.html" + ), + this.addEditorTab("Axes", qn), + this.addEditorTab( + "Legend", + "public/app/plugins/panel/graph/tab_legend.html" + ), + this.addEditorTab( + "Thresholds & Time Regions", + "public/app/plugins/panel/graph/tab_thresholds_time_regions.html" + ), + this.addEditorTab( + "Data links", + "public/app/plugins/panel/graph/tab_drilldown_links.html" + ), + (this.subTabIndex = 0), + (this.hiddenSeriesTainted = !1); + }, + }, + { + key: "onInitPanelActions", + value: function (e) { + e.push({ text: "Export CSV", click: "ctrl.exportCsv()" }), + e.push({ + text: "Toggle legend", + click: "ctrl.toggleLegend()", + shortcut: "p l", + }); + }, + }, + { + key: "issueQueries", + value: function (e) { + var n = this; + return ( + (this.annotationsPromise = this.annotationsSrv.getAnnotations( + { + dashboard: this.dashboard, + panel: this.panel, + range: this.range, + } + )), + this.annotationsSrv.datasourcePromises.then(function (r) { + return Jn(Zn(t.prototype), "issueQueries", n).call(n, e); + }) + ); + }, + }, + { + key: "zoomOut", + value: function (e) { + this.publishAppEvent(wt.CoreEvents.zoomOut, 2); + }, + }, + { + key: "onDataSnapshotLoad", + value: function (e) { + this.annotationsPromise = this.annotationsSrv.getAnnotations({ + dashboard: this.dashboard, + panel: this.panel, + range: this.range, + }); + var t = Object(Un.a)(e); + this.onDataFramesReceived(t); + }, + }, + { + key: "onDataFramesReceived", + value: function (e) { + var t = this; + if ( + ((this.dataList = e), + (this.seriesList = this.processor.getSeriesList({ + dataList: this.dataList, + range: this.range, + })), + (this.linkVariableSuggestions = Object(Hn.b)(e)), + (this.dataWarning = null), + 0 === + this.seriesList.reduce(function (e, t) { + return e + t.datapoints.length; + }, 0)) + ) + this.dataWarning = { + title: "No data", + tip: "No data returned from query", + }; + else { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = this.seriesList[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) + if (o.value.isOutsideRange) { + this.dataWarning = { + title: "Data outside time range", + tip: + "Can be caused by timezone mismatch or missing time filter in query", + }; + break; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + } + this.annotationsPromise.then( + function (e) { + (t.loading = !1), + (t.alertState = e.alertState), + (t.annotations = e.annotations), + t.alertState && + (t.seriesList.alertState = t.alertState.state), + t.render(t.seriesList); + }, + function () { + (t.loading = !1), t.render(t.seriesList); + } + ); + }, + }, + { + key: "onRender", + value: function () { + if (this.seriesList) { + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.seriesList[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) { + var o = r.value; + o.applySeriesOverrides(this.panel.seriesOverrides), + o.unit && + (this.panel.yaxes[o.yaxis - 1].format = o.unit), + !1 === this.hiddenSeriesTainted && + !0 === o.hiddenSeries && + (this.hiddenSeries[o.alias] = !0); + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + } + }, + }, + { + key: "onDataLinksChange", + value: function (e) { + this.panel.updateOptions( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Wn(Object(n), !0).forEach(function (t) { + Qn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Wn(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, this.panel.options, { dataLinks: e }) + ); + }, + }, + { + key: "addSeriesOverride", + value: function (e) { + this.panel.seriesOverrides.push(e || {}); + }, + }, + { + key: "removeSeriesOverride", + value: function (e) { + (this.panel.seriesOverrides = j.a.without( + this.panel.seriesOverrides, + e + )), + this.render(); + }, + }, + { + key: "toggleLegend", + value: function () { + (this.panel.legend.show = !this.panel.legend.show), + this.render(); + }, + }, + { + key: "legendValuesOptionChanged", + value: function () { + var e = this.panel.legend; + (e.values = e.min || e.max || e.avg || e.current || e.total), + this.render(); + }, + }, + { + key: "exportCsv", + value: function () { + var e = this, + t = this.$scope.$new(!0); + (t.seriesList = this.seriesList + .filter(function (t) { + return !e.panel.legend.hideEmpty || !t.allIsNull; + }) + .filter(function (t) { + return !e.panel.legend.hideZero || !t.allIsZero; + })), + this.publishAppEvent(wt.CoreEvents.showModal, { + templateHtml: + '<export-data-modal data="seriesList"></export-data-modal>', + scope: t, + modalClass: "modal--narrow", + }); + }, + }, + ]) && Yn(n.prototype, r), + a && Yn(n, a), + t + ); + })(S.MetricsPanelCtrl); + function tr(e) { + return (tr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function nr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function rr(e) { + return (rr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ar(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function or(e, t) { + return (or = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + er.template = + '\n<div class="graph-panel" ng-class="{\'graph-panel--legend-right\': ctrl.panel.legend.rightSide}">\n <div class="graph-panel__chart" grafana-graph ng-dblclick="ctrl.zoomOut()">\n </div>\n\n <div class="graph-legend">\n <div class="graph-legend-content" graph-legend></div>\n </div>\n <div ng-if="ctrl.contextMenuCtrl.isVisible">\n <graph-context-menu\n items="ctrl.contextMenuCtrl.menuItemsSupplier()"\n onClose="ctrl.onContextMenuClose"\n getContextMenuSource="ctrl.contextMenuCtrl.getSource"\n formatSourceDate="ctrl.formatDate"\n x="ctrl.contextMenuCtrl.position.x"\n y="ctrl.contextMenuCtrl.position.y"\n ></graph-context-menu>\n </div>\n</div>\n'; + var ir = (function (e) { + function t(e, n, r) { + var a, o, i; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (o = this), + (i = rr(t).call(this, e, n)), + ((a = + !i || ("object" !== tr(i) && "function" != typeof i) + ? ar(o) + : i).dashboardSrv = r), + (a.panelDefaults = { + query: "", + limit: 10, + tags: [], + recent: !1, + search: !1, + starred: !0, + headings: !0, + folderId: null, + }), + (a.onFolderChange = function (e) { + (a.panel.folderId = e.id), a.refresh(); + }), + j.a.defaults(a.panel, a.panelDefaults), + a.panel.tag && ((a.panel.tags = [a.panel.tag]), delete a.panel.tag), + a.events.on(Q.PanelEvents.refresh, a.onRefresh.bind(ar(a))), + a.events.on( + Q.PanelEvents.editModeInitialized, + a.onInitEditMode.bind(ar(a)) + ), + (a.groups = [ + { list: [], show: !1, header: "Starred dashboards" }, + { list: [], show: !1, header: "Recently viewed dashboards" }, + { list: [], show: !1, header: "Search" }, + ]), + a.panel.mode && + ("starred" === a.panel.mode && + ((a.panel.starred = !0), (a.panel.headings = !1)), + "recently viewed" === a.panel.mode && + ((a.panel.recent = !0), + (a.panel.starred = !1), + (a.panel.headings = !1)), + "search" === a.panel.mode && + ((a.panel.search = !0), + (a.panel.starred = !1), + (a.panel.headings = !1)), + delete a.panel.mode), + a + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector", "dashboardSrv"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && or(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + (this.modes = ["starred", "search", "recently viewed"]), + this.addEditorTab( + "Options", + "public/app/plugins/panel/dashlist/editor.html" + ); + }, + }, + { + key: "onRefresh", + value: function () { + var e = []; + return ( + e.push(this.getRecentDashboards()), + e.push(this.getStarred()), + e.push(this.getSearch()), + Promise.all(e).then(this.renderingCompleted.bind(this)) + ); + }, + }, + { + key: "getSearch", + value: function () { + var e = this; + if ( + ((this.groups[2].show = this.panel.search), + !this.panel.search) + ) + return Promise.resolve(); + var t = { + limit: this.panel.limit, + query: this.panel.query, + tag: this.panel.tags, + folderIds: this.panel.folderId, + type: "dash-db", + }; + return Object(X.a)(this.$scope)( + Z.b.search(t).then(function (t) { + e.groups[2].list = t; + }) + ); + }, + }, + { + key: "getStarred", + value: function () { + var e = this; + if ( + ((this.groups[0].show = this.panel.starred), + !this.panel.starred) + ) + return Promise.resolve(); + var t = { limit: this.panel.limit, starred: "true" }; + return Object(X.a)(this.$scope)( + Z.b.search(t).then(function (t) { + e.groups[0].list = t; + }) + ); + }, + }, + { + key: "starDashboard", + value: function (e, t) { + this.dashboardSrv + .starDashboard(e.id, e.isStarred) + .then(function (t) { + e.isStarred = t; + }), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + { + key: "getRecentDashboards", + value: function () { + var e = this; + if ( + ((this.groups[1].show = this.panel.recent), + !this.panel.recent) + ) + return Promise.resolve(); + var t = j.a.take(ee.a.getDashboardOpened(), this.panel.limit); + return Object(X.a)(this.$scope)( + Z.b + .search({ dashboardIds: t, limit: this.panel.limit }) + .then(function (n) { + e.groups[1].list = t + .map(function (e) { + return j.a.find(n, function (t) { + return t.id === e; + }); + }) + .filter(function (e) { + return void 0 !== e; + }); + }) + ); + }, + }, + ]) && nr(n.prototype, r), + a && nr(n, a), + t + ); + })(S.PanelCtrl); + (ir.templateUrl = "module.html"), (ir.scrollable = !0); + var lr = n("AVRW"), + sr = n("t8hP"); + function cr(e) { + return (cr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ur(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function fr(e) { + return (fr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function dr(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function pr(e, t) { + return (pr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var hr = (function (e) { + function t(e, n, r) { + var a, o, i; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (o = this), + ((a = + !(i = fr(t).call(this, e, n)) || + ("object" !== cr(i) && "function" != typeof i) + ? dr(o) + : i).panelDefaults = {}), + j.a.defaults(a.panel, a.panelDefaults), + (a.isAdmin = r.hasRole("Admin")), + a.events.on( + Q.PanelEvents.editModeInitialized, + a.onInitEditMode.bind(dr(a)) + ), + (a.pluginList = []), + (a.viewModel = [ + { header: "Installed Apps", list: [], type: "app" }, + { header: "Installed Panels", list: [], type: "panel" }, + { header: "Installed Datasources", list: [], type: "datasource" }, + ]), + a.update(), + a + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector", "contextSrv"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && pr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + this.addEditorTab( + "Options", + "public/app/plugins/panel/pluginlist/editor.html" + ); + }, + }, + { + key: "gotoPlugin", + value: function (e, t) { + t && t.stopPropagation(), + this.$location.url("plugins/".concat(e.id, "/edit")); + }, + }, + { + key: "updateAvailable", + value: function (e, t) { + t.stopPropagation(), t.preventDefault(); + var n = this.$scope.$new(!0); + (n.plugin = e), + this.publishAppEvent(wt.CoreEvents.showModal, { + src: + "public/app/features/plugins/partials/update_instructions.html", + scope: n, + }); + }, + }, + { + key: "update", + value: function () { + var e = this; + Object(X.a)(this.$scope)( + Object(sr.getBackendSrv)() + .get("api/plugins", { embedded: 0, core: 0 }) + .then(function (t) { + (e.pluginList = t), + (e.viewModel[0].list = j.a.filter(t, { type: "app" })), + (e.viewModel[1].list = j.a.filter(t, { + type: "panel", + })), + (e.viewModel[2].list = j.a.filter(t, { + type: "datasource", + })); + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e.pluginList[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + l.hasUpdate + ? (l.state = "has-update") + : l.enabled || (l.state = "not-enabled"); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + }) + ); + }, + }, + ]) && ur(n.prototype, r), + a && ur(n, a), + t + ); + })(lr.a); + (hr.templateUrl = "module.html"), (hr.scrollable = !0); + var mr = n("3ulR"); + function gr(e) { + return (gr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function br(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function vr(e) { + return (vr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function yr(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function wr(e, t) { + return (wr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Or = (function (e) { + function t(e, n) { + var r, a, o; + for (var i in ((function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (a = this), + (o = vr(t).call(this, e, n)), + ((r = + !o || ("object" !== gr(o) && "function" != typeof o) + ? yr(a) + : o).showOptions = [ + { text: "Current state", value: "current" }, + { text: "Recent state changes", value: "changes" }, + ]), + (r.sortOrderOptions = [ + { text: "Alphabetical (asc)", value: 1 }, + { text: "Alphabetical (desc)", value: 2 }, + { text: "Importance", value: 3 }, + ]), + (r.stateFilter = {}), + (r.currentAlerts = []), + (r.alertHistory = []), + (r.panelDefaults = { + show: "current", + limit: 10, + stateFilter: [], + onlyAlertsOnDashboard: !1, + sortOrder: 1, + dashboardFilter: "", + nameFilter: "", + folderId: null, + }), + (r.onFolderChange = function (e) { + (r.panel.folderId = e.id), r.refresh(); + }), + j.a.defaults(r.panel, r.panelDefaults), + r.events.on( + Q.PanelEvents.editModeInitialized, + r.onInitEditMode.bind(yr(r)) + ), + r.events.on(Q.PanelEvents.refresh, r.onRefresh.bind(yr(r))), + (r.templateSrv = r.$injector.get("templateSrv")), + r.panel.stateFilter)) + r.stateFilter[r.panel.stateFilter[i]] = !0; + return r; + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && wr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "sortResult", + value: function (e) { + if (3 === this.panel.sortOrder) + return j.a.sortBy(e, function (e) { + return mr.a.alertStateSortScore[e.state]; + }); + var t = j.a.sortBy(e, function (e) { + return e.name.toLowerCase(); + }); + return 2 === this.panel.sortOrder && t.reverse(), t; + }, + }, + { + key: "updateStateFilter", + value: function () { + var e = []; + for (var t in this.stateFilter) + this.stateFilter[t] && e.push(t); + (this.panel.stateFilter = e), this.onRefresh(); + }, + }, + { + key: "onRefresh", + value: function () { + var e, + t = this; + "current" === this.panel.show && + (e = this.getCurrentAlertState()), + "changes" === this.panel.show && (e = this.getStateChanges()), + e.then(function () { + t.renderingCompleted(); + }); + }, + }, + { + key: "getStateChanges", + value: function () { + var e = this, + t = { + limit: this.panel.limit, + type: "alert", + newState: this.panel.stateFilter, + }; + return ( + this.panel.onlyAlertsOnDashboard && + (t.dashboardId = this.dashboard.id), + (t.from = + 1e3 * Q.dateMath.parse(this.dashboard.time.from).unix()), + (t.to = + 1e3 * Q.dateMath.parse(this.dashboard.time.to).unix()), + Object(X.a)(this.$scope)( + Object(sr.getBackendSrv)() + .get( + "/api/annotations", + t, + "alert-list-get-state-changes-".concat(this.panel.id) + ) + .then(function (t) { + return ( + (e.alertHistory = j.a.map(t, function (t) { + return ( + (t.time = e.dashboard.formatDate( + t.time, + "MMM D, YYYY HH:mm:ss" + )), + (t.stateModel = mr.a.getStateDisplayModel( + t.newState + )), + (t.info = mr.a.getAlertAnnotationInfo(t)), + t + ); + })), + (e.noAlertsMessage = + 0 === e.alertHistory.length + ? "No alerts in current time range" + : ""), + e.alertHistory + ); + }) + ) + ); + }, + }, + { + key: "getCurrentAlertState", + value: function () { + var e = this, + t = { state: this.panel.stateFilter }; + return ( + this.panel.nameFilter && + (t.query = this.templateSrv.replace( + this.panel.nameFilter, + this.panel.scopedVars + )), + this.panel.folderId >= 0 && + (t.folderId = this.panel.folderId), + this.panel.dashboardFilter && + (t.dashboardQuery = this.panel.dashboardFilter), + this.panel.onlyAlertsOnDashboard && + (t.dashboardId = this.dashboard.id), + this.panel.dashboardTags && + (t.dashboardTag = this.panel.dashboardTags), + Object(X.a)(this.$scope)( + Object(sr.getBackendSrv)() + .get( + "/api/alerts", + t, + "alert-list-get-current-alert-state-".concat( + this.panel.id + ) + ) + .then(function (t) { + return ( + (e.currentAlerts = e.sortResult( + j.a.map(t, function (e) { + return ( + (e.stateModel = mr.a.getStateDisplayModel( + e.state + )), + (e.newStateDateAgo = Object(Q.dateTime)( + e.newStateDate + ) + .locale("en") + .fromNow(!0)), + e + ); + }) + )), + e.currentAlerts.length > e.panel.limit && + (e.currentAlerts = e.currentAlerts.slice( + 0, + e.panel.limit + )), + (e.noAlertsMessage = + 0 === e.currentAlerts.length ? "No alerts" : ""), + e.currentAlerts + ); + }) + ) + ); + }, + }, + { + key: "onInitEditMode", + value: function () { + this.addEditorTab( + "Options", + "public/app/plugins/panel/alertlist/editor.html" + ); + }, + }, + ]) && br(n.prototype, r), + a && br(n, a), + t + ); + })(S.PanelCtrl); + (Or.templateUrl = "module.html"), (Or.scrollable = !0); + var xr = n("lonE"), + kr = n("rCnR"), + jr = n("p+Sq"), + Sr = n("Xmxp"), + Er = n("3SGO"), + Cr = n("iODs"), + Pr = n("kDDq"); + function Tr(e) { + return (Tr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Dr(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Ar() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-right: 8px;\n "]); + return ( + (Ar = function () { + return e; + }), + e + ); + } + function _r(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Nr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Mr(e, t) { + return !t || ("object" !== Tr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ir(e) { + return (Ir = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Rr(e, t) { + return (Rr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Fr = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Mr(this, Ir(t).call(this, e))).onAnnoClick = function (e, t) { + e.stopPropagation(); + var r = n.props.options, + a = Object(jr.a)().getCurrent(), + o = { + from: n._timeOffset(t.time, r.navigateBefore, !0), + to: n._timeOffset(t.time, r.navigateAfter, !1), + }; + r.navigateToPanel && + ((o.panelId = t.panelId), (o.fullscreen = !0)), + a.id !== t.dashboardId + ? Object(sr.getBackendSrv)() + .get("/api/search", { dashboardIds: t.dashboardId }) + .then(function (e) { + if (e && e.length && e[0].id === t.dashboardId) { + var n = e[0]; + Cr.d.dispatch( + Object(Er.c)({ query: o, path: n.url }) + ); + } else Sr.b.emit(Q.AppEvents.alertWarning, ["Unknown Dashboard: " + t.dashboardId]); + }) + : Cr.d.dispatch(Object(Er.c)({ query: o, partial: !0 })); + }), + (n.onTagClick = function (e, t, r) { + e.stopPropagation(); + var a = r + ? n.state.queryTags.filter(function (e) { + return e !== t; + }) + : [].concat(_r(n.state.queryTags), [t]); + n.setState({ queryTags: a }); + }), + (n.onUserClick = function (e, t) { + e.stopPropagation(), + n.setState({ + queryUser: { id: t.userId, login: t.login, email: t.email }, + }); + }), + (n.onClearUser = function () { + n.setState({ queryUser: void 0 }); + }), + (n.renderTags = function (e, t) { + return e && e.length + ? V.a.createElement( + V.a.Fragment, + null, + e.map(function (e) { + return V.a.createElement( + "span", + { + key: e, + onClick: function (r) { + return n.onTagClick(r, e, t); + }, + className: "pointer", + }, + V.a.createElement(kr.a, { + label: e, + removeIcon: t, + count: 0, + }) + ); + }) + ) + : null; + }), + (n.renderItem = function (e, t) { + var r = n.props.options, + a = r.showUser, + o = r.showTags, + i = r.showTime, + l = Object(jr.a)().getCurrent(); + return V.a.createElement( + "div", + { className: "dashlist-item" }, + V.a.createElement( + "span", + { + className: "dashlist-link pointer", + onClick: function (t) { + n.onAnnoClick(t, e); + }, + }, + V.a.createElement( + "span", + { + className: Object(Pr.cx)([ + "dashlist-title", + Object(Pr.css)(Ar()), + ]), + }, + e.text + ), + V.a.createElement( + "span", + { className: "pluginlist-message" }, + e.login && + a && + V.a.createElement( + "span", + { className: "graph-annotation" }, + V.a.createElement( + se.Tooltip, + { + content: V.a.createElement( + "span", + null, + "Created by:", + V.a.createElement("br", null), + " ", + e.email + ), + theme: "info", + placement: "top", + }, + V.a.createElement( + "span", + { + onClick: function (t) { + return n.onUserClick(t, e); + }, + className: "graph-annotation__user", + }, + V.a.createElement("img", { src: e.avatarUrl }) + ) + ) + ), + o && n.renderTags(e.tags, !1) + ), + V.a.createElement( + "span", + { className: "pluginlist-version" }, + i && V.a.createElement("span", null, l.formatDate(e.time)) + ) + ) + ); + }), + (n.state = { + annotations: [], + timeInfo: "", + loaded: !1, + queryTags: [], + }), + n + ); + } + var n, r, a, o, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Rr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.doSearch(); + }, + }, + { + key: "componentDidUpdate", + value: function (e, t) { + var n = this.props, + r = n.options, + a = n.timeRange; + (r !== e.options || + this.state.queryTags !== t.queryTags || + this.state.queryUser !== t.queryUser || + a !== e.timeRange) && + this.doSearch(); + }, + }, + { + key: "doSearch", + value: + ((o = regeneratorRuntime.mark(function e() { + var t, n, r, a, o, i, l, s; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props.options), + (n = this.state), + (r = n.queryUser), + (a = n.queryTags), + (o = { + tags: t.tags, + limit: t.limit, + type: "annotation", + }), + t.onlyFromThisDashboard && + (o.dashboardId = Object( + jr.a + )().getCurrent().id), + (i = ""), + t.onlyInTimeRange + ? ((l = this.props.timeRange), + (o.from = l.from.valueOf()), + (o.to = l.to.valueOf())) + : (i = "All Time"), + r && (o.userId = r.id), + t.tags && t.tags.length && (o.tags = t.tags), + a.length && + (o.tags = o.tags + ? [].concat(_r(o.tags), _r(a)) + : a), + (e.next = 11), + Object(sr.getBackendSrv)().get( + "/api/annotations", + o, + "anno-list-panel-".concat(this.props.id) + ) + ); + case 11: + (s = e.sent), + this.setState({ + annotations: s, + timeInfo: i, + loaded: !0, + }); + case 13: + case "end": + return e.stop(); + } + }, + e, + this + ); + })), + (i = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = o.apply(e, t); + function i(e) { + Dr(a, n, r, i, l, "next", e); + } + function l(e) { + Dr(a, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function () { + return i.apply(this, arguments); + }), + }, + { + key: "_timeOffset", + value: function (e, t) { + var n = + arguments.length > 2 && + void 0 !== arguments[2] && + arguments[2], + r = 5, + a = "m", + o = /^(\d+)(\w)/.exec(t); + o && 3 === o.length && ((r = parseInt(o[1], 10)), (a = o[2])); + var i = Object(Q.dateTime)(e); + return n && (r *= -1), i.add(r, a).valueOf(); + }, + }, + { + key: "render", + value: function () { + var e = this.props.height, + t = this.state, + n = t.loaded, + r = t.annotations, + a = t.queryUser, + o = t.queryTags; + if (!n) return V.a.createElement("div", null, "loading..."); + var i = a || o.length > 0; + return V.a.createElement( + "div", + { style: { height: e, overflow: "scroll" } }, + i && + V.a.createElement( + "div", + null, + V.a.createElement("b", null, "Filter: "), + a && + V.a.createElement( + "span", + { onClick: this.onClearUser, className: "pointer" }, + a.email + ), + o.length > 0 && this.renderTags(o, !0) + ), + r.length < 1 && + V.a.createElement( + "div", + { className: "panel-alert-list__no-alerts" }, + "No Annotations Found" + ), + V.a.createElement(xr.a, { + items: r, + renderItem: this.renderItem, + getItemKey: function (e) { + return e.id + ""; + }, + className: "dashlist", + }) + ); + }, + }, + ]) && Nr(n.prototype, r), + a && Nr(n, a), + t + ); + })(L.PureComponent); + function Lr(e) { + return (Lr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Vr(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Br(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function $r(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Br(Object(n), !0).forEach(function (t) { + qr(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Br(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function qr(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Ur(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function zr(e, t) { + return !t || ("object" !== Lr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Hr(e) { + return (Hr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Gr(e, t) { + return (Gr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Wr = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = zr( + this, + Hr(t).call(this, e) + )).onToggleShowUser = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + showUser: !n.props.options.showUser, + }) + ); + }), + (n.onToggleShowTime = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + showTime: !n.props.options.showTime, + }) + ); + }), + (n.onToggleShowTags = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + showTags: !n.props.options.showTags, + }) + ); + }), + (n.onNavigateBeforeChange = function (e) { + n.props.onOptionsChange( + $r({}, n.props.options, { navigateBefore: e.target.value }) + ); + }), + (n.onNavigateAfterChange = function (e) { + n.props.onOptionsChange( + $r({}, n.props.options, { navigateAfter: e.target.value }) + ); + }), + (n.onToggleNavigateToPanel = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + navigateToPanel: !n.props.options.navigateToPanel, + }) + ); + }), + (n.onLimitChange = function (e) { + var t = Object(Q.toIntegerOrUndefined)(e.target.value); + n.props.onOptionsChange($r({}, n.props.options, { limit: t })); + }), + (n.onToggleOnlyFromThisDashboard = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + onlyFromThisDashboard: !n.props.options + .onlyFromThisDashboard, + }) + ); + }), + (n.onToggleOnlyInTimeRange = function () { + return n.props.onOptionsChange( + $r({}, n.props.options, { + onlyInTimeRange: !n.props.options.onlyInTimeRange, + }) + ); + }), + (n.onTagTextChange = function (e) { + n.setState({ tag: e.target.value }); + }), + (n.onTagClick = function (e, t) { + e.stopPropagation(); + var r = n.props.options.tags.filter(function (e) { + return e !== t; + }); + n.props.onOptionsChange($r({}, n.props.options, { tags: r })); + }), + (n.renderTags = function (e) { + return e && e.length + ? V.a.createElement( + V.a.Fragment, + null, + e.map(function (e) { + return V.a.createElement( + "span", + { + key: e, + onClick: function (t) { + return n.onTagClick(t, e); + }, + className: "pointer", + }, + V.a.createElement(kr.a, { + label: e, + removeIcon: !0, + count: 0, + }) + ); + }) + ) + : null; + }), + (n.state = { tag: "" }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Gr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.props.options; + return V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Display" }, + V.a.createElement(se.Switch, { + label: "Show User", + labelClass: "width-".concat(8), + checked: t.showUser, + onChange: this.onToggleShowUser, + }), + V.a.createElement(se.Switch, { + label: "Show Time", + labelClass: "width-".concat(8), + checked: t.showTime, + onChange: this.onToggleShowTime, + }), + V.a.createElement(se.Switch, { + label: "Show Tags", + labelClass: "width-".concat(8), + checked: t.showTags, + onChange: this.onToggleShowTags, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Navigate" }, + V.a.createElement(se.FormField, { + label: "Before", + labelWidth: 8, + onChange: this.onNavigateBeforeChange, + value: t.navigateBefore, + }), + V.a.createElement(se.FormField, { + label: "After", + labelWidth: 8, + onChange: this.onNavigateAfterChange, + value: t.navigateAfter, + }), + V.a.createElement(se.Switch, { + label: "To Panel", + labelClass: "width-".concat(8), + checked: t.navigateToPanel, + onChange: this.onToggleNavigateToPanel, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Search" }, + V.a.createElement(se.Switch, { + label: "Only This Dashboard", + labelClass: "width-12", + checked: t.onlyFromThisDashboard, + onChange: this.onToggleOnlyFromThisDashboard, + }), + V.a.createElement(se.Switch, { + label: "Within Time Range", + labelClass: "width-12", + checked: t.onlyInTimeRange, + onChange: this.onToggleOnlyInTimeRange, + }), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement(se.FormLabel, { width: 6 }, "Tags"), + this.renderTags(t.tags), + V.a.createElement("input", { + type: "text", + className: "gf-form-input width-".concat(8), + value: this.state.tag, + onChange: this.onTagTextChange, + onKeyPress: function (n) { + if (e.state.tag && "Enter" === n.key) { + var r = [].concat(Vr(t.tags), [e.state.tag]); + e.props.onOptionsChange( + $r({}, e.props.options, { tags: r }) + ), + e.setState({ tag: "" }), + n.preventDefault(); + } + }, + }) + ), + V.a.createElement(se.FormField, { + label: "Limit", + labelWidth: 6, + onChange: this.onLimitChange, + value: Object(Q.toNumberString)(t.limit), + type: "number", + }) + ) + ); + }, + }, + ]) && Ur(n.prototype, r), + a && Ur(n, a), + t + ); + })(L.PureComponent), + Qr = new Q.PanelPlugin(Fr) + .setDefaults({ + limit: 10, + tags: [], + onlyFromThisDashboard: !1, + onlyInTimeRange: !1, + showTags: !0, + showUser: !0, + showTime: !0, + navigateBefore: "10m", + navigateAfter: "10m", + navigateToPanel: !0, + }) + .setEditor(Wr) + .setPanelChangeHandler(function (e, t, n) { + return "ryantxu-annolist-panel" === t ? n : e; + }), + Yr = n("VphZ"), + Kr = n("oetV"); + function Jr(e, t, n) { + var r = + arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, + a = Kr[e.value], + o = "always" === e.invert || e.invert === (t ? "light" : "dark"), + i = o ? n : r, + l = o ? r : n; + return Yr.scaleSequential(a).domain([i, l]); + } + function Zr(e, t) { + var n, + r = + arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0; + return ( + "linear" === e.colorScale + ? (n = Yr.scaleLinear().domain([r, t]).range([0, 1])) + : "sqrt" === e.colorScale && + (n = Yr.scalePow() + .exponent(e.exponent) + .domain([r, t]) + .range([0, 1])), + n + ); + } + function Xr(e, t, n, r, a, o, i) { + var l = _()(e).find("svg"), + s = Yr.select(l.get(0)); + if (!(o <= 0 || 0 === l.get(0).childNodes.length)) { + var c = Yr.scaleLinear().domain([t, n]).range([0, o]), + u = (function (e, t, n, r) { + for ( + var a = t - e, + o = Object(J.tickStep)(e, t, 3), + i = Math.ceil(a / o), + l = (function (e, t) { + if (e < 0) return Math.floor(e / t) * t; + return 0; + })(e, o), + s = [], + c = 0; + c < i; + c++ + ) { + var u = l + o * c; + ta(r, u, o) + ? s.push(r) + : (r < u && s.push(r), + ta(n, u, o) ? s.push(n) : (n < u && s.push(n), s.push(u))); + } + ta(n, t, o) || s.push(n); + return s.push(t), (s = j.a.sortBy(j.a.uniq(s))); + })(t, n, r, a), + f = Yr.axisBottom(c).tickValues(u).tickSize(0), + d = l.find(":first-child"), + p = + (function (e) { + var t = e.get(0); + return t && t.height && t.height.baseVal + ? t.height.baseVal.value + : 0; + })(l) + 0, + h = + (function (e) { + var t = e.get(0); + return t && t.x && t.x.baseVal ? t.x.baseVal.value : 0; + })(d) + 10; + Yr.select(l.get(0)) + .append("g") + .attr("class", "axis") + .attr("transform", "translate(" + h + "," + p + ")") + .call(f), + s.select(".axis").select(".domain").remove(); + } + } + function ea(e) { + _()(e).find("svg").empty(); + } + function ta(e, t, n) { + return Math.abs(e - t) < 0.3 * n; + } + function na(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Tn.c.directive("colorLegend", function () { + return { + restrict: "E", + template: + '<div class="heatmap-color-legend"><svg width="16.5rem" height="24px"></svg></div>', + link: function (e, t, n) { + var r = e.ctrl, + a = e.ctrl.panel; + function o() { + var e = _()(t).find("svg"), + n = Math.floor(e.outerWidth()); + if ("spectrum" === a.color.mode) { + var o = Jr( + j.a.find(r.colorSchemes, { value: a.color.colorScheme }), + W.b.user.lightTheme, + n + ); + !(function (e, t) { + var n = _()(e).find("svg"); + ea(e); + var r = Math.floor(n.outerWidth()), + a = n.attr("height"); + if (r) { + var o = Math.floor(r / 2), + i = Math.floor(r / o), + l = Yr.range(0, r, i); + Yr.select(n.get(0)) + .selectAll(".heatmap-color-legend-rect") + .data(l) + .enter() + .append("rect") + .attr("x", function (e) { + return e; + }) + .attr("y", 0) + .attr("width", i + 1) + .attr("height", a) + .attr("stroke-width", 0) + .attr("fill", function (e) { + return t(e); + }); + } + })(t, o); + } else if ("opacity" === a.color.mode) { + var i = a.color; + !(function (e, t) { + var n = _()(e).find("svg"); + ea(e); + var r = Yr.select(n.get(0)), + a = Math.floor(n.outerWidth()), + o = n.attr("height"); + if (a) { + var i; + "linear" === t.colorScale + ? (i = Yr.scaleLinear().domain([0, a]).range([0, 1])) + : "sqrt" === t.colorScale && + (i = Yr.scalePow() + .exponent(t.exponent) + .domain([0, a]) + .range([0, 1])); + var l = Yr.range(0, a, 10); + r.selectAll(".heatmap-opacity-legend-rect") + .data(l) + .enter() + .append("rect") + .attr("x", function (e) { + return e; + }) + .attr("y", 0) + .attr("width", 10) + .attr("height", o) + .attr("stroke-width", 0) + .attr( + "fill", + Object(Q.getColorFromHexRgbOrName)( + t.cardColor, + W.b.user.lightTheme + ? Q.GrafanaThemeType.Light + : Q.GrafanaThemeType.Dark + ) + ) + .style("opacity", function (e) { + return i(e); + }); + } + })(t, i); + } + } + o(), + r.events.on(Q.PanelEvents.render, function () { + o(); + }); + }, + }; + }), + Tn.c.directive("heatmapLegend", function () { + return { + restrict: "E", + template: '<div class="heatmap-color-legend"><svg width="' + .concat(100, 'px" height="') + .concat(6, 'px"></svg></div>'), + link: function (e, t, n) { + var r = e.ctrl, + a = e.ctrl.panel; + function o() { + if ( + (ea(t), !j.a.isEmpty(r.data) && !j.a.isEmpty(r.data.cards)) + ) { + var e = r.data.cardStats, + n = j.a.isNil(a.color.min) + ? Math.min(e.min, 0) + : a.color.min, + o = j.a.isNil(a.color.max) ? e.max : a.color.max, + i = e.max, + l = e.min; + if ("spectrum" === a.color.mode) { + var s = j.a.find(r.colorSchemes, { + value: a.color.colorScheme, + }); + !(function (e, t, n, r, a, o) { + var i = _()(e).find("svg"), + l = Yr.select(i.get(0)); + ea(e); + var s = Math.floor(i.outerWidth()) - 30, + c = i.attr("height"), + u = ((r - n) / s) * 10, + f = s / (r - n), + d = Yr.range(n, r, u), + p = Jr(t, W.b.user.lightTheme, r, n); + l + .append("g") + .attr("class", "legend-color-bar") + .attr("transform", "translate(10,0)") + .selectAll(".heatmap-color-legend-rect") + .data(d) + .enter() + .append("rect") + .attr("x", function (e) { + return Math.round((e - n) * f); + }) + .attr("y", 0) + .attr("width", Math.round(u * f + 1)) + .attr("height", c) + .attr("stroke-width", 0) + .attr("fill", function (e) { + return p(e); + }), + Xr(e, n, r, a, o, s, d); + })(t, s, n, o, i, l); + } else if ("opacity" === a.color.mode) { + var c = a.color; + !(function (e, t, n, r, a, o) { + var i = _()(e).find("svg"), + l = Yr.select(i.get(0)); + ea(e); + var s = Math.floor(i.outerWidth()) - 30, + c = i.attr("height"), + u = ((r - n) / s) * 10, + f = s / (r - n), + d = Yr.range(n, r, u), + p = Zr(t, r, n); + l + .append("g") + .attr("class", "legend-color-bar") + .attr("transform", "translate(10,0)") + .selectAll(".heatmap-opacity-legend-rect") + .data(d) + .enter() + .append("rect") + .attr("x", function (e) { + return Math.round((e - n) * f); + }) + .attr("y", 0) + .attr("width", Math.round(u * f)) + .attr("height", c) + .attr("stroke-width", 0) + .attr("fill", t.cardColor) + .style("opacity", function (e) { + return p(e); + }), + Xr(e, n, r, a, o, s, d); + })(t, c, n, o, i, l); + } + } + } + o(), + r.events.on(Q.PanelEvents.render, function () { + o(); + }); + }, + }; + }); + var ra = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.editor = this), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + (this.unitFormats = E.a.getUnitFormats()), + (this.logScales = { + linear: 1, + "log (base 2)": 2, + "log (base 10)": 10, + "log (base 32)": 32, + "log (base 1024)": 1024, + }), + (this.dataFormats = { + "Time series": "timeseries", + "Time series buckets": "tsbuckets", + }), + (this.yBucketBoundModes = { + Auto: "auto", + Upper: "upper", + Lower: "lower", + Middle: "middle", + }); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "uiSegmentSrv"]), + (t = e), + (n = [ + { + key: "setUnitFormat", + value: function (e) { + (this.panel.yAxis.format = e.value), this.panelCtrl.render(); + }, + }, + ]) && na(t.prototype, n), + r && na(t, r), + e + ); + })(); + function aa() { + return { + restrict: "E", + scope: !0, + templateUrl: + "public/app/plugins/panel/heatmap/partials/axes_editor.html", + controller: ra, + }; + } + var oa = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.editor = this), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + this.panelCtrl.render(); + }; + function ia() { + return { + restrict: "E", + scope: !0, + templateUrl: + "public/app/plugins/panel/heatmap/partials/display_editor.html", + controller: oa, + }; + } + oa.$inject = ["$scope"]; + function la(e, t) { + var n, r; + try { + (n = sa(e.label)), (r = sa(t.label)); + } catch (e) { + return console.log(e.message || e), 0; + } + return n > r ? 1 : n < r ? -1 : 0; + } + function sa(e) { + if ("+Inf" === e || "inf" === e) return 1 / 0; + var t = Number(e); + if (isNaN(t)) + throw new Error( + "Error parsing histogram label: ".concat(e, " is not a number") + ); + return t; + } + function ca(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = 0, + r = 0, + a = []; + j.a.forEach(e, function (e) { + j.a.forEach(e.buckets, function (o) { + var i = { + x: e.x, + y: o.y, + yBounds: o.bounds, + values: o.values, + count: o.count, + }; + (t && 0 === i.count) || a.push(i), + 1 === a.length && ((n = o.count), (r = o.count)), + (n = o.count < n ? o.count : n), + (r = o.count > r ? o.count : r); + }); + }); + var o = { min: n, max: r }; + return { cards: a, cardStats: o }; + } + function ua(e, t, n, r) { + var a = t[0]; + if (null != a && !isNaN(a)) { + var o = j.a.concat(t, r); + e[n] && e[n].values + ? (e[n].values.push(a), e[n].points.push(o)) + : (e[n] = { x: n, values: [a], points: [o] }); + } + } + function fa(e, t, n, r, a) { + var o = 1; + r.length > 3 && (o = parseInt(r[2], 10)), + e[t] + ? (e[t].values.push(n), e[t].points.push(r), (e[t].count += o)) + : (e[t] = { y: t, bounds: a, values: [n], points: [r], count: o }); + } + function da(e, t, n) { + return 1 === n + ? ha(e, t) + : (function (e, t, n) { + return ga(e, t, n).bottom; + })(e, t, n); + } + function pa(e, t) { + return { + bottom: Math.floor(e / t) * t, + top: (Math.floor(e / t) + 1) * t, + }; + } + function ha(e, t) { + return pa(e, t).bottom; + } + function ma(e, t) { + var n = e.values, + r = e.points, + a = {}; + return ( + j.a.forEach(n, function (e, n) { + var o = pa(e, t), + i = o.bottom; + fa(a, i, e, r[n], o); + }), + a + ); + } + function ga(e, t, n) { + if (0 === e) return { bottom: 0, top: 0 }; + var r, + a, + o = va(e, n); + if (1 !== t && t) { + var i = 1 / t, + l = o - Math.floor(o); + (l = Math.floor(l / i) * i), (a = (r = Math.floor(o) + l) + i); + } else a = (r = Math.floor(o)) + 1; + return { bottom: Math.pow(n, r), top: Math.pow(n, a) }; + } + function ba(e, t, n) { + var r = e.values, + a = e.points, + o = {}; + return ( + j.a.forEach(r, function (e, r) { + var i = ga(e, t, n), + l = i.bottom; + fa(o, l, e, a[r], i); + }), + o + ); + } + function va(e, t) { + return Math.log(e) / Math.log(t); + } + function ya(e, t) { + var n = + arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; + if (1 === n) return Math.abs(t - e); + var r = Math.max(e, t) / Math.min(e, t); + return va(r, n); + } + function wa(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Oa = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.scope = n), + (this.dashboard = n.ctrl.dashboard), + (this.panelCtrl = n.ctrl), + (this.panel = n.ctrl.panel), + (this.heatmapPanel = t), + (this.mouseOverBucket = !1), + (this.originalFillColor = null), + t.on("mouseleave", this.onMouseLeave.bind(this)); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "onMouseLeave", + value: function () { + this.destroy(); + }, + }, + { + key: "onMouseMove", + value: function (e) { + this.panel.tooltip.show && this.move(e); + }, + }, + { + key: "add", + value: function () { + this.tooltip = Yr.select("body") + .append("div") + .attr( + "class", + "heatmap-tooltip graph-tooltip grafana-tooltip" + ); + }, + }, + { + key: "destroy", + value: function () { + this.tooltip && this.tooltip.remove(), (this.tooltip = null); + }, + }, + { + key: "show", + value: function (e, t) { + if (this.panel.tooltip.show && t && !e.panelRelY) { + var n = this.getBucketIndexes(e, t), + r = n.xBucketIndex, + a = n.yBucketIndex; + if (t.buckets[r]) { + var o, i, l; + this.tooltip || this.add(); + var s, + c, + u = t.buckets[r], + f = j.a.find(u.buckets, function (e, t) { + return e.bounds.bottom === a || t === a.toString(); + }), + d = this.dashboard.formatDate(u.x, "YYYY-MM-DD HH:mm:ss"); + if (j.a.isNumber(this.panel.tooltipDecimals)) + (s = this.countValueFormatter( + this.panel.tooltipDecimals, + null + )), + (c = this.panelCtrl.tickValueFormatter( + this.panelCtrl.decimals, + null + )); + else { + var p = (this.panelCtrl.decimals || -1) + 1; + (s = this.countValueFormatter( + p, + this.panelCtrl.scaledDecimals + 2 + )), + (c = this.panelCtrl.tickValueFormatter( + p, + this.panelCtrl.scaledDecimals + 2 + )); + } + var h = '<div class="graph-tooltip-time">'.concat( + d, + '</div>\n <div class="heatmap-histogram"></div>' + ); + if (f) + if (f.bounds) { + if (t.tsBuckets) { + var m = function (e) { + return t.tsBucketsFormatted + ? t.tsBucketsFormatted[e] + : t.tsBuckets[e]; + }; + (o = m(a)), + "middle" !== this.panel.yBucketBound && + (i = a < t.tsBuckets.length - 1 ? m(a + 1) : ""); + } else + (o = c(f.y ? f.bounds.bottom : 0)), + (i = c(f.bounds.top)); + l = s(f.count); + var g = i && o ? "".concat(o, " - ").concat(i) : o || i; + h += "<div>\n bucket: <b>" + .concat(g, "</b> <br>\n count: <b>") + .concat(l, "</b> <br>\n </div>"); + } else + h += "<div>count: <b>".concat( + f.count, + "</b><br></div>" + ); + else { + if (!this.panel.tooltip.showHistogram) + return void this.destroy(); + (o = a), (i = ""), (l = 0); + } + this.tooltip.html(h), + this.panel.tooltip.showHistogram && this.addHistogram(u), + this.move(e); + } else this.destroy(); + } + }, + }, + { + key: "getBucketIndexes", + value: function (e, t) { + return { + xBucketIndex: this.getXBucketIndex(e.x, t), + yBucketIndex: this.getYBucketIndex(e.y, t), + }; + }, + }, + { + key: "getXBucketIndex", + value: function (e, t) { + var n = j.a.find(t.buckets, function (n) { + return e > n.x && e - n.x <= t.xBucketSize; + }); + return n ? n.x : da(e, t.xBucketSize, 1); + }, + }, + { + key: "getYBucketIndex", + value: function (e, t) { + return t.tsBuckets + ? Math.floor(e) + : da(e, t.yBucketSize, this.panel.yAxis.logBase); + }, + }, + { + key: "getSharedTooltipPos", + value: function (e) { + return ( + (e.pageX = + this.heatmapPanel.offset().left + this.scope.xScale(e.x)), + (e.pageY = + this.heatmapPanel.offset().top + + this.scope.chartHeight * e.panelRelY), + e + ); + }, + }, + { + key: "addHistogram", + value: function (e) { + var t, + n, + r, + a = this.scope.ctrl.data.buckets[e.x], + o = this.scope.ctrl.data.yBucketSize; + this.scope.ctrl.data.tsBuckets + ? ((t = 0), + (n = this.scope.ctrl.data.tsBuckets.length - 1), + (r = this.scope.ctrl.data.tsBuckets.length)) + : ((t = this.scope.ctrl.data.yAxis.min), + (n = this.scope.ctrl.data.yAxis.max), + (r = this.scope.ctrl.data.yAxis.ticks)); + var i = j.a.map(a.buckets, function (e) { + var t = void 0 !== e.count ? e.count : e.values.length; + return [e.bounds.bottom, t]; + }); + i = j.a.filter(i, function (e) { + return e[0] >= t && e[0] <= n; + }); + var l, + s = this.scope.yScale.copy().domain([t, n]).range([0, 160]); + if (1 === this.panel.yAxis.logBase) + l = Math.floor((160 / (n - t)) * o * 0.9); + else { + var c = o || 1; + l = Math.floor((160 / r / c) * 0.9); + } + l = Math.max(l, 1); + var u = j.a.reduce( + j.a.map(i, function (e) { + return e[1]; + }), + function (e, t) { + return e + t; + }, + 0 + ), + f = Yr.scaleLinear().domain([0, u]).range([0, 40]); + this.tooltip + .select(".heatmap-histogram") + .append("svg") + .attr("width", 160) + .attr("height", 40) + .selectAll(".bar") + .data(i) + .enter() + .append("rect") + .attr("x", function (e) { + return s(e[0]); + }) + .attr("width", l) + .attr("y", function (e) { + return 40 - f(e[1]); + }) + .attr("height", function (e) { + return f(e[1]); + }); + }, + }, + { + key: "move", + value: function (e) { + if (this.tooltip) { + var t = _()(this.tooltip.node())[0], + n = t.clientWidth, + r = t.clientHeight, + a = e.pageX + 30, + o = e.pageY + 5; + return ( + e.pageX + n + 40 > window.innerWidth && + (a = e.pageX - n - 30), + e.pageY - window.pageYOffset + r + 20 > + window.innerHeight && (o = e.pageY - r - 5), + this.tooltip.style("left", a + "px").style("top", o + "px") + ); + } + }, + }, + { + key: "countValueFormatter", + value: function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : null, + n = Object(Q.getValueFormat)("short"); + return function (r) { + return Object(Q.formattedValueToString)(n(r, e, t)); + }; + }, + }, + ]) && wa(t.prototype, n), + r && wa(t, r), + e + ); + })(); + function xa(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ka = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.scope = t), + (this.elem = n), + (this.ctrl = a), + (this.$heatmap = this.elem.find(".heatmap-panel")), + (this.tooltip = new Oa(this.$heatmap, this.scope)), + (this.selection = { active: !1, x1: -1, x2: -1 }), + (this.padding = { left: 0, right: 0, top: 0, bottom: 0 }), + (this.margin = { left: 25, right: 15, top: 10, bottom: 20 }), + (this.dataRangeWidingFactor = 1.2), + this.ctrl.events.on(Q.PanelEvents.render, this.onRender.bind(this)), + (this.ctrl.tickValueFormatter = this.tickValueFormatter.bind(this)), + W.a.on( + wt.CoreEvents.graphHover, + this.onGraphHover.bind(this), + this.scope + ), + W.a.on( + wt.CoreEvents.graphHoverClear, + this.onGraphHoverClear.bind(this), + this.scope + ), + this.$heatmap.on("mousedown", this.onMouseDown.bind(this)), + this.$heatmap.on("mousemove", this.onMouseMove.bind(this)), + this.$heatmap.on("mouseleave", this.onMouseLeave.bind(this)); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "onGraphHoverClear", + value: function () { + this.clearCrosshair(); + }, + }, + { + key: "onGraphHover", + value: function (e) { + this.drawSharedCrosshair(e.pos); + }, + }, + { + key: "onRender", + value: function () { + this.render(), this.ctrl.renderingCompleted(); + }, + }, + { + key: "setElementHeight", + value: function () { + try { + var e = + this.ctrl.height || + this.panel.height || + this.ctrl.row.height; + return ( + j.a.isString(e) && (e = parseInt(e.replace("px", ""), 10)), + (e -= this.panel.legend.show ? 28 : 11), + this.$heatmap.css("height", e + "px"), + !0 + ); + } catch (e) { + return !1; + } + }, + }, + { + key: "getYAxisWidth", + value: function (e) { + var t = e.selectAll(".axis-y text").nodes(); + return j.a.max( + j.a.map(t, function (e) { + return e.getBBox().width; + }) + ); + }, + }, + { + key: "getXAxisHeight", + value: function (e) { + if (e.select(".axis-x line").empty()) return 30; + var t = parseFloat(e.select(".axis-x line").attr("y2")); + return parseFloat(e.attr("height")) - t; + }, + }, + { + key: "addXAxis", + value: function () { + this.scope.xScale = this.xScale = Yr.scaleTime() + .domain([this.timeRange.from, this.timeRange.to]) + .range([0, this.chartWidth]); + var e, + t = this.chartWidth / 100, + n = J.grafanaTimeFormat( + t, + this.timeRange.from, + this.timeRange.to + ); + e = + "utc" === this.ctrl.dashboard.getTimezone() + ? Yr.utcFormat(n) + : Yr.timeFormat(n); + var r = Yr.axisBottom(this.xScale) + .ticks(t) + .tickFormat(e) + .tickPadding(10) + .tickSize(this.chartHeight), + a = this.margin.top, + o = this.yAxisWidth; + this.heatmap + .append("g") + .attr("class", "axis axis-x") + .attr("transform", "translate(" + o + "," + a + ")") + .call(r), + this.heatmap.select(".axis-x").select(".domain").remove(); + }, + }, + { + key: "addYAxis", + value: function () { + var e = Math.ceil(this.chartHeight / 50), + t = J.tickStep( + this.data.heatmapStats.min, + this.data.heatmapStats.max, + e + ), + n = this.wideYAxisRange( + this.data.heatmapStats.min, + this.data.heatmapStats.max, + t + ), + r = n.yMin, + a = n.yMax; + (r = null !== this.panel.yAxis.min ? this.panel.yAxis.min : r), + (a = + null !== this.panel.yAxis.max ? this.panel.yAxis.max : a), + (t = J.tickStep(r, a, e)), + (e = Math.ceil((a - r) / t)); + var o = J.getPrecision(t), + i = + null === this.panel.yAxis.decimals + ? o + : this.panel.yAxis.decimals, + l = J.getFlotTickSize(r, a, e, o), + s = J.getScaledDecimals(i, l); + (this.ctrl.decimals = i), + (this.ctrl.scaledDecimals = s), + j.a.isEmpty(this.data.buckets) && + ((a = 1), (r = -1), (e = 3), (i = 1)), + (this.data.yAxis = { min: r, max: a, ticks: e }), + (this.scope.yScale = this.yScale = Yr.scaleLinear() + .domain([r, a]) + .range([this.chartHeight, 0])); + var c = Yr.axisLeft(this.yScale) + .ticks(e) + .tickFormat(this.tickValueFormatter(i, s)) + .tickSizeInner(0 - this.width) + .tickSizeOuter(0) + .tickPadding(5); + this.heatmap.append("g").attr("class", "axis axis-y").call(c); + var u = this.margin.top, + f = this.getYAxisWidth(this.heatmap) + 5; + this.heatmap + .select(".axis-y") + .attr("transform", "translate(" + f + "," + u + ")"), + this.heatmap.select(".axis-y").select(".domain").remove(); + }, + }, + { + key: "wideYAxisRange", + value: function (e, t, n) { + var r, + a, + o = + (t * (this.dataRangeWidingFactor - 1) - + e * (this.dataRangeWidingFactor - 1)) / + 2; + return ( + 0 === n + ? ((a = t * this.dataRangeWidingFactor), + (r = e - e * (this.dataRangeWidingFactor - 1))) + : ((a = Math.ceil((t + o) / n) * n), + (r = Math.floor((e - o) / n) * n)), + e >= 0 && r < 0 && (r = 0), + { yMin: r, yMax: a } + ); + }, + }, + { + key: "addLogYAxis", + value: function () { + var e = this.panel.yAxis.logBase, + t = this.adjustLogRange( + this.data.heatmapStats.minLog, + this.data.heatmapStats.max, + e + ), + n = t.yMin, + r = t.yMax; + (n = + this.panel.yAxis.min && "0" !== this.panel.yAxis.min + ? this.adjustLogMin(this.panel.yAxis.min, e) + : n), + (r = + null !== this.panel.yAxis.max + ? this.adjustLogMax(this.panel.yAxis.max, e) + : r), + j.a.isEmpty(this.data.buckets) && + ((r = Math.pow(e, 2)), (n = 1)), + (this.scope.yScale = this.yScale = Yr.scaleLog() + .base(this.panel.yAxis.logBase) + .domain([n, r]) + .range([this.chartHeight, 0])); + var a = this.yScale.domain(), + o = this.logScaleTickValues(a, e), + i = J.getPrecision(n), + l = this.panel.yAxis.decimals || i, + s = J.getFlotTickSize(n, r, o.length, i), + c = J.getScaledDecimals(l, s); + (this.ctrl.decimals = l), + (this.ctrl.scaledDecimals = c), + (this.data.yAxis = { min: n, max: r, ticks: o.length }); + var u = Yr.axisLeft(this.yScale) + .tickValues(o) + .tickFormat(this.tickValueFormatter(l, c)) + .tickSizeInner(0 - this.width) + .tickSizeOuter(0) + .tickPadding(5); + this.heatmap.append("g").attr("class", "axis axis-y").call(u); + var f = this.margin.top, + d = this.getYAxisWidth(this.heatmap) + 5; + this.heatmap + .select(".axis-y") + .attr("transform", "translate(" + d + "," + f + ")"), + n < 1 && + this.heatmap + .select(".axis-y") + .select(".tick text") + .text("0"), + this.heatmap.select(".axis-y").select(".domain").remove(); + }, + }, + { + key: "addYAxisFromBuckets", + value: function () { + var e = this.data.tsBuckets; + this.scope.yScale = this.yScale = Yr.scaleLinear() + .domain([0, e.length - 1]) + .range([this.chartHeight, 0]); + var t = j.a.map(e, function (e, t) { + return t; + }), + n = j.a.max(j.a.map(e, J.getStringPrecision)), + r = + null === this.panel.yAxis.decimals + ? n + : this.panel.yAxis.decimals; + this.ctrl.decimals = r; + var a = this.tickValueFormatter.bind(this); + function o(t) { + var n = e[t]; + return ( + j.a.isNaN(j.a.toNumber(n)) || + "" === n || + (n = a(r)(j.a.toNumber(n))), + n + ); + } + var i = j.a.map(e, function (e, t) { + return o(t); + }); + this.data.tsBucketsFormatted = i; + var l = Yr.axisLeft(this.yScale) + .tickValues(t) + .tickFormat(o) + .tickSizeInner(0 - this.width) + .tickSizeOuter(0) + .tickPadding(5); + this.heatmap.append("g").attr("class", "axis axis-y").call(l); + var s = this.margin.top, + c = this.getYAxisWidth(this.heatmap) + 5; + if ( + (this.heatmap + .select(".axis-y") + .attr("transform", "translate(" + c + "," + s + ")"), + "middle" === this.panel.yBucketBound && t && t.length) + ) { + var u = 0 - this.chartHeight / (t.length - 1) / 2; + this.heatmap + .selectAll(".axis-y text") + .attr("transform", "translate(0," + u + ")"); + } + this.heatmap.select(".axis-y").select(".domain").remove(); + }, + }, + { + key: "adjustLogRange", + value: function (e, t, n) { + return ( + this.data.heatmapStats.minLog, + { + yMin: + this.data.heatmapStats.minLog > 1 || + !this.data.heatmapStats.minLog + ? 1 + : this.adjustLogMin(this.data.heatmapStats.minLog, n), + yMax: this.adjustLogMax(this.data.heatmapStats.max, n), + } + ); + }, + }, + { + key: "adjustLogMax", + value: function (e, t) { + return Math.pow(t, Math.ceil(J.logp(e, t))); + }, + }, + { + key: "adjustLogMin", + value: function (e, t) { + return Math.pow(t, Math.floor(J.logp(e, t))); + }, + }, + { + key: "logScaleTickValues", + value: function (e, t) { + var n = e[0], + r = e[1], + a = []; + if (n < 1) + for (var o = Math.floor(J.logp(n, t)); o < 0; o++) { + var i = Math.pow(t, o); + a.push(i); + } + for (var l = Math.ceil(J.logp(r, t)), s = 0; s <= l; s++) { + var c = Math.pow(t, s); + a.push(c); + } + return a; + }, + }, + { + key: "tickValueFormatter", + value: function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : null, + n = this.panel.yAxis.format; + return function (r) { + try { + if ("none" !== n) { + var a = Object(Q.getValueFormat)(n)(r, e, t); + return Object(Q.formattedValueToString)(a); + } + } catch (e) { + console.error(e.message || e); + } + return r; + }; + }, + }, + { + key: "fixYAxisTickSize", + value: function () { + this.heatmap + .select(".axis-y") + .selectAll(".tick line") + .attr("x2", this.chartWidth); + }, + }, + { + key: "addAxes", + value: function () { + (this.chartHeight = + this.height - this.margin.top - this.margin.bottom), + (this.chartTop = this.margin.top), + (this.chartBottom = this.chartTop + this.chartHeight), + "tsbuckets" === this.panel.dataFormat + ? this.addYAxisFromBuckets() + : 1 === this.panel.yAxis.logBase + ? this.addYAxis() + : this.addLogYAxis(), + (this.yAxisWidth = this.getYAxisWidth(this.heatmap) + 5), + (this.chartWidth = + this.width - this.yAxisWidth - this.margin.right), + this.fixYAxisTickSize(), + this.addXAxis(), + (this.xAxisHeight = this.getXAxisHeight(this.heatmap)), + this.panel.yAxis.show || + this.heatmap + .select(".axis-y") + .selectAll("line") + .style("opacity", 0), + this.panel.xAxis.show || + this.heatmap + .select(".axis-x") + .selectAll("line") + .style("opacity", 0); + }, + }, + { + key: "addHeatmapCanvas", + value: function () { + var e = this.$heatmap[0]; + (this.width = + Math.floor(this.$heatmap.width()) - this.padding.right), + (this.height = + Math.floor(this.$heatmap.height()) - this.padding.bottom), + (this.cardPadding = + null !== this.panel.cards.cardPadding + ? this.panel.cards.cardPadding + : 1), + (this.cardRound = + null !== this.panel.cards.cardRound + ? this.panel.cards.cardRound + : 0), + this.heatmap && this.heatmap.remove(), + (this.heatmap = Yr.select(e) + .append("svg") + .attr("width", this.width) + .attr("height", this.height)); + }, + }, + { + key: "addHeatmap", + value: function () { + var e = this; + if ( + (this.addHeatmapCanvas(), + this.addAxes(), + 1 !== this.panel.yAxis.logBase && + "tsbuckets" !== this.panel.dataFormat) + ) { + var t = this.panel.yAxis.logBase, + n = this.yScale.domain(), + r = this.logScaleTickValues(n, t); + this.data.buckets = (function (e, t) { + return ( + j.a.forEach(e, function (e) { + var n = e.buckets, + r = { + bounds: { bottom: 0, top: 0 }, + values: [], + points: [], + count: 0, + }, + a = n[0] || r, + o = n[t] || r, + i = { + y: 0, + bounds: { bottom: t, top: o.bounds.top || t }, + values: [], + points: [], + count: 0, + }; + (i.points = a.points.concat(o.points)), + (i.values = a.values.concat(o.values)), + (i.count = i.values.length), + 0 !== i.count && (delete n[t], (n[0] = i)); + }), + e + ); + })(this.data.buckets, j.a.min(r)); + } + var a = this.data.cards, + o = this.data.cardStats, + i = o.max, + l = Math.min(o.min, 0), + s = j.a.isNil(this.panel.color.max) + ? i + : this.panel.color.max, + c = j.a.isNil(this.panel.color.min) + ? l + : this.panel.color.min, + u = j.a.find(this.ctrl.colorSchemes, { + value: this.panel.color.colorScheme, + }); + (this.colorScale = Jr(u, W.b.user.lightTheme, s, c)), + (this.opacityScale = Zr(this.panel.color, s, c)), + this.setCardSize(); + var f = this.heatmap.selectAll(".heatmap-card").data(a); + f.append("title"), + (f = f + .enter() + .append("rect") + .attr("x", this.getCardX.bind(this)) + .attr("width", this.getCardWidth.bind(this)) + .attr("y", this.getCardY.bind(this)) + .attr("height", this.getCardHeight.bind(this)) + .attr("rx", this.cardRound) + .attr("ry", this.cardRound) + .attr("class", "bordered heatmap-card") + .style("fill", this.getCardColor.bind(this)) + .style("stroke", this.getCardColor.bind(this)) + .style("stroke-width", 0) + .style("opacity", this.getCardOpacity.bind(this))), + this.$heatmap + .find(".heatmap-card") + .on("mouseenter", function (t) { + (e.tooltip.mouseOverBucket = !0), e.highlightCard(t); + }) + .on("mouseleave", function (t) { + (e.tooltip.mouseOverBucket = !1), e.resetCardHighLight(t); + }); + }, + }, + { + key: "highlightCard", + value: function (e) { + var t = Yr.select(e.target).style("fill"), + n = Yr.color(t).darker(2), + r = Yr.color(t).brighter(4), + a = Yr.select(e.target); + (this.tooltip.originalFillColor = t), + a + .style("fill", n.toString()) + .style("stroke", r.toString()) + .style("stroke-width", 1); + }, + }, + { + key: "resetCardHighLight", + value: function (e) { + Yr.select(e.target) + .style("fill", this.tooltip.originalFillColor) + .style("stroke", this.tooltip.originalFillColor) + .style("stroke-width", 0); + }, + }, + { + key: "setCardSize", + value: function () { + var e = Math.floor( + this.xScale(this.data.xBucketSize) - this.xScale(0) + ), + t = Math.floor( + this.yScale(this.yScale.invert(0) - this.data.yBucketSize) + ); + if (1 !== this.panel.yAxis.logBase) { + var n = this.panel.yAxis.logBase, + r = this.data.yBucketSize || 1; + t = Math.floor((this.yScale(1) - this.yScale(n)) / r); + } + var a = e - 2 * this.cardPadding; + (this.cardWidth = Math.max(a, 1)), + (this.cardHeight = t ? t - 2 * this.cardPadding : 0); + }, + }, + { + key: "getCardX", + value: function (e) { + return this.xScale(e.x) < 0 + ? this.yAxisWidth + this.cardPadding + : this.xScale(e.x) + this.yAxisWidth + this.cardPadding; + }, + }, + { + key: "getCardWidth", + value: function (e) { + var t = this.cardWidth; + return ( + this.xScale(e.x) < 0 + ? (t = this.xScale(e.x) + this.cardWidth) + : this.xScale(e.x) + this.cardWidth > this.chartWidth && + (t = + this.chartWidth - this.xScale(e.x) - this.cardPadding), + (t = t > 0 ? Math.max(t, 1) : 0) + ); + }, + }, + { + key: "getCardY", + value: function (e) { + var t = + this.yScale(e.y) + + this.chartTop - + this.cardHeight - + this.cardPadding; + return ( + 1 !== this.panel.yAxis.logBase && 0 === e.y + ? (t = + this.chartBottom - this.cardHeight - this.cardPadding) + : t < this.chartTop && (t = this.chartTop), + t + ); + }, + }, + { + key: "getCardHeight", + value: function (e) { + var t = + this.yScale(e.y) + + this.chartTop - + this.cardHeight - + this.cardPadding, + n = this.cardHeight; + return 1 !== this.panel.yAxis.logBase && 0 === e.y + ? this.cardHeight + : (t < this.chartTop + ? (n = this.yScale(e.y) - this.cardPadding) + : this.yScale(e.y) > this.chartBottom + ? (n = this.chartBottom - t) + : t + this.cardHeight > this.chartBottom && + (n = this.chartBottom - t), + (n = Math.min(n, this.chartHeight)), + (n = Math.max(n, 1))); + }, + }, + { + key: "getCardColor", + value: function (e) { + return "opacity" === this.panel.color.mode + ? Object(Q.getColorFromHexRgbOrName)( + this.panel.color.cardColor, + W.b.user.lightTheme + ? Q.GrafanaThemeType.Light + : Q.GrafanaThemeType.Dark + ) + : this.colorScale(e.count); + }, + }, + { + key: "getCardOpacity", + value: function (e) { + return "opacity" === this.panel.color.mode + ? this.opacityScale(e.count) + : 1; + }, + }, + { + key: "getEventOffset", + value: function (e) { + var t = this.$heatmap.offset(); + return { + x: Math.floor(e.clientX - t.left), + y: Math.floor(e.clientY - t.top), + }; + }, + }, + { + key: "onMouseDown", + value: function (e) { + var t = this, + n = this.getEventOffset(e); + (this.selection.active = !0), + (this.selection.x1 = n.x), + (this.mouseUpHandler = function () { + t.onMouseUp(); + }), + _()(document).one("mouseup", this.mouseUpHandler.bind(this)); + }, + }, + { + key: "onMouseUp", + value: function () { + _()(document).unbind("mouseup", this.mouseUpHandler.bind(this)), + (this.mouseUpHandler = null), + (this.selection.active = !1); + var e = Math.abs(this.selection.x2 - this.selection.x1); + if (this.selection.x2 >= 0 && e > 2) { + var t = this.xScale.invert( + Math.min(this.selection.x1, this.selection.x2) - + this.yAxisWidth + ), + n = this.xScale.invert( + Math.max(this.selection.x1, this.selection.x2) - + this.yAxisWidth + ); + this.ctrl.timeSrv.setTime({ + from: Object(Q.toUtc)(t), + to: Object(Q.toUtc)(n), + }); + } + this.clearSelection(); + }, + }, + { + key: "onMouseLeave", + value: function () { + W.a.emit(wt.CoreEvents.graphHoverClear), this.clearCrosshair(); + }, + }, + { + key: "onMouseMove", + value: function (e) { + if (this.heatmap) { + var t = this.getEventOffset(e); + if (this.selection.active) + this.clearCrosshair(), + this.tooltip.destroy(), + (this.selection.x2 = this.limitSelection(t.x)), + this.drawSelection(this.selection.x1, this.selection.x2); + else { + var n = this.getEventPos(e, t); + this.drawCrosshair(t.x), + this.tooltip.show(n, this.data), + this.emitGraphHoverEvent(n); + } + } + }, + }, + { + key: "getEventPos", + value: function (e, t) { + var n = this.xScale.invert(t.x - this.yAxisWidth).valueOf(), + r = this.yScale.invert(t.y - this.chartTop); + return { + pageX: e.pageX, + pageY: e.pageY, + x: n, + x1: n, + y: r, + y1: r, + panelRelY: null, + offset: t, + }; + }, + }, + { + key: "emitGraphHoverEvent", + value: function (e) { + (e.panelRelY = Math.max(e.offset.y / this.height, 0.001)), + W.a.emit(wt.CoreEvents.graphHover, { + pos: e, + panel: this.panel, + }); + }, + }, + { + key: "limitSelection", + value: function (e) { + return ( + (e = Math.max(e, this.yAxisWidth)), + (e = Math.min(e, this.chartWidth + this.yAxisWidth)) + ); + }, + }, + { + key: "drawSelection", + value: function (e, t) { + if (this.heatmap) { + this.heatmap.selectAll(".heatmap-selection").remove(); + var n = Math.min(e, t), + r = Math.abs(e - t); + r > 2 && + this.heatmap + .append("rect") + .attr("class", "heatmap-selection") + .attr("x", n) + .attr("width", r) + .attr("y", this.chartTop) + .attr("height", this.chartHeight); + } + }, + }, + { + key: "clearSelection", + value: function () { + (this.selection.x1 = -1), + (this.selection.x2 = -1), + this.heatmap && + this.heatmap.selectAll(".heatmap-selection").remove(); + }, + }, + { + key: "drawCrosshair", + value: function (e) { + if (this.heatmap) { + this.heatmap.selectAll(".heatmap-crosshair").remove(); + var t = e; + (t = Math.max(t, this.yAxisWidth)), + (t = Math.min(t, this.chartWidth + this.yAxisWidth)), + this.heatmap + .append("g") + .attr("class", "heatmap-crosshair") + .attr("transform", "translate(" + t + ",0)") + .append("line") + .attr("x1", 1) + .attr("y1", this.chartTop) + .attr("x2", 1) + .attr("y2", this.chartBottom) + .attr("stroke-width", 1); + } + }, + }, + { + key: "drawSharedCrosshair", + value: function (e) { + if (this.heatmap && 0 !== this.ctrl.dashboard.graphTooltip) { + var t = this.xScale(e.x) + this.yAxisWidth; + this.drawCrosshair(t); + } + }, + }, + { + key: "clearCrosshair", + value: function () { + this.heatmap && + this.heatmap.selectAll(".heatmap-crosshair").remove(); + }, + }, + { + key: "render", + value: function () { + if ( + ((this.data = this.ctrl.data), + (this.panel = this.ctrl.panel), + (this.timeRange = this.ctrl.range), + this.setElementHeight() && this.data) + ) { + if (j.a.isEmpty(this.data.buckets)) + return this.addHeatmapCanvas(), void this.addAxes(); + this.addHeatmap(), + (this.scope.yAxisWidth = this.yAxisWidth), + (this.scope.xAxisHeight = this.xAxisHeight), + (this.scope.chartHeight = this.chartHeight), + (this.scope.chartWidth = this.chartWidth), + (this.scope.chartTop = this.chartTop); + } + }, + }, + ]) && xa(t.prototype, n), + r && xa(t, r), + e + ); + })(); + function ja(e) { + return (ja = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Sa(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ea(e) { + return (Ea = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ca(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function Pa(e, t) { + return (Pa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ta = { + heatmap: {}, + cards: { cardPadding: null, cardRound: null }, + color: { + mode: "spectrum", + cardColor: "#b4ff00", + colorScale: "sqrt", + exponent: 0.5, + colorScheme: "interpolateOranges", + }, + legend: { show: !1 }, + dataFormat: "timeseries", + yBucketBound: "auto", + reverseYBuckets: !1, + xAxis: { show: !0 }, + yAxis: { + show: !0, + format: "short", + decimals: null, + logBase: 1, + splitFactor: null, + min: null, + max: null, + }, + xBucketSize: null, + xBucketNumber: null, + yBucketSize: null, + yBucketNumber: null, + tooltip: { show: !0, showHistogram: !1 }, + highlightCards: !0, + hideZeroBuckets: !1, + }, + Da = ["opacity", "spectrum"], + Aa = ["linear", "sqrt"], + _a = [ + { name: "Spectral", value: "interpolateSpectral", invert: "always" }, + { name: "RdYlGn", value: "interpolateRdYlGn", invert: "always" }, + { name: "Blues", value: "interpolateBlues", invert: "dark" }, + { name: "Greens", value: "interpolateGreens", invert: "dark" }, + { name: "Greys", value: "interpolateGreys", invert: "dark" }, + { name: "Oranges", value: "interpolateOranges", invert: "dark" }, + { name: "Purples", value: "interpolatePurples", invert: "dark" }, + { name: "Reds", value: "interpolateReds", invert: "dark" }, + { name: "Turbo", value: "interpolateTurbo", invert: "light" }, + { name: "Cividis", value: "interpolateCividis", invert: "light" }, + { name: "Viridis", value: "interpolateViridis", invert: "light" }, + { name: "Magma", value: "interpolateMagma", invert: "light" }, + { name: "Inferno", value: "interpolateInferno", invert: "light" }, + { name: "Plasma", value: "interpolatePlasma", invert: "light" }, + { name: "Warm", value: "interpolateWarm", invert: "light" }, + { name: "Cool", value: "interpolateCool", invert: "light" }, + { + name: "Cubehelix", + value: "interpolateCubehelixDefault", + invert: "light", + }, + { name: "BuGn", value: "interpolateBuGn", invert: "dark" }, + { name: "BuPu", value: "interpolateBuPu", invert: "dark" }, + { name: "GnBu", value: "interpolateGnBu", invert: "dark" }, + { name: "OrRd", value: "interpolateOrRd", invert: "dark" }, + { name: "PuBuGn", value: "interpolatePuBuGn", invert: "dark" }, + { name: "PuBu", value: "interpolatePuBu", invert: "dark" }, + { name: "PuRd", value: "interpolatePuRd", invert: "dark" }, + { name: "RdPu", value: "interpolateRdPu", invert: "dark" }, + { name: "YlGnBu", value: "interpolateYlGnBu", invert: "dark" }, + { name: "YlGn", value: "interpolateYlGn", invert: "dark" }, + { name: "YlOrBr", value: "interpolateYlOrBr", invert: "dark" }, + { name: "YlOrRd", value: "interpolateYlOrRd", invert: "dark" }, + ], + Na = ["elasticsearch"], + Ma = (function (e) { + function t(e, n) { + var r, a, o; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (a = this), + ((r = + !(o = Ea(t).call(this, e, n)) || + ("object" !== ja(o) && "function" != typeof o) + ? Ca(a) + : o).opacityScales = []), + (r.colorModes = []), + (r.colorSchemes = []), + (r.selectionActivated = !1), + j.a.defaultsDeep(r.panel, Ta), + (r.opacityScales = Aa), + (r.colorModes = Da), + (r.colorSchemes = _a), + (r.useDataFrames = !0), + (r.processor = new Ln({ + xaxis: { mode: "custom" }, + aliasColors: {}, + })), + r.events.on(Q.PanelEvents.render, r.onRender.bind(Ca(r))), + r.events.on( + wt.CoreEvents.dataFramesReceived, + r.onDataFramesReceived.bind(Ca(r)) + ), + r.events.on( + Q.PanelEvents.dataSnapshotLoad, + r.onSnapshotLoad.bind(Ca(r)) + ), + r.events.on( + Q.PanelEvents.editModeInitialized, + r.onInitEditMode.bind(Ca(r)) + ), + (r.onCardColorChange = r.onCardColorChange.bind(Ca(r))), + r + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Pa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + this.addEditorTab("Axes", aa, 2), + this.addEditorTab("Display", ia, 3), + (this.unitFormats = E.a.getUnitFormats()); + }, + }, + { + key: "zoomOut", + value: function (e) { + this.publishAppEvent(wt.CoreEvents.zoomOut, 2); + }, + }, + { + key: "onRender", + value: function () { + this.range && + this.series && + ("tsbuckets" === this.panel.dataFormat + ? this.convertHistogramToHeatmapData() + : this.convertTimeSeriesToHeatmapData()); + }, + }, + { + key: "convertTimeSeriesToHeatmapData", + value: function () { + var e, + t, + n, + r, + a = this.panel.yAxis.logBase, + o = this.panel.xBucketNumber || 30, + i = Math.floor( + (this.range.to.valueOf() - this.range.from.valueOf()) / o + ); + (e = E.a.interval_regex.test(this.panel.xBucketSize) + ? E.a.interval_to_ms(this.panel.xBucketSize) + : isNaN(Number(this.panel.xBucketSize)) || + "" === this.panel.xBucketSize || + null === this.panel.xBucketSize + ? i + : Number(this.panel.xBucketSize)), + (r = this.parseSeries(this.series)); + var l = this.panel.yBucketNumber || 10; + 1 !== a + ? (t = this.panel.yAxis.splitFactor) + : ((t = + r.max === r.min + ? r.max + ? r.max / 10 + : 1 + : (r.max - r.min) / l), + (t = this.panel.yBucketSize || t)), + (n = (function (e, t, n) { + var r = + arguments.length > 3 && void 0 !== arguments[3] + ? arguments[3] + : 1, + a = {}, + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, + c = function () { + var e = s.value, + t = e.datapoints, + r = e.label; + j.a.forEach(t, function (e) { + var t = ha(e[1], n); + ua(a, e, t, r); + }); + }, + u = e[Symbol.iterator](); + !(o = (s = u.next()).done); + o = !0 + ) + c(); + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == u.return || u.return(); + } finally { + if (i) throw l; + } + } + return ( + j.a.forEach(a, function (e) { + e.buckets = 1 !== r ? ba(e, t, r) : ma(e, t); + }), + a + ); + })(this.series, t, e, a)), + r.min || + r.max || + ((r = { min: -1, max: 1, minLog: 1 }), (t = 1)); + var s = ca(n, this.panel.hideZeroBuckets), + c = s.cards, + u = s.cardStats; + this.data = { + buckets: n, + heatmapStats: r, + xBucketSize: e, + yBucketSize: t, + cards: c, + cardStats: u, + }; + }, + }, + { + key: "convertHistogramToHeatmapData", + value: function () { + var e, + t, + n, + r = this.getPanelDataSourceType(); + j.a.includes(Na, r) || this.series.sort(la), + this.panel.reverseYBuckets && this.series.reverse(), + (t = (function (e) { + for (var t = {}, n = 0; n < e.length; n++) { + var r = e[n], + a = n; + if (isNaN(a)) return t; + var o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = r.datapoints[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value, + f = u[0], + d = u[1]; + if (j.a.isNumber(f)) { + var p = t[d]; + p || (p = t[d] = { x: d, buckets: {} }), + (p.buckets[a] = { + y: a, + count: f, + bounds: { top: null, bottom: a }, + values: [], + points: [], + }); + } + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + } + return t; + })(this.series)), + (n = j.a.map(this.series, "label")); + var a = this.panel.yBucketBound; + ("prometheus" === r && "lower" !== a && "middle" !== a) || + "upper" === a + ? (n = [""].concat(n)) + : n.push(""), + (e = (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 1, + n = 1 / 0; + if (0 === e.length) return 0; + if (1 === e.length) return e[0]; + e = j.a.sortBy(e); + for (var r = 1; r < e.length; r++) { + var a = ya(e[r], e[r - 1], t); + n = a < n ? a : n; + } + return n; + })( + j.a.map(j.a.keys(t), function (e) { + return Number(e); + }) + )); + var o = ca(t, this.panel.hideZeroBuckets), + i = o.cards, + l = o.cardStats; + this.data = { + buckets: t, + xBucketSize: e, + yBucketSize: 1, + tsBuckets: n, + cards: i, + cardStats: l, + }; + }, + }, + { + key: "getPanelDataSourceType", + value: function () { + return this.datasource && + this.datasource.meta && + this.datasource.meta.id + ? this.datasource.meta.id + : "unknown"; + }, + }, + { + key: "onSnapshotLoad", + value: function (e) { + this.onDataFramesReceived(Object(Un.a)(e)); + }, + }, + { + key: "onDataFramesReceived", + value: function (e) { + var t = this; + if ( + ((this.series = this.processor + .getSeriesList({ dataList: e, range: this.range }) + .map(function (e) { + return ( + (e.color = null), + (e.flotpairs = e.getFlotPairs(t.panel.nullPointMode)), + e + ); + })), + (this.dataWarning = null), + 0 === + j.a.reduce( + this.series, + function (e, t) { + return e + t.datapoints.length; + }, + 0 + )) + ) + this.dataWarning = { + title: "No data points", + tip: "No datapoints returned from data query", + }; + else { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = this.series[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) + if (o.value.isOutsideRange) { + this.dataWarning = { + title: "Data points outside time range", + tip: + "Can be caused by timezone mismatch or missing time filter in query", + }; + break; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + } + this.render(); + }, + }, + { + key: "onDataError", + value: function () { + (this.series = []), this.render(); + }, + }, + { + key: "onCardColorChange", + value: function (e) { + (this.panel.color.cardColor = e), this.render(); + }, + }, + { + key: "parseSeries", + value: function (e) { + var t = j.a.min( + j.a.map(e, function (e) { + return e.stats.min; + }) + ), + n = j.a.min( + j.a.map(e, function (e) { + return e.stats.logmin; + }) + ); + return { + max: j.a.max( + j.a.map(e, function (e) { + return e.stats.max; + }) + ), + min: t, + minLog: n, + }; + }, + }, + { + key: "parseHistogramSeries", + value: function (e) { + var t = j.a.map(e, function (e) { + return Number(e.alias); + }), + n = j.a.min(t), + r = j.a.min(t); + return { max: j.a.max(t), min: n, minLog: r }; + }, + }, + { + key: "link", + value: function (e, t, n, r) { + !(function (e, t, n, r) { + new ka(e, t, n, r); + })(e, t, n, r); + }, + }, + ]) && Sa(n.prototype, r), + a && Sa(n, a), + t + ); + })(S.MetricsPanelCtrl); + Ma.templateUrl = "module.html"; + var Ia = n("5kRJ"); + function Ra(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var Fa = {}, + La = function (e) { + return Array.isArray(e) + ? e.reduce(function (e, t) { + return t.datapoints ? e.concat(t) : e; + }, []) + : e.datapoints + ? [e] + : []; + }, + Va = function (e) { + return Array.isArray(e) + ? e.reduce(function (e, t) { + return t.columns ? e.concat(t) : e; + }, []) + : e.columns + ? [e] + : []; + }; + function Ba(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + (Fa.timeseries_to_rows = { + description: "Time series to rows", + getColumns: function () { + return []; + }, + transform: function (e, t, n) { + n.columns = [ + { text: "Time", type: "date" }, + { text: "Metric" }, + { text: "Value" }, + ]; + for (var r = La(e), a = 0; a < r.length; a++) + for (var o = r[a], i = 0; i < o.datapoints.length; i++) { + var l = o.datapoints[i]; + n.rows.push([l[1], o.target, l[0]]); + } + }, + }), + (Fa.timeseries_to_columns = { + description: "Time series to columns", + getColumns: function () { + return []; + }, + transform: function (e, t, n) { + n.columns.push({ text: "Time", type: "date" }); + for (var r = {}, a = La(e), o = 0; o < a.length; o++) { + var i = a[o]; + n.columns.push({ text: i.target }); + for (var l = 0; l < i.datapoints.length; l++) { + var s = i.datapoints[l], + c = s[1].toString(); + r[c] + ? (r[c][o] = s[0]) + : ((r[c] = { time: s[1] }), (r[c][o] = s[0])); + } + } + for (var u in r) { + for (var f = r[u], d = [f.time], p = 0; p < a.length; p++) { + var h = f[p]; + d.push(h); + } + n.rows.push(d); + } + }, + }), + (Fa.grouping_to_matrix = { + description: "Grouping to matrix", + getColumns: function (e) { + var t = []; + if (void 0 !== Ia.b.variables) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = Ia.b.variables[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value, + s = String("$" + l.name), + c = String(l.name); + t.push({ text: s, value: c }); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + } + if (e.length > 0) { + var u = e[0], + f = u.target.slice(u.target.indexOf("{") + 1, -1).split(", "), + d = f[0].split(": "), + p = f[1].split(": "); + t.push({ text: d[0], value: d[0] }), + t.push({ text: p[0], value: p[0] }); + } + return t; + }, + transform: function (e, t, n) { + var r = new Map(), + a = new Set(), + o = new Set(), + i = void 0; + if (!t || 0 !== t.columns.length) { + if ( + void 0 !== Ia.b.variables && + "$" === t.columns[0].text.charAt(0) + ) { + var l = !0, + s = !1, + c = void 0; + try { + for ( + var u, f = Ia.b.variables[Symbol.iterator](); + !(l = (u = f.next()).done); + l = !0 + ) { + var d, + p = u.value, + h = String(p.name); + if ( + ((d = + void 0 !== p.current + ? String(p.current.value) + : void 0), + h === t.columns[0].value) + ) { + i = d; + break; + } + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == f.return || f.return(); + } finally { + if (s) throw c; + } + } + } + void 0 === i && (i = t.columns[0].value); + } + var m = !0, + g = !1, + b = void 0; + try { + for ( + var v, y = e[Symbol.iterator](); + !(m = (v = y.next()).done); + m = !0 + ) { + var w, + O, + x = v.value, + k = x.target.slice(x.target.indexOf("{") + 1, -1).split(", "), + j = k[0].split(": "), + S = k[1].split(": "); + i === S[0] + ? ((w = S[1]), (O = j[1])) + : ((w = j[1]), (O = S[1])), + a.add(w), + o.add(O), + r.has(w) || r.set(w, new Map()), + r.get(w).set(O, x.datapoints[0][0]); + } + } catch (e) { + (g = !0), (b = e); + } finally { + try { + m || null == y.return || y.return(); + } finally { + if (g) throw b; + } + } + var E = Array.from(o.values()).sort(function (e, t) { + return e.localeCompare(t); + }), + C = Array.from(a.values()).sort(function (e, t) { + return e.localeCompare(t); + }); + n.columns.push({ text: "" }), + C.forEach(function (e) { + return n.columns.push({ text: e }); + }), + E.forEach(function (e) { + return n.rows.push( + [e].concat( + C.map(function (t) { + return r.has(t) && r.get(t).has(e) + ? r.get(t).get(e) + : void 0; + }) + ) + ); + }); + }, + }), + (Fa.timeseries_aggregations = { + description: "Time series aggregations", + getColumns: function () { + return [ + { text: "Avg", value: "avg" }, + { text: "Min", value: "min" }, + { text: "Max", value: "max" }, + { text: "Total", value: "total" }, + { text: "Current", value: "current" }, + { text: "Count", value: "count" }, + ]; + }, + transform: function (e, t, n) { + var r, a; + for ( + n.columns.push({ text: "Metric" }), r = 0; + r < t.columns.length; + r++ + ) + n.columns.push({ text: t.columns[r].text }); + var o = La(e); + for (r = 0; r < o.length; r++) { + var i = new H.a({ + datapoints: o[r].datapoints, + alias: o[r].target, + }); + i.getFlotPairs("connected"); + var l = [i.alias]; + for (a = 0; a < t.columns.length; a++) + l.push(i.stats[t.columns[a].value]); + n.rows.push(l); + } + }, + }), + (Fa.annotations = { + description: "Annotations", + getColumns: function () { + return []; + }, + transform: function (e, t, n) { + if ( + (n.columns.push({ text: "Time", type: "date" }), + n.columns.push({ text: "Title" }), + n.columns.push({ text: "Text" }), + n.columns.push({ text: "Tags" }), + e && e.annotations && 0 !== e.annotations.length) + ) + for (var r = 0; r < e.annotations.length; r++) { + var a = e.annotations[r]; + n.rows.push([a.time, a.title, a.text, a.tags]); + } + }, + }), + (Fa.table = { + description: "Table", + getColumns: function (e) { + if (!e || 0 === e.length) return []; + if (1 === e.length) return Ra(e[0].columns); + var t = Va(e), + n = {}; + return t.reduce(function (e, t) { + return ( + t.columns.forEach(function (t) { + var r = t.text; + void 0 === n[r] && ((n[r] = e.length), e.push(t)); + }), + e + ); + }, []); + }, + transform: function (e, t, n) { + if (e && 0 !== e.length) { + var r = Va(e), + a = j.a.findIndex(r, function (e) { + return "columns" in e && "rows" in e; + }); + if (a < 0) + throw { + message: "Result of query #".concat( + String.fromCharCode(65 + a), + " is not in table format, try using another transform." + ), + }; + G.b.apply(void 0, [n].concat(Ra(r))); + } + }, + }), + (Fa.json = { + description: "JSON Data", + getColumns: function (e) { + if (!e || 0 === e.length) return []; + for (var t = {}, n = 0; n < e.length; n++) { + var r = e[n]; + if ("docs" === r.type) + for ( + var a = Math.min(r.datapoints.length, 100), o = 0; + o < a; + o++ + ) { + var i = r.datapoints[o], + l = Object(K.default)(i, {}); + for (var s in l) t[s] = !0; + } + } + return j.a.map(t, function (e, t) { + return { text: t, value: t }; + }); + }, + transform: function (e, t, n) { + var r, + a, + o, + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = t.columns[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = { text: c.value.text }; + e.length > 0 && e[0].filterable && (f.filterable = !0), + n.columns.push(f); + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + for ( + 0 === n.columns.length && n.columns.push({ text: "JSON" }), r = 0; + r < e.length; + r++ + ) { + var d = e[r]; + for (a = 0; a < d.datapoints.length; a++) { + var p = d.datapoints[a], + h = []; + if (j.a.isObject(p) && t.columns.length > 0) { + var m = Object(K.default)(p); + for (o = 0; o < t.columns.length; o++) + h.push(m[t.columns[o].value]); + } else h.push(JSON.stringify(p)); + n.rows.push(h); + } + } + }, + }); + var $a = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.uiSegmentSrv = n), + (t.editor = this), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + (this.transformers = Fa), + (this.fontSizes = [ + "80%", + "90%", + "100%", + "110%", + "120%", + "130%", + "150%", + "160%", + "180%", + "200%", + "220%", + "250%", + ]), + (this.addColumnSegment = n.newPlusButton()), + this.updateTransformHints(); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "uiSegmentSrv"]), + (t = e), + (n = [ + { + key: "updateTransformHints", + value: function () { + switch ( + ((this.canSetColumns = !1), + (this.columnsHelpMessage = ""), + this.panel.transform) + ) { + case "timeseries_aggregations": + case "json": + this.canSetColumns = !0; + break; + case "table": + this.columnsHelpMessage = + "Columns and their order are determined by the data query"; + case "grouping_to_matrix": + this.canSetColumns = !0; + } + }, + }, + { + key: "getColumnOptions", + value: function () { + var e = this; + if (!this.panelCtrl.dataRaw) return Promise.resolve([]); + var t = this.transformers[this.panel.transform].getColumns( + this.panelCtrl.dataRaw + ), + n = j.a.map(t, function (t) { + return e.uiSegmentSrv.newSegment({ value: t.text }); + }); + return Promise.resolve(n); + }, + }, + { + key: "addColumn", + value: function () { + var e = Fa[this.panel.transform].getColumns( + this.panelCtrl.dataRaw + ), + t = j.a.find(e, { text: this.addColumnSegment.value }); + t && (this.panel.columns.push(t), this.render()); + var n = this.uiSegmentSrv.newPlusButton(); + (this.addColumnSegment.html = n.html), + (this.addColumnSegment.value = n.value); + }, + }, + { + key: "transformChanged", + value: function () { + (this.panel.columns = []), + "annotations" === this.panel.transform + ? this.panelCtrl.refresh() + : ("timeseries_aggregations" === this.panel.transform && + this.panel.columns.push({ text: "Avg", value: "avg" }), + this.updateTransformHints(), + this.render()); + }, + }, + { + key: "render", + value: function () { + this.panelCtrl.render(); + }, + }, + { + key: "removeColumn", + value: function (e) { + (this.panel.columns = j.a.without(this.panel.columns, e)), + this.panelCtrl.render(); + }, + }, + ]) && Ba(t.prototype, n), + r && Ba(t, r), + e + ); + })(); + function qa(e) { + return { + restrict: "E", + scope: !0, + templateUrl: "public/app/plugins/panel/table/editor.html", + controller: $a, + }; + } + function Ua(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var za = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.editor = this), + (this.activeStyleIndex = 0), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + (this.unitFormats = Object(Q.getValueFormats)()), + (this.colorModes = [ + { text: "Disabled", value: null }, + { text: "Cell", value: "cell" }, + { text: "Value", value: "value" }, + { text: "Row", value: "row" }, + ]), + (this.columnTypes = [ + { text: "Number", value: "number" }, + { text: "String", value: "string" }, + { text: "Date", value: "date" }, + { text: "Hidden", value: "hidden" }, + ]), + (this.fontSizes = [ + "80%", + "90%", + "100%", + "110%", + "120%", + "130%", + "150%", + "160%", + "180%", + "200%", + "220%", + "250%", + ]), + (this.dateFormats = [ + { text: "YYYY-MM-DD HH:mm:ss", value: "YYYY-MM-DD HH:mm:ss" }, + { + text: "YYYY-MM-DD HH:mm:ss.SSS", + value: "YYYY-MM-DD HH:mm:ss.SSS", + }, + { text: "MM/DD/YY h:mm:ss a", value: "MM/DD/YY h:mm:ss a" }, + { text: "MMMM D, YYYY LT", value: "MMMM D, YYYY LT" }, + { text: "YYYY-MM-DD", value: "YYYY-MM-DD" }, + ]), + (this.mappingTypes = [ + { text: "Value to text", value: 1 }, + { text: "Range to text", value: 2 }, + ]), + (this.alignTypes = e.alignTypesEnum), + (this.getColumnNames = function () { + return n.panelCtrl.table + ? j.a.map(n.panelCtrl.table.columns, function (e) { + return e.text; + }) + : []; + }), + (this.onColorChange = this.onColorChange.bind(this)); + } + var t, n, r; + return ( + (e.$inject = ["$scope"]), + (t = e), + (n = [ + { + key: "render", + value: function () { + this.panelCtrl.render(); + }, + }, + { + key: "setUnitFormat", + value: function (e) { + var t = this; + return function (n) { + (e.unit = n), t.panelCtrl.render(); + }; + }, + }, + { + key: "addColumnStyle", + value: function () { + var e = this.panel.styles, + t = e.length, + n = t; + t > 0 && "/.*/" === e[t - 1].pattern && (n = t - 1), + e.splice(n, 0, { + unit: "short", + type: "number", + alias: "", + decimals: 2, + colors: [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)", + ], + colorMode: null, + pattern: "", + dateFormat: "YYYY-MM-DD HH:mm:ss", + thresholds: [], + mappingType: 1, + align: "auto", + }), + (this.activeStyleIndex = n); + }, + }, + { + key: "removeColumnStyle", + value: function (e) { + this.panel.styles = j.a.without(this.panel.styles, e); + }, + }, + { + key: "invertColorOrder", + value: function (e) { + var t = this.panel.styles[e].colors, + n = t[0]; + (t[0] = t[2]), (t[2] = n), this.panelCtrl.render(); + }, + }, + { + key: "onColorChange", + value: function (e, t) { + var n = this; + return function (r) { + (e.colors[t] = r), n.render(); + }; + }, + }, + { + key: "addValueMap", + value: function (e) { + e.valueMaps || (e.valueMaps = []), + e.valueMaps.push({ value: "", text: "" }), + this.panelCtrl.render(); + }, + }, + { + key: "removeValueMap", + value: function (e, t) { + e.valueMaps.splice(t, 1), this.panelCtrl.render(); + }, + }, + { + key: "addRangeMap", + value: function (e) { + e.rangeMaps || (e.rangeMaps = []), + e.rangeMaps.push({ from: "", to: "", text: "" }), + this.panelCtrl.render(); + }, + }, + { + key: "removeRangeMap", + value: function (e, t) { + e.rangeMaps.splice(t, 1), this.panelCtrl.render(); + }, + }, + ]) && Ua(t.prototype, n), + r && Ua(t, r), + e + ); + })(); + function Ha(e) { + return { + restrict: "E", + scope: !0, + templateUrl: "public/app/plugins/panel/table/column_options.html", + controller: za, + }; + } + function Ga(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + za.alignTypesEnum = [ + { text: "auto", value: "" }, + { text: "left", value: "left" }, + { text: "center", value: "center" }, + { text: "right", value: "right" }, + ]; + var Wa = (function () { + function e(t, n, r, a, o, i) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panel = t), + (this.table = n), + (this.isUtc = r), + (this.sanitize = a), + (this.templateSrv = o), + (this.theme = i), + this.initColumns(); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "setTable", + value: function (e) { + (this.table = e), this.initColumns(); + }, + }, + { + key: "initColumns", + value: function () { + (this.formatters = []), (this.colorState = {}); + for (var e = 0; e < this.table.columns.length; e++) { + var t = this.table.columns[e]; + t.title = t.text; + for (var n = 0; n < this.panel.styles.length; n++) { + var r = this.panel.styles[n], + a = Object(Q.stringStartsAsRegEx)(r.pattern) + ? r.pattern + : Object(Q.escapeStringForRegex)( + Object(Q.unEscapeStringFromRegex)(r.pattern) + ), + o = Object(Q.stringToJsRegex)(a); + if (t.text.match(o)) { + (t.style = r), + r.alias && + (t.title = Object(te.a)(t.text.replace(o, r.alias))); + break; + } + } + this.formatters[e] = this.createColumnFormatter(t); + } + }, + }, + { + key: "getColorForValue", + value: function (e, t) { + if (!t.thresholds || !t.colors) return null; + for (var n = t.thresholds.length; n > 0; n--) + if (e >= t.thresholds[n - 1]) + return Object(Q.getColorFromHexRgbOrName)( + t.colors[n], + this.theme + ); + return Object(Q.getColorFromHexRgbOrName)( + j.a.first(t.colors), + this.theme + ); + }, + }, + { + key: "defaultCellFormatter", + value: function (e, t) { + return null == e || void 0 === e + ? "" + : (j.a.isArray(e) && (e = e.join(", ")), + t && t.sanitize ? this.sanitize(e) : j.a.escape(e)); + }, + }, + { + key: "createColumnFormatter", + value: function (e) { + var t = this; + if (!e.style) return this.defaultCellFormatter; + if ("hidden" === e.style.type) return function (e) {}; + if ("date" === e.style.type) + return function (n) { + if (null == n) return "-"; + j.a.isArray(n) && (n = n[0]), + j.a.isString(n) && + !isNaN(n) && + n.length > 12 && + (n = parseInt(n, 10)); + var r = Object(Q.dateTime)(n); + return ( + t.isUtc && (r = r.utc()), r.format(e.style.dateFormat) + ); + }; + if ("string" === e.style.type) + return function (n) { + j.a.isArray(n) && (n = n.join(", ")); + var r = e.style.mappingType || 0; + if (1 === r && e.style.valueMaps) + for (var a = 0; a < e.style.valueMaps.length; a++) { + var o = e.style.valueMaps[a]; + if (null !== n) { + if ( + (!j.a.isString(n) && + Number(o.value) === Number(n)) || + o.value === n + ) + return ( + t.setColorState(n, e.style), + t.defaultCellFormatter(o.text, e.style) + ); + } else if ("null" === o.value) return o.text; + } + if (2 === r && e.style.rangeMaps) + for (var i = 0; i < e.style.rangeMaps.length; i++) { + var l = e.style.rangeMaps[i]; + if (null !== n) { + if ( + Number(l.from) <= Number(n) && + Number(l.to) >= Number(n) + ) + return ( + t.setColorState(n, e.style), + t.defaultCellFormatter(l.text, e.style) + ); + } else if ("null" === l.from && "null" === l.to) + return l.text; + } + return null == n + ? "-" + : (t.setColorState(n, e.style), + t.defaultCellFormatter(n, e.style)); + }; + if ("number" === e.style.type) { + var n = Object(Q.getValueFormat)(e.unit || e.style.unit); + return function (r) { + return null == r + ? "-" + : isNaN(r) || j.a.isArray(r) + ? t.defaultCellFormatter(r, e.style) + : (t.setColorState(r, e.style), + Object(Q.formattedValueToString)( + n(r, e.style.decimals, null) + )); + }; + } + return function (n) { + return t.defaultCellFormatter(n, e.style); + }; + }, + }, + { + key: "setColorState", + value: function (e, t) { + if (t.colorMode && null != e && !j.a.isArray(e)) { + var n = Number(e); + isNaN(n) || + (this.colorState[t.colorMode] = this.getColorForValue( + n, + t + )); + } + }, + }, + { + key: "renderRowVariables", + value: function (e) { + for ( + var t = {}, n = this.table.rows[e], r = 0; + r < n.length; + r++ + ) + t["__cell_".concat(r)] = { + value: n[r], + text: n[r] ? n[r].toString() : "", + }; + return t; + }, + }, + { + key: "formatColumnValue", + value: function (e, t) { + var n = this.formatters[e]; + return n ? n(t) : t; + }, + }, + { + key: "renderCell", + value: function (e, t, n) { + var r = + arguments.length > 3 && + void 0 !== arguments[3] && + arguments[3]; + n = this.formatColumnValue(e, n); + var a = this.table.columns[e], + o = [], + i = "", + l = [], + s = ""; + this.colorState.cell + ? (o.push("background-color:" + this.colorState.cell), + l.push("table-panel-color-cell"), + (this.colorState.cell = null)) + : this.colorState.value && + (o.push("color:" + this.colorState.value), + (this.colorState.value = null)); + var c = ""; + if ( + (r && + (c = + '<div class="table-panel-width-hack">' + + this.table.columns[e].title + + "</div>"), + void 0 === n + ? (o.push("display:none"), (a.hidden = !0)) + : (a.hidden = !1), + !0 === a.hidden) + ) + return ""; + if ( + (a.style && + a.style.preserveFormat && + l.push("table-panel-cell-pre"), + a.style && a.style.align) + ) { + var u = j.a.find(za.alignTypesEnum, ["text", a.style.align]); + u && u.value && o.push("text-align:".concat(u.value)); + } + if ( + (o.length && (i = ' style="' + o.join(";") + '"'), + a.style && a.style.link) + ) { + var f = this.renderRowVariables(t); + f.__cell = { value: n, text: n ? n.toString() : "" }; + var d = this.templateSrv.replace( + a.style.linkUrl, + f, + encodeURIComponent + ), + p = Object(te.d)(d), + h = Object(te.a)( + this.templateSrv.replace(a.style.linkTooltip, f) + ), + m = a.style.linkTargetBlank ? "_blank" : ""; + l.push("table-panel-cell-link"), + (c += '<a href="' + .concat(p, '" target="') + .concat(m, '" data-link-tooltip data-original-title="') + .concat(h, '" data-placement="right"') + .concat(i, ">")), + (c += "".concat(n)), + (c += "</a>"); + } else c += n; + return ( + a.filterable && + (l.push("table-panel-cell-filterable"), + (c += '<a class="table-panel-filter-link" data-link-tooltip data-original-title="Filter out value" data-placement="bottom"\n data-row="' + .concat(t, '" data-column="') + .concat(e, '" data-operator="!=">')), + (c += '<i class="fa fa-search-minus"></i>'), + (c += "</a>"), + (c += '<a class="table-panel-filter-link" data-link-tooltip data-original-title="Filter for value" data-placement="bottom"\n data-row="' + .concat(t, '" data-column="') + .concat(e, '" data-operator="=">')), + (c += '<i class="fa fa-search-plus"></i>'), + (c += "</a>")), + l.length && (s = ' class="' + l.join(" ") + '"'), + (c = "<td" + s + i + ">" + c + "</td>") + ); + }, + }, + { + key: "render", + value: function (e) { + for ( + var t = this.panel.pageSize || 100, + n = e * t, + r = Math.min(n + t, this.table.rows.length), + a = "", + o = n; + o < r; + o++ + ) { + for ( + var i = this.table.rows[o], + l = "", + s = "", + c = [], + u = "", + f = 0; + f < this.table.columns.length; + f++ + ) + l += this.renderCell(f, o, i[f], o === n); + this.colorState.row && + ((s = + ' style="background-color:' + this.colorState.row + '"'), + c.push("table-panel-color-row"), + (this.colorState.row = null)), + c.length && (u = ' class="' + c.join(" ") + '"'), + (a += "<tr " + u + s + ">" + l + "</tr>"); + } + return a; + }, + }, + { + key: "render_values", + value: function () { + for ( + var e = [], + t = this.table.columns.filter(function (e) { + return !e.hidden; + }), + n = 0; + n < this.table.rows.length; + n++ + ) { + for ( + var r = this.table.rows[n], a = [], o = 0; + o < this.table.columns.length; + o++ + ) + this.table.columns[o].hidden || + a.push(this.formatColumnValue(o, r[o])); + e.push(a); + } + return { columns: t, rows: e }; + }, + }, + ]) && Ga(t.prototype, n), + r && Ga(t, r), + e + ); + })(); + function Qa(e) { + return (Qa = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ya(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ka(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function Ja(e, t, n) { + return (Ja = + "undefined" != typeof Reflect && Reflect.get + ? Reflect.get + : function (e, t, n) { + var r = (function (e, t) { + for ( + ; + !Object.prototype.hasOwnProperty.call(e, t) && + null !== (e = Za(e)); + + ); + return e; + })(e, t); + if (r) { + var a = Object.getOwnPropertyDescriptor(r, t); + return a.get ? a.get.call(n) : a.value; + } + })(e, t, n || e); + } + function Za(e) { + return (Za = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Xa(e, t) { + return (Xa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var eo = (function (e) { + function t(e, n, r, a, o, i) { + var l, s, c; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (s = this), + ((l = + !(c = Za(t).call(this, e, n)) || + ("object" !== Qa(c) && "function" != typeof c) + ? Ka(s) + : c).annotationsSrv = a), + (l.$sanitize = o), + (l.variableSrv = i), + (l.panelDefaults = { + targets: [{}], + transform: "timeseries_to_columns", + pageSize: null, + showHeader: !0, + styles: [ + { + type: "date", + pattern: "Time", + alias: "Time", + dateFormat: "YYYY-MM-DD HH:mm:ss", + align: "auto", + }, + { + unit: "short", + type: "number", + alias: "", + decimals: 2, + colors: [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)", + ], + colorMode: null, + pattern: "/.*/", + thresholds: [], + align: "right", + }, + ], + columns: [], + fontSize: "100%", + sort: { col: 0, desc: !0 }, + }), + (l.pageIndex = 0), + void 0 === l.panel.styles && + ((l.panel.styles = l.panel.columns), + (l.panel.columns = l.panel.fields), + delete l.panel.columns, + delete l.panel.fields), + j.a.defaults(l.panel, l.panelDefaults), + l.events.on( + Q.PanelEvents.dataReceived, + l.onDataReceived.bind(Ka(l)) + ), + l.events.on( + Q.PanelEvents.dataSnapshotLoad, + l.onDataReceived.bind(Ka(l)) + ), + l.events.on( + Q.PanelEvents.editModeInitialized, + l.onInitEditMode.bind(Ka(l)) + ), + l.events.on( + Q.PanelEvents.initPanelActions, + l.onInitPanelActions.bind(Ka(l)) + ), + l + ); + } + var n, r, a; + return ( + (t.$inject = [ + "$scope", + "$injector", + "templateSrv", + "annotationsSrv", + "$sanitize", + "variableSrv", + ]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Xa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + this.addEditorTab("Options", qa, 2), + this.addEditorTab("Column Styles", Ha, 3); + }, + }, + { + key: "onInitPanelActions", + value: function (e) { + e.push({ text: "Export CSV", click: "ctrl.exportCsv()" }); + }, + }, + { + key: "issueQueries", + value: function (e) { + var n = this; + return ( + (this.pageIndex = 0), + "annotations" === this.panel.transform + ? this.annotationsSrv + .getAnnotations({ + dashboard: this.dashboard, + panel: this.panel, + range: this.range, + }) + .then(function (e) { + return ( + (n.loading = !1), + (n.dataRaw = e), + (n.pageIndex = 0), + n.render(), + { data: n.dataRaw } + ); + }) + : Ja(Za(t.prototype), "issueQueries", this).call(this, e) + ); + }, + }, + { + key: "onDataReceived", + value: function (e) { + (this.dataRaw = e), + (this.pageIndex = 0), + this.dataRaw && + this.dataRaw.length && + (Object(Q.isTableData)(this.dataRaw[0]) + ? (this.panel.transform = "table") + : "docs" === this.dataRaw[0].type + ? (this.panel.transform = "json") + : ("table" !== this.panel.transform && + "json" !== this.panel.transform) || + (this.panel.transform = "timeseries_to_rows")), + this.render(); + }, + }, + { + key: "render", + value: function () { + return ( + (this.table = (function (e, t) { + var n = new G.a(); + if (!e || 0 === e.length) return n; + var r = Fa[t.transform]; + if (!r) + throw { + message: "Transformer " + t.transform + " not found", + }; + return r.transform(e, t, n), n; + })(this.dataRaw, this.panel)), + this.table.sort(this.panel.sort), + (this.renderer = new Wa( + this.panel, + this.table, + this.dashboard.isTimezoneUtc(), + this.$sanitize, + this.templateSrv, + z.b.theme.type + )), + Ja(Za(t.prototype), "render", this).call(this, this.table) + ); + }, + }, + { + key: "toggleColumnSort", + value: function (e, t) { + this.table.columns[this.panel.sort.col] && + (this.table.columns[this.panel.sort.col].sort = !1), + this.panel.sort.col === t + ? this.panel.sort.desc + ? (this.panel.sort.desc = !1) + : (this.panel.sort.col = null) + : ((this.panel.sort.col = t), (this.panel.sort.desc = !0)), + this.render(); + }, + }, + { + key: "exportCsv", + value: function () { + var e = this.$scope.$new(!0); + (e.tableData = this.renderer.render_values()), + (e.panel = "table"), + this.publishAppEvent(wt.CoreEvents.showModal, { + templateHtml: + '<export-data-modal panel="panel" data="tableData"></export-data-modal>', + scope: e, + modalClass: "modal--narrow", + }); + }, + }, + { + key: "link", + value: function (e, t, n, r) { + var a, + o = r.panel, + i = 0; + function l() { + var e, + n = t.parents(".panel-content"), + l = t.find(".table-panel-scroll"), + s = t.find("tbody"), + c = t.find(".table-panel-footer"); + t.css({ "font-size": o.fontSize }), + n.addClass("table-panel-content"), + (function (e) { + r.renderer.setTable(a), + e.empty(), + e.html(r.renderer.render(r.pageIndex)); + })(s), + (function (e) { + e.empty(); + var t = o.pageSize || 100; + if (1 !== (i = Math.ceil(a.rows.length / t))) { + for ( + var n = Math.max(r.pageIndex - 3, 0), + l = Math.min(i, n + 9), + s = _()("<ul></ul>"), + c = n; + c < l; + c++ + ) { + var u = c === r.pageIndex ? "active" : "", + f = _()( + '<li><a class="table-panel-page-link pointer ' + + u + + '">' + + (c + 1) + + "</a></li>" + ); + s.append(f); + } + e.append(s); + } + })(c), + l.css({ + "max-height": + ((e = r.height), i > 1 && (e -= 26), e - 31 + "px"), + }); + } + t.tooltip({ selector: "[data-link-tooltip]" }), + t.on("click", ".table-panel-page-link", function (e) { + var t = _()(e.currentTarget); + (r.pageIndex = parseInt(t.text(), 10) - 1), l(); + }), + t.on("click", ".table-panel-filter-link", function (e) { + var t = _()(e.currentTarget).data(), + n = { + datasource: o.datasource, + key: a.columns[t.column].text, + value: a.rows[t.row][t.column], + operator: t.operator, + }; + r.variableSrv.setAdhocFilter(n); + }); + var s = e.$on("$destroy", function () { + t.off("click", ".table-panel-page-link"), + t.off("click", ".table-panel-filter-link"), + s(); + }); + r.events.on(Q.PanelEvents.render, function (e) { + (a = e || a) && l(), r.renderingCompleted(); + }); + }, + }, + ]) && Ya(n.prototype, r), + a && Ya(n, a), + t + ); + })(S.MetricsPanelCtrl); + eo.templateUrl = "module.html"; + var to = new Q.PanelPlugin(null); + function no(e) { + return (no = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ro(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ao(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ro(Object(n), !0).forEach(function (t) { + oo(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ro(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function oo(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function io(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function lo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function so(e, t) { + return !t || ("object" !== no(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function co(e) { + return (co = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function uo(e, t) { + return (uo = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + (to.angularPanelCtrl = eo), to.setNoPadding(); + var fo = (function (e) { + function t() { + var e, n; + io(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = so( + this, + (e = co(t)).call.apply(e, [this].concat(a)) + )).onToggleShowHeader = function () { + n.props.onOptionsChange( + ao({}, n.props.options, { + showHeader: !n.props.options.showHeader, + }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && uo(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options.showHeader; + return V.a.createElement( + "div", + null, + V.a.createElement( + "div", + { className: "section gf-form-group" }, + V.a.createElement( + "h5", + { className: "section-heading" }, + "Header" + ), + V.a.createElement(se.Switch, { + label: "Show", + labelClass: "width-6", + checked: e, + onChange: this.onToggleShowHeader, + }) + ) + ); + }, + }, + ]) && lo(n.prototype, r), + a && lo(n, a), + t + ); + })(L.PureComponent), + po = new Q.Registry(function () { + return [ + { + id: "width", + name: "Column width", + description: "column width (for table)", + editor: se.NumberValueEditor, + override: se.NumberOverrideEditor, + process: se.numberOverrideProcessor, + settings: { placeholder: "auto", min: 20, max: 300 }, + shouldApply: function () { + return !0; + }, + }, + { + id: "displayMode", + name: "Cell display mode", + description: "Color value, background, show as gauge, etc", + editor: se.SelectValueEditor, + override: se.SelectOverrideEditor, + process: se.selectOverrideProcessor, + settings: { + options: [ + { value: "auto", label: "Auto" }, + { value: "color-background", label: "Color background" }, + { value: "gradient-gauge", label: "Gradient gauge" }, + { value: "lcd-gauge", label: "LCD gauge" }, + ], + }, + shouldApply: function () { + return !0; + }, + }, + ]; + }); + function ho(e) { + return (ho = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function mo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function go(e, t) { + return !t || ("object" !== ho(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function bo(e) { + return (bo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function vo(e, t) { + return (vo = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var yo = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + go(this, bo(t).call(this, e)) + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && vo(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.data, + n = e.height, + r = e.width, + a = e.replaceVariables, + o = e.options; + if (t.series.length < 1) + return V.a.createElement("div", null, "No Table Data..."); + var i = Object(Q.applyFieldOverrides)({ + data: t.series, + fieldOptions: o.fieldOptions, + theme: z.a.theme, + replaceVariables: a, + custom: po, + })[0]; + return V.a.createElement(se.Table, { + height: n - 16, + width: r, + data: i, + }); + }, + }, + ]) && mo(n.prototype, r), + a && mo(n, a), + t + ); + })(L.Component), + wo = new Q.PanelPlugin(yo) + .setDefaults({ + fieldOptions: { defaults: {}, overrides: [] }, + showHeader: !0, + }) + .setCustomFieldConfigs(po) + .setEditor(fo), + Oo = (n("0X5I"), n("UIT+")); + function xo(e) { + return (xo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ko(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function jo(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ko(Object(n), !0).forEach(function (t) { + So(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ko(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function So(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Eo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Co(e) { + return (Co = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Po(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function To(e, t) { + return (To = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Do = (function (e) { + function t(e, n, r, a) { + var o, i, l; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (i = this), + ((o = + !(l = Co(t).call(this, e, n)) || + ("object" !== xo(l) && "function" != typeof l) + ? Po(i) + : l).linkSrv = r), + (o.$sanitize = a), + (o.data = {}), + (o.fieldNames = []), + (o.valueNameOptions = [ + { value: "min", text: "Min" }, + { value: "max", text: "Max" }, + { value: "avg", text: "Average" }, + { value: "current", text: "Current" }, + { value: "total", text: "Total" }, + { value: "name", text: "Name" }, + { value: "first", text: "First" }, + { value: "delta", text: "Delta" }, + { value: "diff", text: "Difference" }, + { value: "range", text: "Range" }, + { value: "last_time", text: "Time of last point" }, + ]), + (o.panelDefaults = { + links: [], + datasource: null, + maxDataPoints: 100, + interval: null, + targets: [{}], + cacheTimeout: null, + format: "none", + prefix: "", + postfix: "", + nullText: null, + valueMaps: [{ value: "null", op: "=", text: "N/A" }], + mappingTypes: [ + { name: "value to text", value: 1 }, + { name: "range to text", value: 2 }, + ], + rangeMaps: [{ from: "null", to: "null", text: "N/A" }], + mappingType: 1, + nullPointMode: "connected", + valueName: "avg", + prefixFontSize: "50%", + valueFontSize: "80%", + postfixFontSize: "50%", + thresholds: "", + colorBackground: !1, + colorValue: !1, + colors: ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"], + sparkline: { + show: !1, + full: !1, + ymin: null, + ymax: null, + lineColor: "rgb(31, 120, 193)", + fillColor: "rgba(31, 118, 189, 0.18)", + }, + gauge: { + show: !1, + minValue: 0, + maxValue: 100, + thresholdMarkers: !0, + thresholdLabels: !1, + }, + tableColumn: "", + }), + j.a.defaults(o.panel, o.panelDefaults), + o.events.on( + wt.CoreEvents.dataFramesReceived, + o.onFramesReceived.bind(Po(o)) + ), + o.events.on( + Q.PanelEvents.dataSnapshotLoad, + o.onSnapshotLoad.bind(Po(o)) + ), + o.events.on( + Q.PanelEvents.editModeInitialized, + o.onInitEditMode.bind(Po(o)) + ), + (o.useDataFrames = !0), + (o.onSparklineColorChange = o.onSparklineColorChange.bind(Po(o))), + (o.onSparklineFillChange = o.onSparklineFillChange.bind(Po(o))), + o + ); + } + var n, r, a; + return ( + (t.$inject = ["$scope", "$injector", "linkSrv", "$sanitize"]), + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && To(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "onInitEditMode", + value: function () { + (this.fontSizes = [ + "20%", + "30%", + "50%", + "70%", + "80%", + "100%", + "110%", + "120%", + "150%", + "170%", + "200%", + ]), + this.addEditorTab( + "Options", + "public/app/plugins/panel/singlestat/editor.html", + 2 + ), + this.addEditorTab( + "Value Mappings", + "public/app/plugins/panel/singlestat/mappings.html", + 3 + ); + }, + }, + { + key: "migrateToGaugePanel", + value: function (e) { + e + ? this.onPluginTypeChange(z.b.panels.gauge) + : ((this.panel.gauge.show = !1), this.render()); + }, + }, + { + key: "setUnitFormat", + value: function () { + var e = this; + return function (t) { + (e.panel.format = t), e.refresh(); + }; + }, + }, + { + key: "onSnapshotLoad", + value: function (e) { + this.onFramesReceived(Object(Un.a)(e)); + }, + }, + { + key: "onFramesReceived", + value: function (e) { + var t = this.panel; + if (e && e.length > 1) + return ( + (this.data = { + value: 0, + display: { + text: + "Only queries that return single series/table is supported", + numeric: NaN, + }, + }), + void this.render() + ); + var n = (function (e) { + var t = { byName: {}, names: [] }, + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value, + s = { frame: l }, + c = !0, + u = !1, + f = void 0; + try { + for ( + var d, p = l.fields[Symbol.iterator](); + !(c = (d = p.next()).done); + c = !0 + ) { + var h = d.value; + if (h.type === Q.FieldType.time) + s.firstTimeField || (s.firstTimeField = h); + else { + var m = { field: h, frame: s }; + t.first || (t.first = m); + var g = h.config.title; + g && + !t.byName[g] && + ((t.byName[g] = m), t.names.push(g)), + (g = h.name) && + !t.byName[g] && + ((t.byName[g] = m), t.names.push(g)); + } + } + } catch (e) { + (u = !0), (f = e); + } finally { + try { + c || null == p.return || p.return(); + } finally { + if (u) throw f; + } + } + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + })(e), + r = n.byName[t.tableColumn]; + if (((this.fieldNames = n.names), r || (r = n.first), r)) + this.data = this.processField(r); + else { + var a = Object(Q.getDisplayProcessor)({ + field: { + config: { + mappings: Object(se.convertOldAngularValueMapping)( + this.panel + ), + noValue: "No Data", + }, + }, + theme: z.b.theme, + }); + this.data = { value: null, display: a(null) }; + } + this.render(); + }, + }, + { + key: "processField", + value: function (e) { + var t = this.panel, + n = this.dashboard, + r = e.field.config.title || e.field.name, + a = t.valueName, + o = e.field, + i = void 0; + if ("name" === a) i = r; + else { + "last_time" === a && + e.frame.firstTimeField && + ((o = e.frame.firstTimeField), (a = Q.ReducerID.last)); + var l = Q.fieldReducers.getIfExists(a); + l + ? ((a = l.id), + o.type === Q.FieldType.string && + [Q.ReducerID.mean, Q.ReducerID.sum].includes(a) && + (a = t.valueName = Q.ReducerID.first)) + : (a = Q.ReducerID.lastNotNull), + (i = Object(Q.reduceField)({ field: o, reducers: [a] })[a]); + } + var s = Object(Q.getDisplayProcessor)({ + field: jo({}, e.field, { + config: jo({}, e.field.config, { + unit: t.format, + decimals: t.decimals, + mappings: Object(se.convertOldAngularValueMapping)(t), + }), + }), + theme: z.b.theme, + timeZone: n.getTimezone(), + }), + c = { + field: e.field, + value: i, + display: s(i), + scopedVars: j.a.extend({}, t.scopedVars), + sparkline: [], + }; + return ( + (c.scopedVars.__name = { value: r }), + (t.tableColumn = this.fieldNames.length > 1 ? r : ""), + t.sparkline && + t.sparkline.show && + e.frame.firstTimeField && + (c.sparkline = Object(Q.getFlotPairs)({ + xField: e.frame.firstTimeField, + yField: e.field, + nullValueMode: t.nullPointMode, + })), + c + ); + }, + }, + { + key: "canModifyText", + value: function () { + return !this.panel.gauge.show; + }, + }, + { + key: "setColoring", + value: function (e) { + e.background + ? ((this.panel.colorValue = !1), + (this.panel.colors = [ + "rgba(71, 212, 59, 0.4)", + "rgba(245, 150, 40, 0.73)", + "rgba(225, 40, 40, 0.59)", + ])) + : ((this.panel.colorBackground = !1), + (this.panel.colors = [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)", + ])), + this.render(); + }, + }, + { + key: "invertColorOrder", + value: function () { + var e = this.panel.colors[0]; + (this.panel.colors[0] = this.panel.colors[2]), + (this.panel.colors[2] = e), + this.render(); + }, + }, + { + key: "onColorChange", + value: function (e) { + var t = this; + return function (n) { + (t.panel.colors[e] = n), t.render(); + }; + }, + }, + { + key: "onSparklineColorChange", + value: function (e) { + (this.panel.sparkline.lineColor = e), this.render(); + }, + }, + { + key: "onSparklineFillChange", + value: function (e) { + (this.panel.sparkline.fillColor = e), this.render(); + }, + }, + { + key: "removeValueMap", + value: function (e) { + var t = j.a.indexOf(this.panel.valueMaps, e); + this.panel.valueMaps.splice(t, 1), this.render(); + }, + }, + { + key: "addValueMap", + value: function () { + this.panel.valueMaps.push({ value: "", op: "=", text: "" }); + }, + }, + { + key: "removeRangeMap", + value: function (e) { + var t = j.a.indexOf(this.panel.rangeMaps, e); + this.panel.rangeMaps.splice(t, 1), this.render(); + }, + }, + { + key: "addRangeMap", + value: function () { + this.panel.rangeMaps.push({ from: "", to: "", text: "" }); + }, + }, + { + key: "link", + value: function (e, t, n, r) { + var a, + o = this.$location, + i = this.linkSrv, + l = this.$timeout, + s = this.$sanitize, + c = r.panel, + u = this.templateSrv, + f = null; + function d() { + return t.closest(".panel-container"); + } + function p(e, t, n, a) { + var o, i, l; + return ( + (a = s(u.replace(a, r.data.scopedVars))), + (a = n + ? ((o = a), + (i = r.data), + (l = Ao(i, i.value)) + ? '<span style="color:' + l + '">' + o + "</span>" + : o) + : a), + '<span class="' + + e + + '" style="font-size:' + + (parseInt(t, 10) / 100) * 38 + + 'px">' + + a + + "</span>" + ); + } + function h() { + var e = r.data, + t = '<div class="singlestat-panel-value-container">'; + return ( + c.prefix && + (t += p( + "singlestat-panel-prefix", + c.prefixFontSize, + c.colorPrefix, + c.prefix + )), + (t += p( + "singlestat-panel-value", + c.valueFontSize, + c.colorValue, + Object(Q.formattedValueToString)(e.display) + )), + c.postfix && + (t += p( + "singlestat-panel-postfix", + c.postfixFontSize, + c.colorPostfix, + c.postfix + )), + (t += "</div>") + ); + } + function m() { + var e = r.data, + n = t.width(), + a = t.height(), + o = Math.min(n, 1.3 * a); + if ( + ((r.invalidGaugeRange = !1), + c.gauge.minValue > c.gauge.maxValue) + ) + r.invalidGaugeRange = !0; + else { + var i = _()("<div></div>"), + l = { + top: "5px", + margin: "auto", + position: "relative", + height: 0.9 * a + "px", + width: o + "px", + }; + i.css(l); + for (var s = [], f = 0; f < e.thresholds.length; f++) + s.push({ value: e.thresholds[f], color: e.colorMap[f] }); + s.push({ + value: c.gauge.maxValue, + color: e.colorMap[e.colorMap.length - 1], + }); + var d = z.b.bootData.user.lightTheme + ? "rgb(230,230,230)" + : "rgb(38,38,38)", + p = parseInt(c.valueFontSize, 10) / 100, + h = Math.min(o / 5, 100) * p, + m = c.gauge.thresholdLabels ? 1.5 : 1, + g = Math.min(o / 6, 60) / m, + b = g / 5, + v = h / 2.5, + y = { + series: { + gauges: { + gauge: { + min: c.gauge.minValue, + max: c.gauge.maxValue, + background: { color: d }, + border: { color: null }, + shadow: { show: !1 }, + width: g, + }, + frame: { show: !1 }, + label: { show: !1 }, + layout: { margin: 0, thresholdWidth: 0 }, + cell: { border: { width: 0 } }, + threshold: { + values: s, + label: { + show: c.gauge.thresholdLabels, + margin: b + 1, + font: { size: v }, + }, + show: c.gauge.thresholdMarkers, + width: b, + }, + value: { + color: c.colorValue + ? Ao(e, e.display.numeric) + : null, + formatter: function () { + return (function () { + var e = r.data, + t = c.prefix + ? u.replace(c.prefix, e.scopedVars) + : ""; + return ( + (t += Object(Q.formattedValueToString)( + e.display + )), + (t += c.postfix + ? u.replace(c.postfix, e.scopedVars) + : "") + ); + })(); + }, + font: { + size: h, + family: + z.b.theme.typography.fontFamily.sansSerif, + }, + }, + show: !0, + }, + }, + }; + t.append(i); + var w = { data: [[0, e.value]] }; + _.a.plot(i, [w], y); + } + } + function g() { + var e = r.data, + n = t.width(); + if (n < 30) setTimeout(g, 30); + else if (e.sparkline && e.sparkline.length) { + var a = r.height, + o = _()("<div></div>"), + i = { position: "absolute", bottom: "0px" }; + if (c.sparkline.full) { + (i.left = "0px"), (i.width = n + "px"); + var l = a <= 100 ? 5 : 15 * Math.round(a / 100) + 5; + i.height = a - l + "px"; + } else + (i.left = "0px"), + (i.width = n + "px"), + (i.height = Math.floor(0.25 * a) + "px"); + o.css(i); + var s = { + legend: { show: !1 }, + series: { + lines: { + show: !0, + fill: 1, + lineWidth: 1, + fillColor: Object(Q.getColorFromHexRgbOrName)( + c.sparkline.fillColor, + z.b.theme.type + ), + zero: !1, + }, + }, + yaxis: { + show: !1, + min: c.sparkline.ymin, + max: c.sparkline.ymax, + }, + xaxis: { + show: !1, + mode: "time", + min: r.range.from.valueOf(), + max: r.range.to.valueOf(), + }, + grid: { hoverable: !1, show: !1 }, + }; + t.append(o); + var u = { + data: e.sparkline, + color: Object(Q.getColorFromHexRgbOrName)( + c.sparkline.lineColor, + z.b.theme.type + ), + }; + _.a.plot(o, [u], s); + } + } + (t = t.find(".singlestat-panel")), + (a = _()('<div id="tooltip" class="">hello</div>"')), + t.mouseleave(function () { + 0 !== c.links.length && + l(function () { + a.detach(); + }); + }), + t.click(function (e) { + f && + (_()(e).parents(".panel-header").length > 0 || + ("_blank" !== f.target + ? (0 === f.href.indexOf("http") + ? (window.location.href = f.href) + : l(function () { + o.url(Oo.b.stripBaseFromUrl(f.href)); + }), + a.detach()) + : window.open(f.href, "_blank"))); + }), + t.mousemove(function (e) { + f && + (a.text("click to go to: " + f.title), + a.place_tt(e.pageX, e.pageY - 50)); + }), + this.events.on(Q.PanelEvents.render, function () { + !(function () { + if (r.data) { + var n = r.data, + a = r.panel; + (n.thresholds = a.thresholds + ? a.thresholds.split(",").map(function (e) { + return Number(e.trim()); + }) + : []), + a.colors && + (n.colorMap = a.colors.map(function (e) { + return Object(Q.getColorFromHexRgbOrName)( + e, + z.b.theme.type + ); + })); + var o = a.gauge.show ? "" : h(); + if (a.colorBackground) { + var l = Ao(n, n.display.numeric); + l + ? (d().css("background-color", l), + e.fullscreen + ? t.css("background-color", l) + : t.css("background-color", "")) + : (d().css("background-color", ""), + t.css("background-color", "")); + } else + d().css("background-color", ""), + t.css("background-color", ""); + t.html(o), + a.sparkline.show && g(), + a.gauge.show && m(), + t.toggleClass("pointer", a.links.length > 0), + (f = + a.links.length > 0 + ? i.getDataLinkUIModel( + a.links[0], + n.scopedVars, + {} + ) + : null); + } + })(), + r.renderingCompleted(); + }); + }, + }, + ]) && Eo(n.prototype, r), + a && Eo(n, a), + t + ); + })(S.MetricsPanelCtrl); + function Ao(e, t) { + if (!j.a.isFinite(t)) return null; + for (var n = e.thresholds.length; n > 0; n--) + if (t >= e.thresholds[n - 1]) return e.colorMap[n]; + return j.a.first(e.colorMap); + } + function _o(e) { + return (_o = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function No(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Mo(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? No(Object(n), !0).forEach(function (t) { + Io(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : No(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Io(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Ro(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Fo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Lo(e, t) { + return !t || ("object" !== _o(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Vo(e) { + return (Vo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Bo(e, t) { + return (Bo = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + Do.templateUrl = "module.html"; + var $o = (function (e) { + function t() { + var e, n; + Ro(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Lo( + this, + (e = Vo(t)).call.apply(e, [this].concat(a)) + )).renderValue = function (e, t, r, a) { + var o, + i = n.props, + l = i.timeRange, + s = i.options; + e.sparkline && + ((o = { + data: e.sparkline, + xMin: l.from.valueOf(), + xMax: l.to.valueOf(), + yMin: e.field.min, + yMax: e.field.max, + }), + s.fieldOptions.calcs[0] === Q.ReducerID.last && + (o.highlightIndex = o.data.length - 1)); + return V.a.createElement( + se.DataLinksContextMenu, + { links: Object(On.a)(e) }, + function (n) { + var i = n.openMenu, + l = n.targetClassName; + return V.a.createElement(se.BigValue, { + value: e.display, + sparkline: o, + colorMode: s.colorMode, + graphMode: s.graphMode, + justifyMode: s.justifyMode, + alignmentFactors: a, + width: t, + height: r, + theme: z.a.theme, + onClick: i, + className: l, + }); + } + ); + }), + (n.getValues = function () { + var e = n.props, + t = e.data, + r = e.options, + a = e.replaceVariables; + return Object(Q.getFieldDisplayValues)( + Mo({}, r, { + replaceVariables: a, + theme: z.a.theme, + data: t.series, + sparkline: r.graphMode !== se.BigValueGraphMode.None, + autoMinMax: !0, + }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Bo(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.height, + n = e.options, + r = e.width, + a = e.data, + o = e.renderCounter; + return V.a.createElement(se.VizRepeater, { + getValues: this.getValues, + getAlignmentFactors: Q.getDisplayValueAlignmentFactors, + renderValue: this.renderValue, + width: r, + height: t, + source: a, + renderCounter: o, + orientation: qo(r, t, n.orientation), + }); + }, + }, + ]) && Fo(n.prototype, r), + a && Fo(n, a), + t + ); + })(L.PureComponent); + function qo(e, t, n) { + return n !== Q.VizOrientation.Auto + ? n + : e / t > 2 + ? Q.VizOrientation.Vertical + : Q.VizOrientation.Horizontal; + } + function Uo(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function zo(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Ho = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Uo(Object(n), !0).forEach(function (t) { + zo(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Uo(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, nt), + Go = [ + { value: Q.VizOrientation.Auto, label: "Auto" }, + { value: Q.VizOrientation.Horizontal, label: "Horizontal" }, + { value: Q.VizOrientation.Vertical, label: "Vertical" }, + ], + Wo = { + showThresholdMarkers: !0, + showThresholdLabels: !1, + fieldOptions: Ho, + orientation: Q.VizOrientation.Auto, + }; + function Qo(e) { + return (Qo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Yo(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ko(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Yo(Object(n), !0).forEach(function (t) { + Jo(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Yo(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Jo(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Zo(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Xo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ei(e, t) { + return !t || ("object" !== Qo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ti(e) { + return (ti = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ni(e, t) { + return (ni = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ri = (function (e) { + function t() { + var e, n; + Zo(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ei( + this, + (e = ti(t)).call.apply(e, [this].concat(a)) + )).onThresholdsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(Ko({}, t, { thresholds: e })); + }), + (n.onValueMappingsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(Ko({}, t, { mappings: e })); + }), + (n.onDisplayOptionsChanged = function (e) { + return n.props.onOptionsChange( + Ko({}, n.props.options, { fieldOptions: e }) + ); + }), + (n.onColorModeChanged = function (e) { + var t = e.value; + return n.props.onOptionsChange( + Ko({}, n.props.options, { colorMode: t }) + ); + }), + (n.onGraphModeChanged = function (e) { + var t = e.value; + return n.props.onOptionsChange( + Ko({}, n.props.options, { graphMode: t }) + ); + }), + (n.onJustifyModeChanged = function (e) { + var t = e.value; + return n.props.onOptionsChange( + Ko({}, n.props.options, { justifyMode: t }) + ); + }), + (n.onOrientationChange = function (e) { + var t = e.value; + return n.props.onOptionsChange( + Ko({}, n.props.options, { orientation: t }) + ); + }), + (n.onDefaultsChange = function (e) { + n.onDisplayOptionsChanged( + Ko({}, n.props.options.fieldOptions, { defaults: e }) + ); + }), + (n.onDataLinksChanged = function (e) { + n.onDefaultsChange( + Ko({}, n.props.options.fieldOptions.defaults, { links: e }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ni(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.fieldOptions, + n = t.defaults, + r = t.values + ? Object(Hn.b)(this.props.data.series) + : Object(Hn.a)(this.props.data.series); + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Display" }, + V.a.createElement(se.FieldDisplayEditor, { + onChange: this.onDisplayOptionsChanged, + value: t, + labelWidth: 8, + }), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement( + se.FormLabel, + { width: 8 }, + "Orientation" + ), + V.a.createElement(se.Select, { + width: 12, + options: Go, + defaultValue: Go[0], + onChange: this.onOrientationChange, + value: Go.find(function (t) { + return t.value === e.orientation; + }), + }) + ), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement( + se.FormLabel, + { width: 8 }, + "Color" + ), + V.a.createElement(se.Select, { + width: 12, + options: Xe, + defaultValue: Xe[0], + onChange: this.onColorModeChanged, + value: Xe.find(function (t) { + return t.value === e.colorMode; + }), + }) + ), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement( + se.FormLabel, + { width: 8 }, + "Graph" + ), + V.a.createElement(se.Select, { + width: 12, + options: et, + defaultValue: et[0], + onChange: this.onGraphModeChanged, + value: et.find(function (t) { + return t.value === e.graphMode; + }), + }) + ), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement( + se.FormLabel, + { width: 8 }, + "Justify" + ), + V.a.createElement(se.Select, { + width: 12, + options: tt, + defaultValue: tt[0], + onChange: this.onJustifyModeChanged, + value: tt.find(function (t) { + return t.value === e.justifyMode; + }), + }) + ) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Field" }, + V.a.createElement(se.FieldPropertiesEditor, { + showMinMax: !0, + onChange: this.onDefaultsChange, + value: n, + showTitle: !0, + }) + ), + V.a.createElement(se.ThresholdsEditor, { + onChange: this.onThresholdsChanged, + thresholds: n.thresholds, + }) + ), + V.a.createElement(se.ValueMappingsEditor, { + onChange: this.onValueMappingsChanged, + valueMappings: n.mappings, + }), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Data links" }, + V.a.createElement(se.DataLinksEditor, { + value: n.links, + onChange: this.onDataLinksChanged, + suggestions: r, + maxLinks: 10, + }) + ) + ); + }, + }, + ]) && Xo(n.prototype, r), + a && Xo(n, a), + t + ); + })(L.PureComponent), + ai = new Q.PanelPlugin($o) + .setDefaults(rt) + .setEditor(ri) + .setNoPadding() + .setPanelChangeHandler(se.sharedSingleStatPanelChangedHandler) + .setMigrationHandler(se.sharedSingleStatMigrationHandler), + oi = n("WnbS"); + function ii(e) { + return (ii = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function li(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function si(e, t) { + return !t || ("object" !== ii(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ci(e) { + return (ci = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ui(e, t) { + return (ui = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var fi = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = si(this, ci(t).call(this, e))).stepIndex = 0), + (n.dismiss = function () { + var e = n.props.id, + t = Object(jr.a)().getCurrent(), + r = t.getPanelById(e); + t.removePanel(r), + Z.b + .request({ + method: "PUT", + url: "/api/user/helpflags/1", + showSuccessAlert: !1, + }) + .then(function (e) { + W.b.user.helpFlags1 = e.helpFlags1; + }); + }), + (n.state = { checksDone: !1 }), + (n.steps = [ + { + title: "Install Grafana", + icon: "icon-gf icon-gf-check", + href: "http://docs.grafana.org/", + target: "_blank", + note: "Review the installation docs", + check: function () { + return Promise.resolve(!0); + }, + }, + { + title: "Create a data source", + cta: "Add data source", + icon: "gicon gicon-datasources", + href: "datasources/new?gettingstarted", + check: function () { + return new Promise(function (e) { + e( + Object(oi.a)() + .getMetricSources() + .filter(function (e) { + return !0 !== e.meta.builtIn; + }).length > 0 + ); + }); + }, + }, + { + title: "Build a dashboard", + cta: "New dashboard", + icon: "gicon gicon-dashboard", + href: "dashboard/new?gettingstarted", + check: function () { + return Z.b.search({ limit: 1 }).then(function (e) { + return e.length > 0; + }); + }, + }, + { + title: "Invite your team", + cta: "Add Users", + icon: "gicon gicon-team", + href: "org/users?gettingstarted", + check: function () { + return Z.b.get("/api/org/users/lookup").then(function (e) { + return !1; + }); + }, + }, + { + title: "Install apps & plugins", + cta: "Explore plugin repository", + icon: "gicon gicon-plugins", + href: + "https://grafana.com/plugins?utm_source=grafana_getting_started", + check: function () { + return Z.b + .get("/api/plugins", { embedded: 0, core: 0 }) + .then(function (e) { + return e.length > 0; + }); + }, + }, + ]), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ui(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this; + return ( + (this.stepIndex = -1), + this.nextStep().then(function (t) { + e.setState({ checksDone: !0 }); + }) + ); + }, + }, + { + key: "nextStep", + value: function () { + var e = this; + if (this.stepIndex === this.steps.length - 1) + return Promise.resolve(); + this.stepIndex += 1; + var t = this.steps[this.stepIndex]; + return t.check().then(function (n) { + return n + ? ((t.done = !0), e.nextStep()) + : Promise.resolve(); + }); + }, + }, + { + key: "render", + value: function () { + return this.state.checksDone + ? V.a.createElement( + "div", + { className: "progress-tracker-container" }, + V.a.createElement( + "button", + { + className: "progress-tracker-close-btn", + onClick: this.dismiss, + }, + V.a.createElement("i", { className: "fa fa-remove" }) + ), + V.a.createElement( + "div", + { className: "progress-tracker" }, + this.steps.map(function (e, t) { + return V.a.createElement( + "div", + { + key: t, + className: e.done + ? "progress-step completed" + : "progress-step active", + }, + V.a.createElement( + "a", + { + className: "progress-link", + href: e.href, + target: e.target, + title: e.note, + }, + V.a.createElement( + "span", + { className: "progress-marker" }, + V.a.createElement("i", { className: e.icon }) + ), + V.a.createElement( + "span", + { className: "progress-text" }, + e.title + ) + ), + V.a.createElement( + "a", + { + className: "btn-small progress-step-cta", + href: e.href, + target: e.target, + }, + e.cta + ) + ); + }) + ) + ) + : V.a.createElement("div", null, "checking..."); + }, + }, + ]) && li(n.prototype, r), + a && li(n, a), + t + ); + })(L.PureComponent), + di = new Q.PanelPlugin(fi); + function pi(e) { + return (pi = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function hi(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function mi(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? hi(Object(n), !0).forEach(function (t) { + gi(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : hi(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function gi(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function bi(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function vi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function yi(e, t) { + return !t || ("object" !== pi(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function wi(e) { + return (wi = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Oi(e, t) { + return (Oi = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var xi = (function (e) { + function t() { + var e, n; + bi(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = yi( + this, + (e = wi(t)).call.apply(e, [this].concat(a)) + )).labelWidth = 6), + (n.onToggleThresholdLabels = function () { + return n.props.onOptionsChange( + mi({}, n.props.options, { + showThresholdLabels: !n.props.options.showThresholdLabels, + }) + ); + }), + (n.onToggleThresholdMarkers = function () { + return n.props.onOptionsChange( + mi({}, n.props.options, { + showThresholdMarkers: !n.props.options.showThresholdMarkers, + }) + ); + }), + (n.onThresholdsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(mi({}, t, { thresholds: e })); + }), + (n.onValueMappingsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(mi({}, t, { mappings: e })); + }), + (n.onDisplayOptionsChanged = function (e, t, r) { + return n.props.onOptionsChange( + mi({}, n.props.options, { fieldOptions: e }), + r + ); + }), + (n.onDefaultsChange = function (e, t, r) { + n.onDisplayOptionsChanged( + mi({}, n.props.options.fieldOptions, { defaults: e }), + t, + r + ); + }), + (n.onDataLinksChanged = function (e, t) { + n.onDefaultsChange( + mi({}, n.props.options.fieldOptions.defaults, { links: e }), + void 0, + t + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Oi(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.fieldOptions, + n = e.showThresholdLabels, + r = e.showThresholdMarkers, + a = t.defaults, + o = t.values + ? Object(Hn.b)(this.props.data.series) + : Object(Hn.a)(this.props.data.series); + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Display" }, + V.a.createElement(se.FieldDisplayEditor, { + onChange: this.onDisplayOptionsChanged, + value: t, + labelWidth: this.labelWidth, + }), + V.a.createElement(se.Switch, { + label: "Labels", + labelClass: "width-".concat(this.labelWidth), + checked: n, + onChange: this.onToggleThresholdLabels, + }), + V.a.createElement(se.Switch, { + label: "Markers", + labelClass: "width-".concat(this.labelWidth), + checked: r, + onChange: this.onToggleThresholdMarkers, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Field" }, + V.a.createElement(se.FieldPropertiesEditor, { + showMinMax: !0, + showTitle: !0, + onChange: this.onDefaultsChange, + value: a, + }) + ), + V.a.createElement(se.ThresholdsEditor, { + onChange: this.onThresholdsChanged, + thresholds: a.thresholds, + }) + ), + V.a.createElement(se.ValueMappingsEditor, { + onChange: this.onValueMappingsChanged, + valueMappings: a.mappings, + }), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Data links" }, + V.a.createElement(se.DataLinksEditor, { + value: a.links, + onChange: this.onDataLinksChanged, + suggestions: o, + maxLinks: 10, + }) + ) + ); + }, + }, + ]) && vi(n.prototype, r), + a && vi(n, a), + t + ); + })(L.PureComponent); + function ki(e) { + return (ki = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ji(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Si(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ei(e, t) { + return !t || ("object" !== ki(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ci(e) { + return (Ci = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Pi(e, t) { + return (Pi = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ti = (function (e) { + function t() { + var e, n; + ji(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Ei( + this, + (e = Ci(t)).call.apply(e, [this].concat(a)) + )).renderValue = function (e, t, r) { + var a = n.props.options, + o = e.field, + i = e.display; + return V.a.createElement( + se.DataLinksContextMenu, + { links: Object(On.a)(e) }, + function (e) { + var n = e.openMenu, + l = e.targetClassName; + return V.a.createElement(se.Gauge, { + value: i, + width: t, + height: r, + field: o, + showThresholdLabels: a.showThresholdLabels, + showThresholdMarkers: a.showThresholdMarkers, + theme: z.a.theme, + onClick: n, + className: l, + }); + } + ); + }), + (n.getValues = function () { + var e = n.props, + t = e.data, + r = e.options, + a = e.replaceVariables; + return Object(Q.getFieldDisplayValues)({ + fieldOptions: r.fieldOptions, + replaceVariables: a, + theme: z.a.theme, + data: t.series, + autoMinMax: !0, + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Pi(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.height, + n = e.width, + r = e.data, + a = e.renderCounter; + return V.a.createElement(se.VizRepeater, { + getValues: this.getValues, + renderValue: this.renderValue, + width: n, + height: t, + source: r, + renderCounter: a, + orientation: Q.VizOrientation.Auto, + }); + }, + }, + ]) && Si(n.prototype, r), + a && Si(n, a), + t + ); + })(L.PureComponent), + Di = new Q.PanelPlugin(Ti) + .setDefaults(Wo) + .setEditor(xi) + .setPanelChangeHandler(function (e, t, n) { + var r = Object(se.sharedSingleStatPanelChangedHandler)(e, t, n); + if ("singlestat" === t && n.angular) { + var a = n.angular.gauge; + a && + ((r.showThresholdMarkers = a.thresholdMarkers), + (r.showThresholdLabels = a.thresholdLabels)); + } + return r; + }) + .setMigrationHandler(function (e) { + return Object(se.sharedSingleStatMigrationHandler)(e); + }); + function Ai(e) { + return (Ai = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function _i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ni(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? _i(Object(n), !0).forEach(function (t) { + Mi(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : _i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Mi(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Ii(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ri(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Fi(e, t) { + return !t || ("object" !== Ai(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Li(e) { + return (Li = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Vi(e, t) { + return (Vi = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Bi = [ + { value: se.PieChartType.PIE, label: "Pie" }, + { value: se.PieChartType.DONUT, label: "Donut" }, + ], + $i = (function (e) { + function t() { + var e, n; + Ii(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Fi( + this, + (e = Li(t)).call.apply(e, [this].concat(a)) + )).onPieTypeChange = function (e) { + return n.props.onOptionsChange( + Ni({}, n.props.options, { pieType: e.value }) + ); + }), + (n.onStrokeWidthChange = function (e) { + var t = e.target; + return n.props.onOptionsChange( + Ni({}, n.props.options, { strokeWidth: t.value }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Vi(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.pieType, + n = e.strokeWidth; + return V.a.createElement( + se.PanelOptionsGroup, + { title: "PieChart" }, + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement(se.FormLabel, { width: 8 }, "Type"), + V.a.createElement(se.Select, { + width: 12, + options: Bi, + onChange: this.onPieTypeChange, + value: Bi.find(function (e) { + return e.value === t; + }), + }) + ), + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement(se.FormField, { + label: "Divider width", + labelWidth: 8, + onChange: this.onStrokeWidthChange, + value: n, + }) + ) + ); + }, + }, + ]) && Ri(n.prototype, r), + a && Ri(n, a), + t + ); + })(L.PureComponent); + function qi(e) { + return (qi = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ui(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function zi(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ui(Object(n), !0).forEach(function (t) { + Hi(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ui(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Hi(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Gi(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Wi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Qi(e, t) { + return !t || ("object" !== qi(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Yi(e) { + return (Yi = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ki(e, t) { + return (Ki = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ji = (function (e) { + function t() { + var e, n; + Gi(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Qi( + this, + (e = Yi(t)).call.apply(e, [this].concat(a)) + )).onValueMappingsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(zi({}, t, { mappings: e })); + }), + (n.onDisplayOptionsChanged = function (e) { + return n.props.onOptionsChange( + zi({}, n.props.options, { fieldOptions: e }) + ); + }), + (n.onDefaultsChange = function (e) { + n.onDisplayOptionsChanged( + zi({}, n.props.options.fieldOptions, { defaults: e }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ki(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.onOptionsChange, + n = e.options, + r = e.data, + a = n.fieldOptions, + o = a.defaults; + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Display" }, + V.a.createElement(se.FieldDisplayEditor, { + onChange: this.onDisplayOptionsChanged, + value: a, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Field (default)" }, + V.a.createElement(se.FieldPropertiesEditor, { + showMinMax: !0, + onChange: this.onDefaultsChange, + value: o, + }) + ), + V.a.createElement($i, { + data: r, + onOptionsChange: t, + options: n, + }) + ), + V.a.createElement(se.ValueMappingsEditor, { + onChange: this.onValueMappingsChanged, + valueMappings: o.mappings, + }) + ); + }, + }, + ]) && Wi(n.prototype, r), + a && Wi(n, a), + t + ); + })(L.PureComponent); + function Zi(e) { + return (Zi = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Xi(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function el(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function tl(e, t) { + return !t || ("object" !== Zi(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function nl(e) { + return (nl = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function rl(e, t) { + return (rl = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var al = (function (e) { + function t() { + return Xi(this, t), tl(this, nl(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && rl(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.width, + n = e.height, + r = e.options, + a = e.data, + o = e.replaceVariables, + i = Object(Q.getFieldDisplayValues)({ + fieldOptions: r.fieldOptions, + data: a.series, + theme: z.a.theme, + replaceVariables: o, + }).map(function (e) { + return e.display; + }); + return V.a.createElement(se.PieChart, { + width: t, + height: n, + values: i, + pieType: r.pieType, + strokeWidth: r.strokeWidth, + theme: z.a.theme, + }); + }, + }, + ]) && el(n.prototype, r), + a && el(n, a), + t + ); + })(L.PureComponent); + function ol(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function il(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var ll = { + pieType: se.PieChartType.PIE, + strokeWidth: 1, + orientation: Q.VizOrientation.Auto, + fieldOptions: (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ol(Object(n), !0).forEach(function (t) { + il(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : ol(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, nt, { + calcs: [Q.ReducerID.last], + defaults: { unit: "short" }, + }), + }, + sl = new Q.PanelPlugin(al).setDefaults(ll).setEditor(Ji); + function cl(e) { + return (cl = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ul(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function fl(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ul(Object(n), !0).forEach(function (t) { + dl(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ul(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function dl(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function pl(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function hl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ml(e, t) { + return !t || ("object" !== cl(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function gl(e) { + return (gl = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function bl(e, t) { + return (bl = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var vl = (function (e) { + function t() { + var e, n; + pl(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ml( + this, + (e = gl(t)).call.apply(e, [this].concat(a)) + )).renderValue = function (e, t, r, a) { + var o = n.props.options, + i = e.field, + l = e.display, + s = e.view, + c = e.colIndex; + return V.a.createElement( + se.DataLinksContextMenu, + { links: Object(On.a)(e) }, + function (e) { + var u = e.openMenu, + f = e.targetClassName; + return V.a.createElement(se.BarGauge, { + value: l, + width: t, + height: r, + orientation: o.orientation, + field: i, + display: + null == s ? void 0 : s.getFieldDisplayProcessor(c), + theme: z.a.theme, + itemSpacing: n.getItemSpacing(), + displayMode: o.displayMode, + onClick: u, + className: f, + alignmentFactors: a, + showUnfilled: o.showUnfilled, + }); + } + ); + }), + (n.getValues = function () { + var e = n.props, + t = e.data, + r = e.options, + a = e.replaceVariables; + return Object(Q.getFieldDisplayValues)( + fl({}, r, { + replaceVariables: a, + theme: z.a.theme, + data: t.series, + autoMinMax: !0, + }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && bl(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getItemSpacing", + value: function () { + return "lcd" === this.props.options.displayMode ? 2 : 10; + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.height, + n = e.width, + r = e.options, + a = e.data, + o = e.renderCounter; + return V.a.createElement(se.VizRepeater, { + source: a, + getAlignmentFactors: Q.getDisplayValueAlignmentFactors, + getValues: this.getValues, + renderValue: this.renderValue, + renderCounter: o, + width: n, + height: t, + itemSpacing: this.getItemSpacing(), + orientation: r.orientation, + }); + }, + }, + ]) && hl(n.prototype, r), + a && hl(n, a), + t + ); + })(L.PureComponent), + yl = [ + { value: se.BarGaugeDisplayMode.Gradient, label: "Gradient" }, + { value: se.BarGaugeDisplayMode.Lcd, label: "Retro LCD" }, + { value: se.BarGaugeDisplayMode.Basic, label: "Basic" }, + ], + wl = { + displayMode: se.BarGaugeDisplayMode.Lcd, + orientation: Q.VizOrientation.Horizontal, + fieldOptions: Ho, + showUnfilled: !0, + }; + function Ol(e) { + return (Ol = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function xl(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function kl(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? xl(Object(n), !0).forEach(function (t) { + jl(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : xl(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function jl(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Sl(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function El(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Cl(e, t) { + return !t || ("object" !== Ol(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Pl(e) { + return (Pl = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Tl(e, t) { + return (Tl = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Dl = (function (e) { + function t() { + var e, n; + Sl(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Cl( + this, + (e = Pl(t)).call.apply(e, [this].concat(a)) + )).onThresholdsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(kl({}, t, { thresholds: e })); + }), + (n.onValueMappingsChanged = function (e) { + var t = n.props.options.fieldOptions.defaults; + n.onDefaultsChange(kl({}, t, { mappings: e })); + }), + (n.onDisplayOptionsChanged = function (e) { + return n.props.onOptionsChange( + kl({}, n.props.options, { fieldOptions: e }) + ); + }), + (n.onDefaultsChange = function (e) { + n.onDisplayOptionsChanged( + kl({}, n.props.options.fieldOptions, { defaults: e }) + ); + }), + (n.onOrientationChange = function (e) { + var t = e.value; + return n.props.onOptionsChange( + kl({}, n.props.options, { orientation: t }) + ); + }), + (n.onDisplayModeChange = function (e) { + var t = e.value; + return n.props.onOptionsChange( + kl({}, n.props.options, { displayMode: t }) + ); + }), + (n.onToggleShowUnfilled = function () { + n.props.onOptionsChange( + kl({}, n.props.options, { + showUnfilled: !n.props.options.showUnfilled, + }) + ); + }), + (n.onDataLinksChanged = function (e) { + n.onDefaultsChange( + kl({}, n.props.options.fieldOptions.defaults, { links: e }) + ); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Tl(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.fieldOptions, + n = t.defaults, + r = t.values + ? Object(Hn.b)(this.props.data.series) + : Object(Hn.a)(this.props.data.series); + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Display" }, + V.a.createElement(se.FieldDisplayEditor, { + onChange: this.onDisplayOptionsChanged, + value: t, + labelWidth: 6, + }), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement( + se.FormLabel, + { width: 6 }, + "Orientation" + ), + V.a.createElement(se.Select, { + width: 12, + options: Go, + defaultValue: Go[0], + onChange: this.onOrientationChange, + value: Go.find(function (t) { + return t.value === e.orientation; + }), + }) + ), + V.a.createElement( + "div", + { className: "form-field" }, + V.a.createElement(se.FormLabel, { width: 6 }, "Mode"), + V.a.createElement(se.Select, { + width: 12, + options: yl, + defaultValue: yl[0], + onChange: this.onDisplayModeChange, + value: yl.find(function (t) { + return t.value === e.displayMode; + }), + }) + ), + "lcd" !== e.displayMode && + V.a.createElement(se.Switch, { + label: "Unfilled", + labelClass: "width-".concat(6), + checked: e.showUnfilled, + onChange: this.onToggleShowUnfilled, + }) + ), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Field" }, + V.a.createElement(se.FieldPropertiesEditor, { + showMinMax: !0, + showTitle: !0, + onChange: this.onDefaultsChange, + value: n, + }) + ), + V.a.createElement(se.ThresholdsEditor, { + onChange: this.onThresholdsChanged, + thresholds: n.thresholds, + }) + ), + V.a.createElement(se.ValueMappingsEditor, { + onChange: this.onValueMappingsChanged, + valueMappings: n.mappings, + }), + V.a.createElement( + se.PanelOptionsGroup, + { title: "Data links" }, + V.a.createElement(se.DataLinksEditor, { + value: n.links, + onChange: this.onDataLinksChanged, + suggestions: r, + maxLinks: 10, + }) + ) + ); + }, + }, + ]) && El(n.prototype, r), + a && El(n, a), + t + ); + })(L.PureComponent), + Al = new Q.PanelPlugin(vl) + .setDefaults(wl) + .setEditor(Dl) + .setPanelChangeHandler(se.sharedSingleStatPanelChangedHandler) + .setMigrationHandler(function (e) { + return Object(se.sharedSingleStatMigrationHandler)(e); + }), + _l = n("m257"), + Nl = { + showLabels: !1, + showTime: !0, + wrapLogMessage: !0, + sortOrder: _l.c.Descending, + }, + Ml = n("QJHg"); + function Il(e) { + return (Il = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Rl(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Fl(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Rl(Object(n), !0).forEach(function (t) { + Ll(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Rl(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Ll(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Vl(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Bl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function $l(e, t) { + return !t || ("object" !== Il(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ql(e) { + return (ql = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ul(e, t) { + return (Ul = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var zl = [ + { value: _l.c.Descending, label: "Descending" }, + { value: _l.c.Ascending, label: "Ascending" }, + ], + Hl = (function (e) { + function t() { + var e, n; + Vl(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = $l( + this, + (e = ql(t)).call.apply(e, [this].concat(a)) + )).onToggleLabels = function () { + var e = n.props, + t = e.options; + (0, e.onOptionsChange)( + Fl({}, t, { showLabels: !t.showLabels }) + ); + }), + (n.onToggleTime = function () { + var e = n.props, + t = e.options; + (0, e.onOptionsChange)(Fl({}, t, { showTime: !t.showTime })); + }), + (n.onTogglewrapLogMessage = function () { + var e = n.props, + t = e.options; + (0, e.onOptionsChange)( + Fl({}, t, { wrapLogMessage: !t.wrapLogMessage }) + ); + }), + (n.onShowValuesChange = function (e) { + var t = n.props, + r = t.options; + (0, t.onOptionsChange)(Fl({}, r, { sortOrder: e.value })); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ul(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.options, + t = e.showLabels, + n = e.showTime, + r = e.wrapLogMessage, + a = e.sortOrder, + o = zl.filter(function (e) { + return e.value === a; + })[0]; + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGrid, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Columns" }, + V.a.createElement(se.Switch, { + label: "Time", + labelClass: "width-10", + checked: n, + onChange: this.onToggleTime, + }), + V.a.createElement(se.Switch, { + label: "Unique labels", + labelClass: "width-10", + checked: t, + onChange: this.onToggleLabels, + }), + V.a.createElement(se.Switch, { + label: "Wrap lines", + labelClass: "width-10", + checked: r, + onChange: this.onTogglewrapLogMessage, + }), + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement(se.FormLabel, null, "Order"), + V.a.createElement(se.Select, { + options: zl, + value: o, + onChange: this.onShowValuesChange, + }) + ) + ) + ) + ); + }, + }, + ]) && Bl(n.prototype, r), + a && Bl(n, a), + t + ); + })(L.PureComponent), + Gl = new Q.PanelPlugin(function (e) { + var t = e.data, + n = e.timeZone, + r = e.options, + a = r.showLabels, + o = r.showTime, + i = r.wrapLogMessage, + l = r.sortOrder; + e.width; + if (!t) + return V.a.createElement( + "div", + { className: "panel-empty" }, + V.a.createElement("p", null, "No data found in response") + ); + var s = t ? Object(Ml.a)(t.series, t.request.intervalMs, n) : null, + c = Object(_l.w)(s, l); + return V.a.createElement( + se.CustomScrollbar, + { autoHide: !0 }, + V.a.createElement(se.LogRows, { + logRows: c.rows, + dedupStrategy: Q.LogsDedupStrategy.none, + highlighterExpressions: [], + showLabels: a, + showTime: o, + wrapLogMessage: i, + timeZone: n, + allowDetails: !0, + }) + ); + }) + .setDefaults(Nl) + .setEditor(Hl); + function Wl(e) { + var t = new Q.ArrayVector([]), + n = new Q.ArrayVector([]), + r = new Q.ArrayVector([]), + a = new Q.ArrayVector([]), + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = e.items[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value, + f = Object(Q.dateTime)(u.pubDate); + try { + if ( + (t.buffer.push(f.valueOf()), + n.buffer.push(u.title), + r.buffer.push(u.link), + u.content) + ) { + var d = u.content.replace(/<\/?[^>]+(>|$)/g, ""); + a.buffer.push(d); + } + } catch (e) { + console.warn("Error reading news item:", e, u); + } + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + return { + fields: [ + { + name: "date", + type: Q.FieldType.time, + config: { title: "Date" }, + values: t, + }, + { name: "title", type: Q.FieldType.string, config: {}, values: n }, + { name: "link", type: Q.FieldType.string, config: {}, values: r }, + { + name: "content", + type: Q.FieldType.string, + config: {}, + values: a, + }, + ], + length: t.length, + }; + } + function Ql(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Yl(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Ql(o, r, a, i, l, "next", e); + } + function l(e) { + Ql(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Kl(e) { + return Jl.apply(this, arguments); + } + function Jl() { + return (Jl = Yl( + regeneratorRuntime.mark(function e(t) { + var n, r, a, o, i, l; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), fetch(t); + case 2: + return (n = e.sent), (e.next = 5), n.text(); + case 5: + return ( + (r = e.sent), + (a = new DOMParser()), + (o = a.parseFromString(r, "text/xml")), + (i = { items: [] }), + (l = function (e, t) { + var n, + r = e.querySelector(t); + return r && null !== (n = r.textContent) && void 0 !== n + ? n + : ""; + }), + o.querySelectorAll("item").forEach(function (e) { + var t = { + title: l(e, "title"), + link: l(e, "link"), + content: l(e, "description"), + pubDate: l(e, "pubDate"), + }; + i.items.push(t); + }), + e.abrupt("return", i) + ); + case 12: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Zl(e) { + return (Zl = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Xl() { + var e = as([ + "\n position: absolute;\n top: 0;\n right: 0;\n background: ", + ";\n width: 55px;\n text-align: right;\n padding: ", + ";\n font-weight: 500;\n border-radius: 0 0 0 3px;\n color: ", + ";\n ", + ]); + return ( + (Xl = function () { + return e; + }), + e + ); + } + function es() { + var e = as(["\n p {\n margin-bottom: 4px;\n }\n "]); + return ( + (es = function () { + return e; + }), + e + ); + } + function ts() { + var e = as([ + "\n color: ", + ";\n max-width: calc(100% - 70px);\n font-size: 16px;\n margin-bottom: ", + ";\n ", + ]); + return ( + (ts = function () { + return e; + }), + e + ); + } + function ns() { + var e = as([ + "\n ", + "\n padding: ", + ";\n position: relative;\n margin-bottom: 4px;\n margin-right: ", + ";\n ", + ]); + return ( + (ns = function () { + return e; + }), + e + ); + } + function rs() { + var e = as(["\n height: 100%;\n "]); + return ( + (rs = function () { + return e; + }), + e + ); + } + function as(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function os(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function is(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ls(e, t) { + return !t || ("object" !== Zl(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ss(e) { + return (ss = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function cs(e, t) { + return (cs = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var us = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = ls(this, ss(t).call(this, e))).state = {}), + n + ); + } + var n, r, a, o, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cs(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.loadFeed(); + }, + }, + { + key: "componentDidUpdate", + value: function (e) { + this.props.options.feedUrl !== e.options.feedUrl && + this.loadFeed(); + }, + }, + { + key: "loadFeed", + value: + ((o = regeneratorRuntime.mark(function e() { + var t, n, r, a, o; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props.options), + (e.prev = 1), + (r = + null !== (n = t.feedUrl) && void 0 !== n + ? n + : "https://grafana.com/blog/news.xml"), + (e.next = 5), + Kl(r) + ); + case 5: + (a = e.sent), + (o = Wl(a)), + this.setState({ + news: new Q.DataFrameView(o), + isError: !1, + }), + (e.next = 14); + break; + case 10: + (e.prev = 10), + (e.t0 = e.catch(1)), + console.error("Error Loading News", e.t0), + this.setState({ news: void 0, isError: !0 }); + case 14: + case "end": + return e.stop(); + } + }, + e, + this, + [[1, 10]] + ); + })), + (i = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = o.apply(e, t); + function i(e) { + os(a, n, r, i, l, "next", e); + } + function l(e) { + os(a, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function () { + return i.apply(this, arguments); + }), + }, + { + key: "render", + value: function () { + var e = this.state, + t = e.isError, + n = e.news, + r = fs(z.b.theme); + return t + ? V.a.createElement("div", null, "Error Loading News") + : n + ? V.a.createElement( + "div", + { className: r.container }, + V.a.createElement( + se.CustomScrollbar, + null, + n.map(function (e, t) { + return V.a.createElement( + "div", + { key: t, className: r.item }, + V.a.createElement( + "a", + { href: e.link, target: "_blank" }, + V.a.createElement( + "div", + { className: r.title }, + e.title + ), + V.a.createElement( + "div", + { className: r.date }, + Object(Q.dateTime)(e.date).format("MMM DD"), + " " + ), + V.a.createElement("div", { + className: r.content, + dangerouslySetInnerHTML: { + __html: Object(te.c)(e.content), + }, + }) + ) + ); + }) + ) + ) + : V.a.createElement("div", null, "loading..."); + }, + }, + ]) && is(n.prototype, r), + a && is(n, a), + t + ); + })(L.PureComponent), + fs = Object(se.stylesFactory)(function (e) { + return { + container: Object(Pr.css)(rs()), + item: Object(Pr.css)( + ns(), + se.styleMixins.listItem(e), + e.spacing.sm, + e.spacing.sm + ), + title: Object(Pr.css)(ts(), e.colors.linkExternal, e.spacing.sm), + content: Object(Pr.css)(es()), + date: Object(Pr.css)( + Xl(), + e.colors.panelBg, + e.spacing.xs, + e.colors.textWeak + ), + }; + }); + function ds(e) { + return (ds = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ps(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function hs(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ps(Object(n), !0).forEach(function (t) { + ms(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ps(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ms(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function gs(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function bs(e, t) { + return !t || ("object" !== ds(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function vs(e) { + return (vs = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ys(e, t) { + return (ys = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ws = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = bs(this, vs(t).call(this, e))).onUpdatePanel = function () { + return n.props.onOptionsChange( + hs({}, n.props.options, { feedUrl: n.state.feedUrl }) + ); + }), + (n.onFeedUrlChange = function (e) { + var t = e.target; + return n.setState({ feedUrl: t.value }); + }), + (n.onSetProxyPrefix = function () { + var e = + "https://cors-anywhere.herokuapp.com/" + n.state.feedUrl; + n.setState({ feedUrl: e }), + n.props.onOptionsChange( + hs({}, n.props.options, { feedUrl: e }) + ); + }), + (n.state = { feedUrl: e.options.feedUrl }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ys(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.state.feedUrl || "", + t = + e && + !e.startsWith("https://cors-anywhere.herokuapp.com/"); + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + se.PanelOptionsGroup, + { title: "Feed" }, + V.a.createElement( + "div", + { className: "gf-form" }, + V.a.createElement(se.FormField, { + label: "URL", + labelWidth: 7, + inputWidth: 30, + value: e || "", + placeholder: "https://grafana.com/blog/news.xml", + onChange: this.onFeedUrlChange, + tooltip: + "Only RSS feed formats are supported (not Atom).", + onBlur: this.onUpdatePanel, + }) + ), + t && + V.a.createElement( + "div", + null, + V.a.createElement("br", null), + V.a.createElement( + "div", + null, + "If the feed is unable to connect, consider a CORS proxy" + ), + V.a.createElement( + se.Button, + { + variant: "inverse", + onClick: this.onSetProxyPrefix, + }, + "Use Proxy" + ) + ) + ) + ); + }, + }, + ]) && gs(n.prototype, r), + a && gs(n, a), + t + ); + })(L.PureComponent), + Os = new Q.PanelPlugin(us).setDefaults({}).setEditor(ws); + function xs(e) { + return (xs = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ks() { + var e = Cs([ + "\n ", + "\n padding: ", + ";\n display: flex;\n margin-bottom: ", + ";\n align-items: center;\n ", + ]); + return ( + (ks = function () { + return e; + }), + e + ); + } + function js() { + var e = Cs([ + "\n ", + "\n position: absolute;\n bottom: 0;\n width: 100%;\n text-align: center;\n padding: ", + ";\n border-radius: 0;\n box-shadow: none;\n color: ", + ";\n ", + ]); + return ( + (js = function () { + return e; + }), + e + ); + } + function Ss() { + var e = Cs(["\n padding-right: ", ";\n "]); + return ( + (Ss = function () { + return e; + }), + e + ); + } + function Es() { + var e = Cs([ + "\n display: flex;\n flex-direction: column;\n padding: ", + ";\n ", + ]); + return ( + (Es = function () { + return e; + }), + e + ); + } + function Cs(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function Ps(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ts(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ds(e, t) { + return !t || ("object" !== xs(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function As(e) { + return (As = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function _s(e, t) { + return (_s = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ns = (function (e) { + function t() { + return Ps(this, t), Ds(this, As(t).apply(this, arguments)); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && _s(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = Rs(); + return V.a.createElement( + V.a.Fragment, + null, + V.a.createElement( + "div", + { className: e.list }, + V.a.createElement(Ms, { + title: "Documentation", + icon: "fa fa-book", + url: + "https://grafana.com/docs/grafana/latest?utm_source=grafana_homelinks", + target: "_blank", + }), + V.a.createElement(Ms, { + title: "Getting started", + icon: "fa fa-bolt", + url: + "https://grafana.com/docs/grafana/latest/guides/getting_started/?utm_source=grafana_homelinks", + target: "_blank", + }), + V.a.createElement(Ms, { + title: "Community forum", + icon: "fa fa-comments", + url: + "https://community.grafana.com?utm_source=grafana_homelinks", + target: "_blank", + }), + V.a.createElement(Ms, { + title: "Report a bug", + icon: "fa fa-bug", + url: + "https://github.com/grafana/grafana/issues/new?template=1-bug_report.md", + target: "_blank", + }) + ), + V.a.createElement(Is, null) + ); + }, + }, + ]) && Ts(n.prototype, r), + a && Ts(n, a), + t + ); + })(L.PureComponent), + Ms = function (e) { + var t = e.title, + n = e.url, + r = e.target, + a = e.icon, + o = Rs(); + return V.a.createElement( + "a", + { className: o.item, href: n, target: r }, + V.a.createElement("i", { className: Object(Pr.cx)(a, o.icon) }), + t + ); + }, + Is = function () { + var e = Rs(), + t = z.b.buildInfo, + n = t.version, + r = t.commit; + return V.a.createElement( + "div", + { className: e.footer }, + "Version ", + n, + " (", + r, + ")" + ); + }, + Rs = Object(se.stylesFactory)(function () { + var e = z.b.theme; + return { + list: Object(Pr.css)(Es(), e.spacing.md), + icon: Object(Pr.css)(Ss(), e.spacing.sm), + footer: Object(Pr.css)( + js(), + se.styleMixins.listItem(e), + e.spacing.sm, + e.colors.textWeak + ), + item: Object(Pr.css)( + ks(), + se.styleMixins.listItem(e), + e.spacing.sm, + e.spacing.xs + ), + }; + }), + Fs = new Q.PanelPlugin(Ns).setDefaults({}).setNoPadding(); + function Ls(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Vs(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Ls(o, r, a, i, l, "next", e); + } + function l(e) { + Ls(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var Bs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(36).then(n.bind(null, "nKVo")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + $s = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(31).then(n.bind(null, "Z209")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + qs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(56).then(n.bind(null, "cD+E")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Us = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(33).then(n.bind(null, "EnIS")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + zs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(45).then(n.bind(null, "02dm")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Hs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(35).then(n.bind(null, "gcd9")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Gs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(37).then(n.bind(null, "sl8e")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Ws = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all([n.e(4), n.e(40)]).then( + n.bind(null, "+2Nz") + ) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Qs = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(41).then(n.bind(null, "CaV2")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Ys = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(44).then(n.bind(null, "qSU+")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Ks = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(46).then(n.bind(null, "2Wqq")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Js = (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all([n.e(4), n.e(47)]).then( + n.bind(null, "EaOu") + ) + ); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + Zs = { + "app/plugins/datasource/graphite/module": Bs, + "app/plugins/datasource/cloudwatch/module": $s, + "app/plugins/datasource/dashboard/module": qs, + "app/plugins/datasource/elasticsearch/module": Us, + "app/plugins/datasource/opentsdb/module": zs, + "app/plugins/datasource/grafana/module": Hs, + "app/plugins/datasource/influxdb/module": Gs, + "app/plugins/datasource/loki/module": Ws, + "app/plugins/datasource/mixed/module": Qs, + "app/plugins/datasource/mysql/module": Ys, + "app/plugins/datasource/postgres/module": Ks, + "app/plugins/datasource/mssql/module": (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(43).then(n.bind(null, "R57O")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + "app/plugins/datasource/prometheus/module": Js, + "app/plugins/datasource/testdata/module": (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(50).then(n.bind(null, "RQDA")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + "app/plugins/datasource/input/module": (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(38).then(n.bind(null, "sz7o")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + "app/plugins/datasource/stackdriver/module": (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(49).then(n.bind(null, "swYP")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + "app/plugins/datasource/grafana-azure-monitor-datasource/module": (function () { + var e = Vs( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.e(29).then(n.bind(null, "CLTJ")); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function () { + return e.apply(this, arguments); + }; + })(), + "app/plugins/panel/text/module": r, + "app/plugins/panel/text2/module": a, + "app/plugins/panel/graph2/module": o, + "app/plugins/panel/graph/module": i, + "app/plugins/panel/dashlist/module": l, + "app/plugins/panel/pluginlist/module": s, + "app/plugins/panel/alertlist/module": c, + "app/plugins/panel/annolist/module": u, + "app/plugins/panel/heatmap/module": f, + "app/plugins/panel/table/module": d, + "app/plugins/panel/table2/module": p, + "app/plugins/panel/news/module": O, + "app/plugins/panel/singlestat/module": h, + "app/plugins/panel/stat/module": m, + "app/plugins/panel/gettingstarted/module": g, + "app/plugins/panel/gauge/module": b, + "app/plugins/panel/piechart/module": v, + "app/plugins/panel/bargauge/module": y, + "app/plugins/panel/logs/module": w, + "app/plugins/panel/homelinks/module": x, + }, + Xs = n("DtyJ"), + ec = n("ahDk"); + function tc(e) { + return (tc = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function nc() { + return (nc = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function rc(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ac(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function oc(e, t, n) { + return t && ac(e.prototype, t), n && ac(e, n), e; + } + function ic(e, t) { + return !t || ("object" !== tc(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function lc(e) { + return (lc = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function sc(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cc(e, t); + } + function cc(e, t) { + return (cc = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var uc = (function (e) { + function t(e) { + return rc(this, t), ic(this, lc(t).call(this, e)); + } + return ( + sc(t, e), + oc(t, [ + { + key: "render", + value: function () { + return V.a.createElement( + "div", + { + style: { + display: "flex", + alignItems: "center", + justifyContent: "center", + height: "100%", + }, + }, + V.a.createElement( + se.Alert, + nc( + { severity: wt.AppNotificationSeverity.Error }, + this.props + ) + ) + ); + }, + }, + ]), + t + ); + })(L.PureComponent); + function fc(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function dc(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + fc(o, r, a, i, l, "next", e); + } + function l(e) { + fc(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + n.d(t, "d", function () { + return vc; + }), + n.d(t, "b", function () { + return wc; + }), + n.d(t, "a", function () { + return Oc; + }), + n.d(t, "c", function () { + return kc; + }); + var pc = se; + (pc.PanelPlugin = Q.PanelPlugin), + (pc.DataSourcePlugin = Q.DataSourcePlugin), + (pc.AppPlugin = Q.AppPlugin), + (pc.DataSourceApi = Q.DataSourceApi); + var hc = "?_cache=".concat(Date.now()); + function mc(e, t) { + sr.SystemJS.registerDynamic(e, [], !0, function (e, n, r) { + r.exports = t; + }); + } + sr.SystemJS.registry.set( + "plugin-loader", + sr.SystemJS.newModule({ + locate: function (e) { + return e.address + hc; + }, + }) + ), + sr.SystemJS.config({ + baseURL: "public", + defaultExtension: "js", + packages: { plugins: { defaultExtension: "js" } }, + map: { + text: "vendor/plugin-text/text.js", + css: "vendor/plugin-css/css.js", + }, + meta: { + "/*": { esModule: !0, authorization: !0, loader: "plugin-loader" }, + }, + }), + mc("@grafana/data", Q), + mc("@grafana/ui", pc), + mc("@grafana/runtime", sr), + mc("lodash", j.a), + mc("moment", P.a), + mc("jquery", _.a), + mc("angular", D.a), + mc("d3", Yr), + mc("rxjs", Xs), + mc("rxjs/operators", ec), + mc("prismjs", M.a), + mc("slate", I.o), + mc("@grafana/slate-react", R.b), + mc("slate-plain-serializer", F.a), + mc("react", V.a), + mc("react-dom", $.a), + mc("react-redux", q), + mc("redux", U), + mc("emotion", Pr), + mc("app/features/dashboard/impression_store", { + impressions: ee.a, + __esModule: !0, + }), + mc("app/core/services/backend_srv", { + BackendSrv: Z.a, + getBackendSrv: Z.c, + }), + mc("app/plugins/sdk", S), + mc("app/core/utils/datemath", Q.dateMath), + mc("app/core/utils/file_export", Y), + mc("app/core/utils/flatten", K), + mc("app/core/utils/kbn", E.a), + mc("app/core/utils/ticks", J), + mc("app/core/utils/promiseToDigest", { + promiseToDigest: X.a, + __esModule: !0, + }), + mc("app/core/config", z.b), + mc("app/core/time_series", H.a), + mc("app/core/time_series2", H.a), + mc("app/core/table_model", G.a), + mc("app/core/app_events", W.a), + mc("app/core/core_module", W.c), + mc("app/core/core", { + coreModule: W.c, + appEvents: W.a, + contextSrv: W.b, + __esModule: !0, + }); + for ( + var gc = 0, + bc = [ + "jquery.flot", + "jquery.flot.pie", + "jquery.flot.time", + "jquery.flot.fillbelow", + "jquery.flot.crosshair", + "jquery.flot.stack", + "jquery.flot.selection", + "jquery.flot.stackpercent", + "jquery.flot.events", + "jquery.flot.gauge", + ]; + gc < bc.length; + gc++ + ) { + mc(bc[gc], { fakeDep: 1 }); + } + function vc(e) { + return yc.apply(this, arguments); + } + function yc() { + return (yc = dc( + regeneratorRuntime.mark(function e(t) { + var n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!(n = Zs[t])) { + e.next = 9; + break; + } + if ("function" != typeof n) { + e.next = 8; + break; + } + return (e.next = 5), n(); + case 5: + return e.abrupt("return", e.sent); + case 8: + return e.abrupt("return", Promise.resolve(n)); + case 9: + return e.abrupt("return", sr.SystemJS.import(t)); + case 10: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function wc(e) { + return vc(e.module).then(function (t) { + if (t.plugin) { + var n = t.plugin; + return (n.meta = e), n; + } + if (t.Datasource) { + var r = new Q.DataSourcePlugin(t.Datasource); + return r.setComponentsFromLegacyExports(t), (r.meta = e), r; + } + throw new Error( + "Plugin module is missing DataSourcePlugin or Datasource constructor export" + ); + }); + } + function Oc(e) { + return vc(e.module).then(function (t) { + var n = t.plugin ? t.plugin : new Q.AppPlugin(); + return ( + n.init(e), (n.meta = e), n.setComponentsFromLegacyExports(t), n + ); + }); + } + var xc = {}; + function kc(e) { + var t = xc[e]; + if (t) return t; + var n = z.b.panels[e]; + return n + ? ((xc[e] = vc(n.module) + .then(function (e) { + if (e.plugin) return e.plugin; + if (e.PanelCtrl) { + var t = new Q.PanelPlugin(null); + return (t.angularPanelCtrl = e.PanelCtrl), t; + } + throw new Error("missing export: plugin or PanelCtrl"); + }) + .then(function (e) { + return (e.meta = n), e; + }) + .catch(function (t) { + return ( + console.warn("Error loading panel plugin: " + e, t), + (function (e, t) { + var n = (function (t) { + function n() { + return ( + rc(this, n), ic(this, lc(n).apply(this, arguments)) + ); + } + return ( + sc(n, t), + oc(n, [ + { + key: "render", + value: function () { + var t = V.a.createElement( + V.a.Fragment, + null, + "Check the server startup logs for more information. ", + V.a.createElement("br", null), + "If this plugin was loaded from git, make sure it was compiled." + ); + return V.a.createElement(uc, { + title: "Error loading: ".concat(e.id), + text: t, + }); + }, + }, + ]), + n + ); + })(L.PureComponent), + r = new Q.PanelPlugin(n); + return (r.meta = e), (r.loadError = !0), r; + })(n) + ); + })), + xc[e]) + : Promise.resolve( + (function (e) { + var t = (function (t) { + function n() { + return ( + rc(this, n), ic(this, lc(n).apply(this, arguments)) + ); + } + return ( + sc(n, t), + oc(n, [ + { + key: "render", + value: function () { + return V.a.createElement(uc, { + title: "Panel plugin not found: ".concat(e), + }); + }, + }, + ]), + n + ); + })(L.PureComponent), + n = new Q.PanelPlugin(t); + return ( + (n.meta = { + id: e, + name: e, + sort: 100, + type: Q.PluginType.panel, + module: "", + baseUrl: "", + info: { + author: { name: "" }, + description: "", + links: [], + logos: { large: "", small: "" }, + screenshots: [], + updated: "", + version: "", + }, + }), + n + ); + })(e) + ); + } + }, + WNR3: function (e, t) { + var n = "public/app/features/alerting/partials/notification_edit.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n <h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Notification Channel</h3>\n <h3 class=page-sub-heading ng-show=ctrl.isNew>New Notification Channel</h3>\n\n <form name=ctrl.theForm ng-if=ctrl.notifiers>\n <div class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-12">Name</span>\n <input type=text required class="gf-form-input max-width-15" ng-model=ctrl.model.name required>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-12">Type</span>\n <div class="gf-form-select-wrapper width-15">\n <select class=gf-form-input ng-model=ctrl.model.type ng-options="t.type as t.name for t in ctrl.notifiers" ng-change="ctrl.typeChanged(notification, $index)">\n </select>\n </div>\n </div>\n <gf-form-switch class=gf-form label="Default (send on all alerts)" label-class=width-14 checked=ctrl.model.isDefault tooltip="Use this notification for all alerts">\n </gf-form-switch>\n <gf-form-switch class=gf-form label="Include image" label-class=width-14 checked=ctrl.model.settings.uploadImage tooltip="Captures an image and include it in the notification">\n </gf-form-switch>\n <gf-form-switch class=gf-form label="Disable Resolve Message" label-class=width-14 checked=ctrl.model.disableResolveMessage tooltip="Disable the resolve message [OK] that is sent when alerting state returns to false">\n </gf-form-switch>\n <gf-form-switch class=gf-form label="Send reminders" label-class=width-14 checked=ctrl.model.sendReminder tooltip="Send additional notifications for triggered alerts">\n </gf-form-switch>\n <div class=gf-form-inline>\n <div class=gf-form ng-if=ctrl.model.sendReminder>\n <span class="gf-form-label width-12">Send reminder every\n <info-popover mode=right-normal position="top center">\n Specify how often reminders should be sent, e.g. every 30s, 1m, 10m, 30m or 1h etc.\n </info-popover>\n </span>\n <input type=text placeholder="Select or specify custom" class="gf-form-input width-15" ng-model=ctrl.model.frequency bs-typeahead=ctrl.getFrequencySuggestion data-min-length=0 ng-required=ctrl.model.sendReminder>\n </div>\n </div>\n <div class=gf-form>\n <span class="alert alert-info width-30" ng-if=ctrl.model.sendReminder>\n Alert reminders are sent after rules are evaluated. Therefore a reminder can never be sent more frequently than a configured alert rule evaluation interval.\n </span>\n </div>\n </div>\n\n <div class=gf-form-group ng-include src=ctrl.notifierTemplateId>\n </div>\n\n <div class="gf-form-group gf-form-button-row">\n\t\t\t<button type=submit ng-click=ctrl.save() class="btn btn-primary width-7">Save</button>\n\t\t\t<button type=submit ng-click=ctrl.testNotification() class="btn btn-secondary">Send Test</button>\n\t\t\t<button type=delete ng-if=!ctrl.isNew ng-click=ctrl.deleteNotification() class="btn btn-danger width-7">Delete</button>\n\t\t\t<a href=alerting/notifications class="btn btn-inverse">Back</a>\n </div>\n </form>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + WUic: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return x; + }), + n.d(t, "a", function () { + return k; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("txxJ"), + i = n("Xmxp"), + l = n("m257"), + s = n("UIT+"), + c = n("iODs"), + u = n("GQ3c"), + f = n("imBb"), + d = n.n(f), + p = n("Obii"), + h = (n("XcA1"), n("t8hP")), + m = n("Y2hc"), + g = n("KODV"); + function b(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function v(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + b(o, r, a, i, l, "next", e); + } + function l(e) { + b(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function y(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var w, + O = (function () { + function e(t, n, r, a, o, l) { + var s = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.$location = n), + (this.$timeout = r), + (this.datasourceSrv = a), + (this.timeSrv = o), + (this.contextSrv = l), + (this.modalOpen = !1), + (this.timepickerOpen = !1), + t.$on("$routeChangeSuccess", function () { + d.a.reset(), s.setupGlobal(); + }), + this.setupGlobal(), + i.b.on(u.CoreEvents.showModal, function () { + return (s.modalOpen = !0); + }), + i.b.on(u.CoreEvents.timepickerOpen, function () { + return (s.timepickerOpen = !0); + }), + i.b.on(u.CoreEvents.timepickerClosed, function () { + return (s.timepickerOpen = !1); + }); + } + var t, n, r; + return ( + (e.$inject = [ + "$rootScope", + "$location", + "$timeout", + "datasourceSrv", + "timeSrv", + "contextSrv", + ]), + (t = e), + (n = [ + { + key: "setupGlobal", + value: function () { + "/login" !== this.$location.path() && + (this.bind(["?", "h"], this.showHelpModal), + this.bind("g h", this.goToHome), + this.bind("g a", this.openAlerting), + this.bind("g p", this.goToProfile), + this.bind("s o", this.openSearch), + this.bind("f", this.openSearch), + this.bind("esc", this.exit), + this.bindGlobal("esc", this.globalEsc)); + }, + }, + { + key: "globalEsc", + value: function () { + var e = document, + t = e.activeElement; + document.querySelectorAll(".slate-typeahead--open").length > + 0 || + (t && + t.blur && + ("INPUT" === t.nodeName || + "TEXTAREA" === t.nodeName || + t.hasAttribute("data-slate-editor")) + ? e.activeElement.blur() + : this.exit()); + }, + }, + { + key: "openSearch", + value: function () { + i.b.emit(u.CoreEvents.showDashSearch); + }, + }, + { + key: "openAlerting", + value: function () { + this.$location.url("/alerting"); + }, + }, + { + key: "goToHome", + value: function () { + this.$location.url("/"); + }, + }, + { + key: "goToProfile", + value: function () { + this.$location.url("/profile"); + }, + }, + { + key: "showHelpModal", + value: function () { + i.b.emit(u.CoreEvents.showModal, { + templateHtml: "<help-modal></help-modal>", + }); + }, + }, + { + key: "exit", + value: function () { + if ((i.b.emit(u.CoreEvents.hideModal), !this.modalOpen)) { + if (this.timepickerOpen) + return ( + this.$rootScope.appEvent(u.CoreEvents.closeTimepicker), + void (this.timepickerOpen = !1) + ); + var e = this.$location.search(); + return e.editview + ? (delete e.editview, void this.$location.search(e)) + : e.editPanel + ? (delete e.editPanel, void this.$location.search(e)) + : void (e.fullscreen + ? i.b.emit(p.PanelEvents.panelChangeView, { + fullscreen: !1, + edit: !1, + }) + : e.kiosk && + this.$rootScope.appEvent( + u.CoreEvents.toggleKioskMode, + { exit: !0 } + )); + } + this.modalOpen = !1; + }, + }, + { + key: "bind", + value: function (e, t) { + var n = this; + d.a.bind( + e, + function (e) { + return ( + e.preventDefault(), + e.stopPropagation(), + (e.returnValue = !1), + n.$rootScope.$apply(t.bind(n)) + ); + }, + "keydown" + ); + }, + }, + { + key: "bindGlobal", + value: function (e, t) { + var n = this; + d.a.bindGlobal( + e, + function (e) { + return ( + e.preventDefault(), + e.stopPropagation(), + (e.returnValue = !1), + n.$rootScope.$apply(t.bind(n)) + ); + }, + "keydown" + ); + }, + }, + { + key: "unbind", + value: function (e, t) { + d.a.unbind(e, t); + }, + }, + { + key: "showDashEditView", + value: function () { + var e = a.a.extend(this.$location.search(), { + editview: "settings", + }); + this.$location.search(e); + }, + }, + { + key: "setupDashboardBindings", + value: function (e, t) { + var n = this; + this.bind("mod+o", function () { + (t.graphTooltip = (t.graphTooltip + 1) % 3), + i.b.emit(u.CoreEvents.graphHoverClear), + t.startRefresh(); + }), + this.bind("mod+s", function () { + i.b.emit(u.CoreEvents.showModalReact, { + component: g.a, + props: { dashboard: t }, + }); + }), + this.bind("t z", function () { + e.appEvent(u.CoreEvents.zoomOut, 2); + }), + this.bind("ctrl+z", function () { + e.appEvent(u.CoreEvents.zoomOut, 2); + }), + this.bind("t left", function () { + e.appEvent(u.CoreEvents.shiftTime, -1); + }), + this.bind("t right", function () { + e.appEvent(u.CoreEvents.shiftTime, 1); + }), + this.bind("e", function () { + t.canEditPanelById(t.meta.focusPanelId) && + i.b.emit(p.PanelEvents.panelChangeView, { + fullscreen: !0, + edit: !0, + panelId: t.meta.focusPanelId, + toggle: !0, + }); + }), + this.bind("v", function () { + t.meta.focusPanelId && + i.b.emit(p.PanelEvents.panelChangeView, { + fullscreen: !0, + panelId: t.meta.focusPanelId, + toggle: !0, + }); + }), + this.contextSrv.hasAccessToExplore() && + this.bind( + "x", + v( + regeneratorRuntime.mark(function e() { + var r, a, o, i; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!t.meta.focusPanelId) { + e.next = 10; + break; + } + return ( + (r = t.getPanelById(t.meta.focusPanelId)), + (e.next = 4), + n.datasourceSrv.get(r.datasource) + ); + case 4: + return ( + (a = e.sent), + (e.next = 7), + Object(l.k)({ + panel: r, + panelTargets: r.targets, + panelDatasource: a, + datasourceSrv: n.datasourceSrv, + timeSrv: n.timeSrv, + }) + ); + case 7: + (o = e.sent), + (i = s.b.stripBaseFromUrl(o)) && + n.$timeout(function () { + return n.$location.url(i); + }); + case 10: + case "end": + return e.stop(); + } + }, e); + }) + ) + ), + this.bind("p r", function () { + t.canEditPanelById(t.meta.focusPanelId) && + (i.b.emit( + u.CoreEvents.removePanel, + t.meta.focusPanelId + ), + (t.meta.focusPanelId = 0)); + }), + this.bind("p d", function () { + if (t.canEditPanelById(t.meta.focusPanelId)) { + var e = t.getPanelInfoById(t.meta.focusPanelId).index; + t.duplicatePanel(t.panels[e]); + } + }), + this.bind("p s", function () { + if (t.meta.focusPanelId) { + var e = t.getPanelInfoById(t.meta.focusPanelId); + i.b.emit(u.CoreEvents.showModalReact, { + component: m.ShareModal, + props: { + dashboard: t, + panel: null == e ? void 0 : e.panel, + }, + }); + } + }), + this.bind("p i", function () { + t.meta.focusPanelId && + Object(h.getLocationSrv)().update({ + partial: !0, + query: { inspect: t.meta.focusPanelId }, + }); + }), + this.bind("p l", function () { + if ( + t.meta.focusPanelId && + t.getPanelInfoById(t.meta.focusPanelId).panel.legend + ) { + var e = t.getPanelById(t.meta.focusPanelId); + (e.legend.show = !e.legend.show), e.render(); + } + }), + this.bind("d l", function () { + t.toggleLegendsForAll(); + }), + this.bind("d shift+c", function () { + t.collapseRows(); + }), + this.bind("d shift+e", function () { + t.expandRows(); + }), + this.bind("d n", function () { + n.$location.url("/dashboard/new"); + }), + this.bind("d r", function () { + t.startRefresh(); + }), + this.bind("d s", function () { + n.showDashEditView(); + }), + this.bind("d k", function () { + i.b.emit(u.CoreEvents.toggleKioskMode); + }), + this.bind("d v", function () { + i.b.emit(u.CoreEvents.toggleViewMode); + }), + this.bind("d a", function () { + var e = c.d.getState().location.query.autofitpanels + ? "" + : "&autofitpanels"; + window.location.href = window.location.href + e; + }); + }, + }, + ]) && y(t.prototype, n), + r && y(t, r), + e + ); + })(); + function x(e) { + w = e; + } + function k() { + return w; + } + o.c.service("keybindingSrv", O); + }, + WnbS: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return m; + }); + var r = n("xweI"), + a = n.n(r), + o = n("txxJ"), + i = n("ZFWI"), + l = n("Vw/f"), + s = n("t8hP"), + c = n("Obii"), + u = n("exx3"); + function f(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function d(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var h = (function () { + function e(t, n, r) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$injector = t), + (this.$rootScope = n), + (this.templateSrv = r), + (this.datasources = {}), + this.init(); + } + var t, n, r, o, s; + return ( + (e.$inject = ["$injector", "$rootScope", "templateSrv"]), + (t = e), + (n = [ + { + key: "init", + value: function () { + this.datasources = {}; + }, + }, + { + key: "get", + value: function (e, t) { + return e + ? "default" === + (e = this.templateSrv.replace(e, t, function (e) { + return Array.isArray(e) ? e[0] : e; + })) + ? this.get(i.b.defaultDatasource) + : this.datasources[e] + ? Promise.resolve(this.datasources[e]) + : this.loadDatasource(e) + : this.get(i.b.defaultDatasource); + }, + }, + { + key: "loadDatasource", + value: + ((o = regeneratorRuntime.mark(function e(t) { + var n, r, a, o; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (t !== u.b.name) { + e.next = 3; + break; + } + return ( + (this.datasources[t] = u.b), + e.abrupt("return", Promise.resolve(u.b)) + ); + case 3: + if ((n = i.b.datasources[t])) { + e.next = 6; + break; + } + return e.abrupt( + "return", + Promise.reject({ + message: "Datasource named ".concat( + t, + " was not found" + ), + }) + ); + case 6: + return ( + (e.prev = 6), (e.next = 9), Object(l.b)(n.meta) + ); + case 9: + if (((r = e.sent), !this.datasources[t])) { + e.next = 12; + break; + } + return e.abrupt("return", this.datasources[t]); + case 12: + return ( + (a = 1 !== r.DataSourceClass.length), + ((o = a + ? this.$injector.instantiate( + r.DataSourceClass, + { instanceSettings: n } + ) + : new r.DataSourceClass(n)).components = + r.components), + (o.meta = n.meta), + (this.datasources[t] = o), + e.abrupt("return", o) + ); + case 20: + return ( + (e.prev = 20), + (e.t0 = e.catch(6)), + this.$rootScope.appEvent( + c.AppEvents.alertError, + [n.name + " plugin failed", e.t0.toString()] + ), + e.abrupt( + "return", + Promise.reject({ + message: "Datasource named ".concat( + t, + " was not found" + ), + }) + ) + ); + case 24: + case "end": + return e.stop(); + } + }, + e, + this, + [[6, 20]] + ); + })), + (s = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var a = o.apply(e, t); + function i(e) { + d(a, n, r, i, l, "next", e); + } + function l(e) { + d(a, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function (e) { + return s.apply(this, arguments); + }), + }, + { + key: "getAll", + value: function () { + var e = i.b.datasources; + return Object.keys(e).map(function (t) { + return e[t]; + }); + }, + }, + { + key: "getExternal", + value: function () { + var e = this.getAll().filter(function (e) { + return !e.meta.builtIn; + }); + return a()(e, ["name"]); + }, + }, + { + key: "getAnnotationSources", + value: function () { + var e = []; + return ( + this.addDataSourceVariables(e), + Object.values(i.b.datasources).forEach(function (t) { + var n; + (null === (n = t.meta) || void 0 === n + ? void 0 + : n.annotations) && e.push(t); + }), + e + ); + }, + }, + { + key: "getMetricSources", + value: function (e) { + var t = []; + return ( + Object.entries(i.b.datasources).forEach(function (e) { + var n, + r = f(e, 2), + a = r[0], + o = r[1]; + if ( + null === (n = o.meta) || void 0 === n + ? void 0 + : n.metrics + ) { + var l = { value: a, name: a, meta: o.meta, sort: a }; + "grafana" === o.meta.id + ? (l.sort = String.fromCharCode(253)) + : "dashboard" === o.meta.id + ? (l.sort = String.fromCharCode(254)) + : "mixed" === o.meta.id && + (l.sort = String.fromCharCode(255)), + t.push(l), + a === i.b.defaultDatasource && + ((l = { + value: null, + name: "default", + meta: o.meta, + sort: a, + }), + t.push(l)); + } + }), + (e && e.skipVariables) || this.addDataSourceVariables(t), + t.sort(function (e, t) { + return e.sort.toLowerCase() > t.sort.toLowerCase() + ? 1 + : e.sort.toLowerCase() < t.sort.toLowerCase() + ? -1 + : 0; + }), + t + ); + }, + }, + { + key: "addDataSourceVariables", + value: function (e) { + this.templateSrv.variables + .filter(function (e) { + return "datasource" === e.type; + }) + .forEach(function (t) { + var n = + "default" === t.current.value + ? i.b.defaultDatasource + : t.current.value, + r = i.b.datasources[n]; + if (r) { + var a = "$".concat(t.name); + e.push({ name: a, value: a, meta: r.meta, sort: a }); + } + }); + }, + }, + ]) && p(t.prototype, n), + r && p(t, r), + e + ); + })(), + m = function () { + return Object(s.getDataSourceSrv)(); + }; + o.c.service("datasourceSrv", h); + }, + WtGe: function (e, t) { + var n = + "public/app/features/datasources/partials/http_settings_next.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<datasource-http-settings-next on-change=onChange datasourceconfig=current showaccessoptions=showAccessOption defaulturl=suggestUrl />\n" + ); + }, + ]), + (e.exports = n); + }, + Wu7z: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }); + var r, + a = n("q1tI"), + o = n.n(a); + !(function (e) { + (e.Grid = "grid"), (e.List = "list"); + })(r || (r = {})); + t.b = function (e) { + var t = e.mode, + n = e.onLayoutModeChanged; + return o.a.createElement( + "div", + { className: "layout-selector" }, + o.a.createElement( + "button", + { + onClick: function () { + n(r.List); + }, + className: t === r.List ? "active" : "", + }, + o.a.createElement("i", { className: "fa fa-list" }) + ), + o.a.createElement( + "button", + { + onClick: function () { + n(r.Grid); + }, + className: t === r.Grid ? "active" : "", + }, + o.a.createElement("i", { className: "fa fa-th" }) + ) + ); + }; + }, + "X+V3": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }); + var r = function (e) { + return e.routeParams.id; + }, + a = function (e) { + return e.routeParams.page; + }; + }, + X4jf: function (e, t) { + var n = "public/app/features/plugins/partials/update_instructions.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-cloud-download"></i>\n\t\t\t<span class=p-l-1>Update Plugin</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<div class=modal-content>\n\t\t<div class=gf-form-group>\n\t\t\t<p>Type the following on the command line to update {{model.name}}.</p>\n\t\t\t<pre><code>grafana-cli plugins update {{model.id}}</code></pre>\n\t\t\t<span class=small>Check out {{model.name}} on <a href=https://grafana.com/plugins/{{model.id}}>Grafana.com</a> for README and changelog. If you do not have access to the command line, ask your Grafana administator.</span>\n\t\t</div>\n\t\t<p class=pluginlist-none-installed><img class=pluginlist-inline-logo src=public/img/grafana_icon.svg><strong>Pro tip</strong>: To update all plugins at once, type <code class=code--small>grafana-cli plugins update-all</code> on the command line.</p></div>\n\t</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + XQMu: function (e, t) {}, + Xmxp: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }); + var r = new (n("1524").a)(); + t.b = r; + }, + XrM5: function (e, t) { + var n = "public/app/features/panel/partials/general_tab.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=panel-options-group>\n \x3c!-- <div class="panel-option-section__header">Information</div> --\x3e\n <div class=panel-options-group__body>\n <div class=section>\n <div class=gf-form>\n <span class="gf-form-label width-7">Title</span>\n <input type=text class="gf-form-input width-25" ng-model=ctrl.panel.title ng-model-onblur>\n </div>\n <gf-form-switch class=gf-form label-class=width-7 switch-class=max-width-6 label=Transparent checked=ctrl.panel.transparent on-change=ctrl.render()></gf-form-switch>\n </div>\n <div class=section>\n <div class="gf-form gf-form--v-stretch">\n <span class="gf-form-label width-7">Description</span>\n <textarea class="gf-form-input width-25" rows=5 ng-model=ctrl.panel.description ng-model-onblur placeholder="Panel description, supports markdown & links"></textarea>\n </div>\n </div>\n </div>\n</div>\n\n<div class=panel-options-group>\n <div class=panel-options-group__header>\n <div class=panel-options-group__title>Repeating</div>\n </div>\n <div class=panel-options-group__body>\n <div class=section>\n <div class=gf-form>\n <span class="gf-form-label width-9">Repeat</span>\n <dash-repeat-option panel=ctrl.panel></dash-repeat-option>\n </div>\n <div class=gf-form ng-show=ctrl.panel.repeat>\n <span class="gf-form-label width-9">Direction</span>\n <select class=gf-form-input ng-model=ctrl.panel.repeatDirection ng-options="f.value as f.text for f in [{value: \'v\', text: \'Vertical\'}, {value: \'h\', text: \'Horizontal\'}]">\n <option value=""></option>\n </select>\n </div>\n <div class=gf-form ng-show="ctrl.panel.repeat && ctrl.panel.repeatDirection == \'h\'">\n <span class="gf-form-label width-9">Max per row</span>\n <select class=gf-form-input ng-model=ctrl.panel.maxPerRow ng-options="f for f in [2,3,4,6,12,24]">\n <option value=""></option>\n </select>\n </div>\n <div class=gf-form-hint>\n <div class="gf-form-hint-text muted">\n Note: You may need to change the variable selection to see this in action.\n </div>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + Y2hc: function (e, t, n) { + "use strict"; + var r = n("QOF1"); + n.d(t, "ShareModal", function () { + return r.a; + }); + n("Dijz"); + }, + Y8cN: function (e, t, n) { + "use strict"; + function r(e) { + return (r = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function a(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function i(e, t, n) { + return t && o(e.prototype, t), n && o(e, n), e; + } + n.d(t, "a", function () { + return c; + }); + var l = (function () { + function e() { + a(this, e); + } + return ( + i(e, [ + { + key: "_linkTo", + value: function (e, t) { + t <= 0 && e.inputEdges.push(this), + t >= 0 && e.outputEdges.push(this), + e.edges.push(this); + }, + }, + { + key: "link", + value: function (e, t) { + if (!e) throw Error("inputNode is required"); + if (!t) throw Error("outputNode is required"); + return ( + this.unlink(), + (this.inputNode = e), + (this.outputNode = t), + this._linkTo(e, 1), + this._linkTo(t, -1), + this + ); + }, + }, + { + key: "unlink", + value: function () { + var e, + t = this.inputNode, + n = this.outputNode; + t && + n && + ((e = t.edges.indexOf(this)) > -1 && t.edges.splice(e, 1), + (e = n.edges.indexOf(this)) > -1 && n.edges.splice(e, 1), + (e = t.outputEdges.indexOf(this)) > -1 && + t.outputEdges.splice(e, 1), + (e = n.inputEdges.indexOf(this)) > -1 && + n.inputEdges.splice(e, 1), + (this.inputNode = null), + (this.outputNode = null)); + }, + }, + ]), + e + ); + })(), + s = (function () { + function e(t) { + a(this, e), + (this.name = t), + (this.edges = []), + (this.inputEdges = []), + (this.outputEdges = []); + } + return ( + i(e, [ + { + key: "getEdgeFrom", + value: function (e) { + return e + ? "object" === r(e) + ? this.inputEdges.find(function (t) { + return t.inputNode.name === e.name; + }) + : this.inputEdges.find(function (t) { + return t.inputNode.name === e; + }) + : null; + }, + }, + { + key: "getEdgeTo", + value: function (e) { + return e + ? "object" === r(e) + ? this.outputEdges.find(function (t) { + return t.outputNode.name === e.name; + }) + : this.outputEdges.find(function (t) { + return t.outputNode.name === e; + }) + : null; + }, + }, + { + key: "getOptimizedInputEdges", + value: function () { + var e = this, + t = []; + return ( + this.inputEdges.forEach(function (n) { + n.inputNode.inputEdges + .map(function (e) { + return e.inputNode; + }) + .forEach(function (n) { + var r = n.getEdgeTo(e.name); + r && t.push(r); + }); + }), + this.inputEdges.filter(function (e) { + return -1 === t.indexOf(e); + }) + ); + }, + }, + ]), + e + ); + })(), + c = (function () { + function e() { + a(this, e), (this.nodes = {}); + } + return ( + i(e, [ + { + key: "createNode", + value: function (e) { + var t = new s(e); + return (this.nodes[e] = t), t; + }, + }, + { + key: "createNodes", + value: function (e) { + var t = this, + n = []; + return ( + e.forEach(function (e) { + n.push(t.createNode(e)); + }), + n + ); + }, + }, + { + key: "link", + value: function (e, t) { + var n = this, + r = [], + a = [], + o = [], + i = []; + (r = e instanceof Array ? e : [e]), + (a = t instanceof Array ? t : [t]); + for (var l = 0; l < r.length; l++) { + var s = r[l]; + if ("string" == typeof s) { + var c = this.getNode(s); + if (!c) + throw Error( + "cannot link input node named ".concat( + s, + " since it doesn't exist in graph" + ) + ); + o.push(c); + } else o.push(s); + } + for (var u = 0; u < a.length; u++) { + var f = a[u]; + if ("string" == typeof f) { + var d = this.getNode(f); + if (!d) + throw Error( + "cannot link output node named ".concat( + f, + " since it doesn't exist in graph" + ) + ); + i.push(d); + } else i.push(f); + } + var p = []; + return ( + o.forEach(function (e) { + i.forEach(function (t) { + p.push(n.createEdge().link(e, t)); + }); + }), + p + ); + }, + }, + { + key: "createEdge", + value: function () { + return new l(); + }, + }, + { + key: "getNode", + value: function (e) { + return this.nodes[e]; + }, + }, + ]), + e + ); + })(); + }, + YRnh: function (e, t) { + var n = "public/app/partials/reset_password.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<div class=signup>\n\t\t<h3 class=p-b-1>Reset password</h3>\n\n\t\t<div ng-if="ldapEnabled || authProxyEnabled">\n\t\t\tYou cannot reset password when LDAP or Auth Proxy authentication is enabled.\n\t\t</div>\n\t\t<div ng-if=disableLoginForm>\n\t\t\tYou cannot reset password when login form is disabled.\n\t\t</div>\n\t\t<form name=sendResetForm class="login-form gf-form-group" ng-show="mode === \'send\'" ng-hide="ldapEnabled || authProxyEnabled || disableLoginForm || mode === \'reset\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t\t\t<input type=text name=username class="gf-form-input max-width-14" required ng-model=formModel.userOrEmail placeholder="email or username">\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=sendResetEmail(); ng-disabled=!sendResetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t\t<a href=login class="btn btn-inverse">\n\t\t\t\t\tBack\n\t\t\t\t</a>\n\n\t\t\t</div>\n\t\t</form>\n\t\t<div ng-show="mode === \'email-sent\'">\n\t\t\tAn email with a reset link has been sent to the email address. <br>\n\t\t\tYou should receive it shortly.\n\t\t\t<div class=p-t-1>\n\t\t\t\t<a href=login class="btn btn-primary p-t-1">\n\t\t\t\t\tLogin\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<form name=resetForm class="login-form gf-form-group" ng-show="mode === \'reset\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-9">New Password</span>\n\t\t\t\t<input type=password name=NewPassword class="gf-form-input max-width-14" required ng-minlength=4 ng-model=formModel.newPassword placeholder=password watch-change="formModel.newPassword = inputValue;">\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-9">Confirm Password</span>\n\t\t\t\t<input type=password name=ConfirmPassword class="gf-form-input max-width-14" required ng-minlength=4 ng-model=formModel.confirmPassword placeholder="confirm password">\n\t\t\t</div>\n\t\t\t<div class=signup__password-strength>\n\t\t\t\t<password-strength password=formModel.newPassword></password-strength>\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=submitReset(); ng-disabled=!resetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + YWTM: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("kDDq"), + l = n("ZFWI"), + s = n("t8hP"); + function c(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function u() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-left: 15px;\n"]); + return ( + (u = function () { + return e; + }), + e + ); + } + var f = Object(i.css)(u()), + d = function (e) { + var t = e.verifyEmailEnabled, + n = e.autoAssignOrg, + r = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + "" === t.name && delete t.name, + (e.next = 3), + Object(s.getBackendSrv)().post( + "/api/user/signup/step2", + { + email: t.email, + code: t.code, + username: t.email, + orgName: t.orgName, + password: t.password, + name: t.name, + } + ) + ); + case 3: + "redirect-to-select-org" === e.sent.code && + (window.location.href = + Object(l.c)().appSubUrl + + "/profile/select-org?signup=1"), + (window.location.href = + Object(l.c)().appSubUrl + "/"); + case 6: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + c(o, r, a, i, l, "next", e); + } + function l(e) { + c(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return t.apply(this, arguments); + }; + })(), + i = { + orgName: e.orgName, + email: e.email, + username: e.email, + code: e.code, + name: e.name, + }; + return a.a.createElement( + o.Forms.Form, + { defaultValues: i, onSubmit: r }, + function (e) { + var r = e.register, + i = e.errors; + return a.a.createElement( + a.a.Fragment, + null, + t && + a.a.createElement( + o.Forms.Field, + { label: "Email verification code (sent to your email)" }, + a.a.createElement(o.Forms.Input, { + name: "code", + size: "md", + ref: r, + placeholder: "Code", + }) + ), + !n && + a.a.createElement( + o.Forms.Field, + { label: "Org. name" }, + a.a.createElement(o.Forms.Input, { + size: "md", + name: "orgName", + placeholder: "Org. name", + ref: r, + }) + ), + a.a.createElement( + o.Forms.Field, + { label: "Your name" }, + a.a.createElement(o.Forms.Input, { + size: "md", + name: "name", + placeholder: "(optional)", + ref: r, + }) + ), + a.a.createElement( + o.Forms.Field, + { + label: "Email", + invalid: !!i.email, + error: !!i.email && i.email.message, + }, + a.a.createElement(o.Forms.Input, { + size: "md", + name: "email", + type: "email", + placeholder: "Email", + ref: r({ + required: "Email is required", + pattern: { + value: /^\S+@\S+$/, + message: "Email is invalid", + }, + }), + }) + ), + a.a.createElement( + o.Forms.Field, + { + label: "Password", + invalid: !!i.password, + error: !!i.password && i.password.message, + }, + a.a.createElement(o.Forms.Input, { + size: "md", + name: "password", + type: "password", + placeholder: "Password", + ref: r({ required: "Password is required" }), + }) + ), + a.a.createElement(o.Forms.Button, { type: "submit" }, "Submit"), + a.a.createElement( + "span", + { className: f }, + a.a.createElement( + o.Forms.LinkButton, + { + href: Object(l.c)().appSubUrl + "/login", + variant: "secondary", + }, + "Back" + ) + ) + ); + } + ); + }; + }, + YiuE: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }), + n.d(t, "d", function () { + return f; + }), + n.d(t, "e", function () { + return d; + }), + n.d(t, "f", function () { + return p; + }), + n.d(t, "i", function () { + return h; + }), + n.d(t, "j", function () { + return m; + }), + n.d(t, "l", function () { + return y; + }), + n.d(t, "k", function () { + return w; + }), + n.d(t, "m", function () { + return O; + }), + n.d(t, "h", function () { + return x; + }), + n.d(t, "g", function () { + return k; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = Object(r.c)({ + name: "ldap", + initialState: { + connectionInfo: [], + syncInfo: null, + user: null, + connectionError: null, + userError: null, + }, + reducers: { + ldapConnectionInfoLoadedAction: function (e, t) { + return o({}, e, { ldapError: null, connectionInfo: t.payload }); + }, + ldapFailedAction: function (e, t) { + return o({}, e, { ldapError: t.payload }); + }, + ldapSyncStatusLoadedAction: function (e, t) { + return o({}, e, { syncInfo: t.payload }); + }, + userMappingInfoLoadedAction: function (e, t) { + return o({}, e, { user: t.payload, userError: null }); + }, + userMappingInfoFailedAction: function (e, t) { + return o({}, e, { user: null, userError: t.payload }); + }, + clearUserMappingInfoAction: function (e, t) { + return o({}, e, { user: null }); + }, + clearUserErrorAction: function (e, t) { + return o({}, e, { userError: null }); + }, + }, + }), + s = l.actions, + c = s.clearUserErrorAction, + u = s.clearUserMappingInfoAction, + f = s.ldapConnectionInfoLoadedAction, + d = s.ldapFailedAction, + p = s.ldapSyncStatusLoadedAction, + h = s.userMappingInfoFailedAction, + m = s.userMappingInfoLoadedAction, + g = l.reducer, + b = Object(r.c)({ + name: "userAdmin", + initialState: { + user: null, + sessions: [], + orgs: [], + isLoading: !0, + error: null, + }, + reducers: { + userProfileLoadedAction: function (e, t) { + return o({}, e, { user: t.payload }); + }, + userOrgsLoadedAction: function (e, t) { + return o({}, e, { orgs: t.payload }); + }, + userSessionsLoadedAction: function (e, t) { + return o({}, e, { sessions: t.payload }); + }, + userAdminPageLoadedAction: function (e, t) { + return o({}, e, { isLoading: !t.payload }); + }, + userAdminPageFailedAction: function (e, t) { + return o({}, e, { error: t.payload, isLoading: !1 }); + }, + }, + }), + v = b.actions, + y = v.userProfileLoadedAction, + w = v.userOrgsLoadedAction, + O = v.userSessionsLoadedAction, + x = v.userAdminPageLoadedAction, + k = v.userAdminPageFailedAction, + j = b.reducer; + t.c = { ldap: g, userAdmin: j }; + }, + Yj82: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n("wZee"), + o = n.n(a), + i = function () { + var e = Object(r.useRef)(!1); + return ( + Object(r.useEffect)(function () { + return ( + (e.current = !0), + function () { + e.current = !1; + } + ); + }), + e + ); + }; + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function c(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function u(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + c(o, r, a, i, l, "next", e); + } + function l(e) { + c(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function f(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var d = function (e, t, n) { + var a = i(), + o = f(Object(r.useState)([]), 2), + c = o[0], + d = o[1], + p = f(Object(r.useState)(!1), 2), + h = p[0], + m = p[1], + g = f(Object(r.useState)([]), 2), + b = g[0], + v = g[1], + y = (function () { + var t = u( + regeneratorRuntime.mark(function t(r) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), e.fetchLabelValues(r, n); + case 2: + a.current && d(e.logLabelOptions); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(), + w = (function () { + var t = u( + regeneratorRuntime.mark(function t() { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), e.refreshLogLabels(n); + case 2: + a.current && (m(!1), d(e.logLabelOptions)); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function () { + return t.apply(this, arguments); + }; + })(); + return ( + Object(r.useEffect)( + function () { + if (t) { + var e = b[b.length - 1]; + if (e) { + var n = c.map(function (t) { + return t.value === e.value + ? (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, t, { loading: !0 }) + : t; + }); + d(n), y(e.value); + } + } + }, + [b] + ), + Object(r.useEffect)( + function () { + h && w(); + }, + [h] + ), + Object(r.useEffect)( + function () { + t && d(e.logLabelOptions); + }, + [t] + ), + { + logLabelOptions: c, + refreshLabels: function () { + return m(!0); + }, + setActiveOption: v, + } + ); + }; + function p(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function h(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + n.d(t, "a", function () { + return g; + }); + var m = function (e, t) { + var n = i(), + a = h(Object(r.useState)(!1), 2), + o = a[0], + l = a[1], + s = (function () { + var r, + a = + ((r = regeneratorRuntime.mark(function r() { + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (e.initialRange = t), (r.next = 3), e.start() + ); + case 3: + n.current && l(!0); + case 4: + case "end": + return r.stop(); + } + }, r); + })), + function () { + var e = this, + t = arguments; + return new Promise(function (n, a) { + var o = r.apply(e, t); + function i(e) { + p(o, n, a, i, l, "next", e); + } + function l(e) { + p(o, n, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function () { + return a.apply(this, arguments); + }; + })(); + return ( + Object(r.useEffect)(function () { + s(); + }, []), + o + ); + }, + g = function (e, t) { + var n = m(e, t), + a = d(e, n, t), + i = a.logLabelOptions, + l = a.refreshLabels, + s = a.setActiveOption, + c = (function (e, t) { + var n = h(Object(r.useState)(null), 2), + a = n[0], + i = n[1]; + return ( + Object(r.useEffect)( + function () { + if (t) { + var n = e.getSyntax(); + (o.a.languages.promql = n), i(n); + } + }, + [t, e] + ), + { isSyntaxReady: !!a, syntax: a } + ); + })(e, n); + return { + isSyntaxReady: c.isSyntaxReady, + syntax: c.syntax, + logLabelOptions: i, + setActiveOption: s, + refreshLabels: l, + }; + }; + }, + YmbM: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("F03Y"); + function a(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var o = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.source = t), + (this.order = n); + } + var t, n, o; + return ( + (t = e), + (n = [ + { + key: "get", + value: function (e) { + return this.source.get(this.order[e]); + }, + }, + { + key: "toArray", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "toJSON", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "length", + get: function () { + return this.source.length; + }, + }, + ]) && a(t.prototype, n), + o && a(t, o), + e + ); + })(); + }, + "Yyu/": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }), + n.d(t, "c", function () { + return l; + }), + n.d(t, "d", function () { + return s; + }), + n.d(t, "b", function () { + return c; + }); + var r = n("LvDl"), + a = n("iODs"), + o = n("buVq"), + i = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : Object(a.b)(); + if (!t.templating.variables[e]) + throw new Error("Couldn't find variable with uuid:".concat(e)); + return t.templating.variables[e]; + }, + l = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : Object(a.b)(); + return Object.values(t.templating.variables).find(function (t) { + return t.name === e; + }); + }, + s = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : Object(a.b)(); + return Object.values(e.templating.variables).filter(function (e) { + return e.uuid !== o.c; + }); + }, + c = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : Object(a.b)(), + t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = Object.values(e.templating.variables) + .filter(function (e) { + return !!t || e.uuid !== o.c; + }) + .map(function (e) { + return Object(r.cloneDeep)(e); + }); + return n.sort(function (e, t) { + return e.index - t.index; + }); + }; + }, + "Z6j/": function (e, t, n) { + "use strict"; + function r(e) { + return (r = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function a(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function i(e, t) { + return !t || ("object" !== r(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function l(e) { + return (l = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function s(e, t) { + return (s = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "b", function () { + return f; + }), + n.d(t, "a", function () { + return d; + }), + n.d(t, "c", function () { + return c; + }), + n.d(t, "d", function () { + return u; + }), + n.d(t, "e", function () { + return p; + }); + var c, + u, + f = (function (e) { + function t(e) { + var n; + return ( + a(this, t), + ((n = i(this, l(t).call(this))).DataSourceClass = e), + (n.components = {}), + n + ); + } + var n, r, c; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && s(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "setConfigEditor", + value: function (e) { + return (this.components.ConfigEditor = e), this; + }, + }, + { + key: "setConfigCtrl", + value: function (e) { + return (this.angularConfigCtrl = e), this; + }, + }, + { + key: "setQueryCtrl", + value: function (e) { + return (this.components.QueryCtrl = e), this; + }, + }, + { + key: "setAnnotationQueryCtrl", + value: function (e) { + return (this.components.AnnotationsQueryCtrl = e), this; + }, + }, + { + key: "setQueryEditor", + value: function (e) { + return (this.components.QueryEditor = e), this; + }, + }, + { + key: "setExploreQueryField", + value: function (e) { + return (this.components.ExploreQueryField = e), this; + }, + }, + { + key: "setExploreMetricsQueryField", + value: function (e) { + return (this.components.ExploreMetricsQueryField = e), this; + }, + }, + { + key: "setExploreLogsQueryField", + value: function (e) { + return (this.components.ExploreLogsQueryField = e), this; + }, + }, + { + key: "setExploreStartPage", + value: function (e) { + return (this.components.ExploreStartPage = e), this; + }, + }, + { + key: "setVariableQueryEditor", + value: function (e) { + return (this.components.VariableQueryEditor = e), this; + }, + }, + { + key: "setMetadataInspector", + value: function (e) { + return (this.components.MetadataInspector = e), this; + }, + }, + { + key: "setComponentsFromLegacyExports", + value: function (e) { + (this.angularConfigCtrl = e.ConfigCtrl), + (this.components.QueryCtrl = e.QueryCtrl), + (this.components.AnnotationsQueryCtrl = + e.AnnotationsQueryCtrl), + (this.components.ExploreQueryField = e.ExploreQueryField), + (this.components.ExploreStartPage = e.ExploreStartPage), + (this.components.QueryEditor = e.QueryEditor), + (this.components.VariableQueryEditor = + e.VariableQueryEditor); + }, + }, + ]) && o(n.prototype, r), + c && o(n, c), + t + ); + })(n("CnP+").a), + d = function e(t) { + a(this, e), (this.name = t.name), (this.id = t.id); + }; + !(function (e) { + (e[(e.Connected = 0)] = "Connected"), + (e[(e.Disconnected = 1)] = "Disconnected"); + })(c || (c = {})), + (function (e) { + (e.Logs = "Logs"), (e.Metrics = "Metrics"); + })(u || (u = {})); + var p = function e() { + a(this, e); + }; + }, + ZFWI: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return o; + }); + var r = n("t8hP"); + n.d(t, "a", function () { + return r.config; + }); + var a = r.config; + t.b = a; + var o = function () { + return a; + }; + }, + ZG7E: function (e, t) { + var n = "public/app/plugins/panel/graph/axes_editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n\t<div class="section gf-form-group" ng-repeat="yaxis in ctrl.panel.yaxes">\n\n\t\t<h5 class=section-heading ng-show="$index === 0">Left Y</h5>\n\t\t<h5 class=section-heading ng-show="$index === 1">Right Y</h5>\n\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=yaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Unit</label>\n <unit-picker onchange=ctrl.setUnitFormat(yaxis) value=yaxis.format width=20 />\n\t\t\t</div>\n\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Scale</label>\n\t\t\t\t<div class="gf-form-select-wrapper max-width-20">\n\t\t\t\t\t<select class=gf-form-input ng-model=yaxis.logBase ng-options="v as k for (k, v) in ctrl.logScales" ng-change=ctrl.render()></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-inline>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class="gf-form-label width-6">Y-Min</label>\n\t\t\t\t\t<input type=text class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=yaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class="gf-form-label width-6">Y-Max</label>\n\t\t\t\t\t<input type=text class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=yaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Decimals</label>\n\t\t\t\t<input type=number class="gf-form-input max-width-20" placeholder=auto empty-to-null bs-tooltip="\'Override automatic decimal precision for y-axis\'" data-placement=right ng-model=yaxis.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Label</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-20" ng-model=yaxis.label ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group" aria-label={{ctrl.selectors.xAxisSection}}>\n\t\t<h5 class=section-heading>X-Axis</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=ctrl.panel.xaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label width-6">Mode</label>\n\t\t\t<div class="gf-form-select-wrapper max-width-15">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.xaxis.mode ng-options="v as k for (k, v) in ctrl.xAxisModes" ng-change=ctrl.xAxisModeChanged()> </select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Series mode --\x3e\n\t\t<div class=gf-form ng-if="ctrl.panel.xaxis.mode === \'series\'">\n\t\t\t<label class="gf-form-label width-6">Value</label>\n <metric-segment-model property=ctrl.panel.xaxis.values[0] options=ctrl.xAxisStatOptions on-change=ctrl.xAxisValueChanged() custom=false css-class=width-10 select-mode=true></metric-segment-model>\n\t\t</div>\n\n\t\t\x3c!-- Histogram mode --\x3e\n\t\t<div class=gf-form ng-if="ctrl.panel.xaxis.mode === \'histogram\'">\n\t\t\t<label class="gf-form-label width-6">Buckets</label>\n\t\t\t<input type=number class="gf-form-input max-width-8" ng-model=ctrl.panel.xaxis.buckets placeholder=auto ng-change=ctrl.render() ng-model-onblur bs-tooltip="\'Number of buckets\'" data-placement=right>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if="ctrl.panel.xaxis.mode === \'histogram\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">X-Min</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">X-Max</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<br/>\n\t\t\t<h5 class=section-heading>Y-Axes</h5>\n\t\t\t<gf-form-switch class=gf-form label=Align tooltip="Align left and right Y-axes" label-class=width-6 switch-class=width-5 checked=ctrl.panel.yaxis.align on-change=ctrl.render()></gf-form-switch>\n\t\t\t<div class=gf-form ng-show=ctrl.panel.yaxis.align>\n\t\t\t\t<label class="gf-form-label width-6">\n\t\t\t\t\tLevel\n\t\t\t\t</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=0 ng-model=ctrl.panel.yaxis.alignLevel ng-change=ctrl.render() ng-model-onblur bs-tooltip="\'Alignment of Y-axes are based on this value, starting from Y=0\'" data-placement=right>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + ZGyg: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("lzJ5"), + i = n("4DTL"), + l = n("5C3A"), + s = n("kDLi"), + c = function (e) { + var t = e.pageName, + n = "Loading ".concat(void 0 === t ? "" : t, "..."); + return a.a.createElement( + "div", + { className: "page-loader-wrapper" }, + a.a.createElement(s.LoadingPlaceholder, { text: n }) + ); + }; + function u(e) { + return (u = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function f(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function d(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function p(e, t) { + return !t || ("object" !== u(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function h(e) { + return (h = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function m(e, t) { + return (m = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var g = (function (e) { + function t() { + return f(this, t), p(this, h(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && m(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.isLoading; + return a.a.createElement( + "div", + { className: "page-container page-body" }, + e ? a.a.createElement(c, null) : this.props.children + ); + }, + }, + ]) && d(n.prototype, r), + o && d(n, o), + t + ); + })(r.Component), + b = n("LvDl"), + v = n("ibPz"); + function y(e) { + return (y = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function w(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function O(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function x(e, t) { + return !t || ("object" !== y(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function k(e) { + return (k = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function j(e, t) { + return (j = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var S = (function (e) { + function t() { + var e, n; + w(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = x( + this, + (e = k(t)).call.apply(e, [this].concat(a)) + )).updateTitle = function () { + var e = n.getPageTitle; + document.title = e ? e + " - " + v.a.AppTitle : v.a.AppTitle; + }), + n + ); + } + var n, r, c; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && j(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.updateTitle(); + }, + }, + { + key: "componentDidUpdate", + value: function (e) { + Object(b.isEqual)(e.navModel, this.props.navModel) || + this.updateTitle(); + }, + }, + { + key: "render", + value: function () { + var e = this.props.navModel; + return a.a.createElement( + "div", + { className: "page-scrollbar-wrapper" }, + a.a.createElement( + s.CustomScrollbar, + { + autoHeightMin: "100%", + className: "custom-scrollbar--page", + }, + a.a.createElement( + "div", + { className: "page-scrollbar-content" }, + a.a.createElement(i.a, { model: e }), + this.props.children, + a.a.createElement(l.a, null) + ) + ) + ); + }, + }, + { + key: "getPageTitle", + get: function () { + var e = this.props.navModel; + if (e) return Object(o.b)(e) || void 0; + }, + }, + ]) && O(n.prototype, r), + c && O(n, c), + t + ); + })(r.Component); + (S.Header = i.a), (S.Contents = g); + t.a = S; + }, + ZJ8E: function (e, t, n) { + "use strict"; + function r(e) { + return e.map(a).sort(function (e, t) { + return t.sortRank - e.sortRank || e.name.localeCompare(t.name); + }); + } + function a(e) { + var t = e; + return ( + (t.sortRank = 0), + t.userId > 0 + ? ((t.name = t.userLogin), (t.sortRank = 10)) + : t.teamId > 0 + ? ((t.name = t.team), (t.sortRank = 20)) + : t.role && + ((t.icon = "fa fa-fw fa-street-view"), + (t.name = t.role), + (t.sortRank = 30), + "Editor" === t.role && (t.sortRank += 1)), + t.inherited && (t.sortRank += 100), + t + ); + } + n.d(t, "a", function () { + return r; + }); + }, + ZSVY: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }), + n.d(t, "c", function () { + return f; + }), + n.d(t, "b", function () { + return d; + }); + var r, + a = n("UB5X"), + o = n.n(a), + i = n("KgU3"), + l = n("2kIT"); + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + u(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function u(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function f(e) { + var t = e.field, + n = e.reducers; + if (!t || !n || n.length < 1) return {}; + if (t.calcs) { + var r = [], + a = !0, + l = !1, + s = void 0; + try { + for ( + var u, f = n[Symbol.iterator](); + !(a = (u = f.next()).done); + a = !0 + ) { + var p = u.value; + t.calcs.hasOwnProperty(p) || r.push(p); + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + a || null == f.return || f.return(); + } finally { + if (l) throw s; + } + } + if (r.length < 1) return c({}, t.calcs); + } + var h = d.list(n); + if (t.values.length < 1) { + var m = c({}, t.calcs), + g = !0, + b = !1, + v = void 0; + try { + for ( + var y, w = h[Symbol.iterator](); + !(g = (y = w.next()).done); + g = !0 + ) { + var O = y.value; + m[O.id] = null !== O.emptyInputResult ? O.emptyInputResult : null; + } + } catch (e) { + (b = !0), (v = e); + } finally { + try { + g || null == w.return || w.return(); + } finally { + if (b) throw v; + } + } + return (t.calcs = m); + } + var x = t.config.nullValueMode, + k = x === i.NullValueMode.Ignore, + j = x === i.NullValueMode.AsZero; + if (1 === h.length && h[0].reduce) { + var S = h[0].reduce(t, k, j); + return (t.calcs = c({}, t.calcs, {}, S)), S; + } + var E = (function (e, t, n) { + var r = { + sum: 0, + max: -Number.MAX_VALUE, + min: Number.MAX_VALUE, + logmin: Number.MAX_VALUE, + mean: null, + last: null, + first: null, + lastNotNull: null, + firstNotNull: null, + count: 0, + nonNullCount: 0, + allIsNull: !0, + allIsZero: !0, + range: null, + diff: null, + delta: 0, + step: Number.MAX_VALUE, + previousDeltaUp: !0, + }, + a = e.values; + r.count = a.length; + for (var i = 0; i < a.length; i++) { + var l = a.get(i); + if ((0 === i && (r.first = l), (r.last = l), null === l)) { + if (t) continue; + n && (l = 0); + } + if (null != l) { + var s = null === r.firstNotNull; + if ((s && (r.firstNotNull = l), o()(l))) { + if ( + ((r.sum += l), (r.allIsNull = !1), r.nonNullCount++, !s) + ) { + var c = l - r.lastNotNull; + r.step > c && (r.step = c), + r.lastNotNull > l + ? ((r.previousDeltaUp = !1), + i === a.length - 1 && (r.delta += l)) + : (r.previousDeltaUp ? (r.delta += c) : (r.delta += l), + (r.previousDeltaUp = !0)); + } + l > r.max && (r.max = l), + l < r.min && (r.min = l), + l < r.logmin && l > 0 && (r.logmin = l); + } + 0 !== l && (r.allIsZero = !1), (r.lastNotNull = l); + } + } + r.max === -Number.MAX_VALUE && (r.max = null); + r.min === Number.MAX_VALUE && (r.min = null); + r.step === Number.MAX_VALUE && (r.step = null); + r.nonNullCount > 0 && (r.mean = r.sum / r.nonNullCount); + r.allIsNull && (r.allIsZero = !1); + null !== r.max && null !== r.min && (r.range = r.max - r.min); + o()(r.firstNotNull) && + o()(r.lastNotNull) && + (r.diff = r.lastNotNull - r.firstNotNull); + return r; + })(t, k, j), + C = !0, + P = !1, + T = void 0; + try { + for ( + var D, A = h[Symbol.iterator](); + !(C = (D = A.next()).done); + C = !0 + ) { + var _ = D.value; + !E.hasOwnProperty(_.id) && + _.reduce && + (E = c({}, E, {}, _.reduce(t, k, j))); + } + } catch (e) { + (P = !0), (T = e); + } finally { + try { + C || null == A.return || A.return(); + } finally { + if (P) throw T; + } + } + return (t.calcs = c({}, t.calcs, {}, E)), E; + } + !(function (e) { + (e.sum = "sum"), + (e.max = "max"), + (e.min = "min"), + (e.logmin = "logmin"), + (e.mean = "mean"), + (e.last = "last"), + (e.first = "first"), + (e.count = "count"), + (e.range = "range"), + (e.diff = "diff"), + (e.delta = "delta"), + (e.step = "step"), + (e.firstNotNull = "firstNotNull"), + (e.lastNotNull = "lastNotNull"), + (e.changeCount = "changeCount"), + (e.distinctCount = "distinctCount"), + (e.allIsZero = "allIsZero"), + (e.allIsNull = "allIsNull"); + })(r || (r = {})); + var d = new l.a(function () { + return [ + { + id: r.lastNotNull, + name: "Last (not null)", + description: "Last non-null value", + standard: !0, + aliasIds: ["current"], + reduce: g, + }, + { + id: r.last, + name: "Last", + description: "Last Value", + standard: !0, + reduce: m, + }, + { + id: r.first, + name: "First", + description: "First Value", + standard: !0, + reduce: p, + }, + { + id: r.firstNotNull, + name: "First (not null)", + description: "First non-null value", + standard: !0, + reduce: h, + }, + { + id: r.min, + name: "Min", + description: "Minimum Value", + standard: !0, + }, + { + id: r.max, + name: "Max", + description: "Maximum Value", + standard: !0, + }, + { + id: r.mean, + name: "Mean", + description: "Average Value", + standard: !0, + aliasIds: ["avg"], + }, + { + id: r.sum, + name: "Total", + description: "The sum of all values", + emptyInputResult: 0, + standard: !0, + aliasIds: ["total"], + }, + { + id: r.count, + name: "Count", + description: "Number of values in response", + emptyInputResult: 0, + standard: !0, + }, + { + id: r.range, + name: "Range", + description: "Difference between minimum and maximum values", + standard: !0, + }, + { + id: r.delta, + name: "Delta", + description: "Cumulative change in value", + standard: !0, + }, + { + id: r.step, + name: "Step", + description: "Minimum interval between values", + standard: !0, + }, + { + id: r.diff, + name: "Difference", + description: "Difference between first and last values", + standard: !0, + }, + { + id: r.logmin, + name: "Min (above zero)", + description: "Used for log min scale", + standard: !0, + }, + { + id: r.allIsZero, + name: "All Zeros", + description: "All values are zero", + emptyInputResult: !1, + standard: !0, + }, + { + id: r.allIsNull, + name: "All Nulls", + description: "All values are null", + emptyInputResult: !0, + standard: !0, + }, + { + id: r.changeCount, + name: "Change Count", + description: "Number of times the value changes", + standard: !1, + reduce: b, + }, + { + id: r.distinctCount, + name: "Distinct Count", + description: "Number of distinct values", + standard: !1, + reduce: v, + }, + ]; + }); + function p(e, t, n) { + return { first: e.values.get(0) }; + } + function h(e, t, n) { + for (var r = e.values, a = 0; a < r.length; a++) { + var o = r.get(a); + if (null != o && void 0 !== o) return { firstNotNull: o }; + } + return { firstNotNull: null }; + } + function m(e, t, n) { + var r = e.values; + return { last: r.get(r.length - 1) }; + } + function g(e, t, n) { + for (var r = e.values, a = r.length - 1; a >= 0; ) { + var o = r.get(a--); + if (null != o && void 0 !== o) return { lastNotNull: o }; + } + return { lastNotNull: null }; + } + function b(e, t, n) { + for ( + var r = e.values, a = 0, o = !0, i = null, l = 0; + l < r.length; + l++ + ) { + var s = r.get(l); + if (null === s) { + if (t) continue; + n && (s = 0); + } + o || i === s || a++, (o = !1), (i = s); + } + return { changeCount: a }; + } + function v(e, t, n) { + for (var r = e.values, a = new Set(), o = 0; o < r.length; o++) { + var i = r.get(o); + if (null === i) { + if (t) continue; + n && (i = 0); + } + a.add(i); + } + return { distinctCount: a.size }; + } + }, + ZYew: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return i; + }), + n.d(t, "a", function () { + return l; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("FgzG"); + function i(e) { + return a.a.createElement(o.a, e); + } + function l(e) { + return a.a.createElement(o.a, e); + } + }, + a9tP: function (e, t) {}, + aAiC: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("EwfM"), + i = function (e) { + var t = e.selectProps.menuIsOpen; + return a.a.createElement( + o.z.IndicatorsContainer, + e, + a.a.createElement("span", { + className: "gf-form-select-box__select-arrow ".concat( + t ? "gf-form-select-box__select-arrow--reversed" : "" + ), + }) + ); + }; + t.b = i; + }, + aLCo: function (e, t) { + var n = + "public/app/features/manage-dashboards/partials/snapshot_list.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n <table class=filter-table>\n <thead>\n <th><strong>Name</strong></th>\n <th><strong>Snapshot url</strong></th>\n <th style=width:70px></th>\n <th style=width:30px></th>\n <th style=width:25px></th>\n\t\t</thead>\n\t\t<tr ng-repeat="snapshot in ctrl.snapshots">\n <td>\n <a href={{snapshot.url}}>{{snapshot.name}}</a>\n </td>\n <td>\n <a href={{snapshot.url}}>{{snapshot.url}}</a>\n </td>\n <td>\n <span class=query-keyword ng-if=snapshot.external>External</span>\n </td>\n <td class=text-center>\n <a href={{snapshot.url}} class="btn btn-inverse btn-small">\n <i class="gicon gicon-viewer"></i>\n View\n </a>\n </td>\n <td class=text-right>\n <a ng-click=ctrl.removeSnapshot(snapshot) class="btn btn-danger btn-small">\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </table>\n\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + aPt1: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("MIBK"), + l = n("oeKk"), + s = n("lcef"); + function c(e) { + return (c = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function u(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function f(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function d(e, t) { + return !t || ("object" !== c(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function p(e) { + return (p = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function h(e, t) { + return (h = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function m() { + var e = k([ + "\n opacity: 0;\n transition: opacity 0.12s ease-in, transform 0.14s ease-in;\n transform: translateX(100px);\n ", + ]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g() { + var e = k([ + "\n opacity: 1;\n transition: opacity 0.08s ease-out, transform 0.1s ease-out;\n transform: translateX(0);\n ", + ]); + return ( + (g = function () { + return e; + }), + e + ); + } + function b() { + var e = k([ + "\n display: flex;\n align-items: flex-start;\n ", + ]); + return ( + (b = function () { + return e; + }), + e + ); + } + function v() { + var e = k([ + "\n overflow: hidden;\n position: absolute;\n z-index: 1;\n ", + ]); + return ( + (v = function () { + return e; + }), + e + ); + } + function y() { + var e = k([ + "\n opacity: 0;\n transition: opacity 0.1s ease;\n z-index: 0;\n ", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w() { + var e = k([ + "\n opacity: 1;\n transition: opacity 0.1s ease;\n z-index: 2;\n ", + ]); + return ( + (w = function () { + return e; + }), + e + ); + } + function O() { + var e = k([ + "\n text-decoration: none;\n color: ", + ";\n opacity: 0.65;\n cursor: not-allowed;\n pointer-events: none;\n ", + ]); + return ( + (O = function () { + return e; + }), + e + ); + } + function x() { + var e = k([ + "\n direction: rtl;\n display: flex;\n align-items: center;\n ", + ]); + return ( + (x = function () { + return e; + }), + e + ); + } + function k(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var j = Object(i.g)(function (e) { + return { + buttonContainer: Object(o.css)(x()), + buttonDisabled: Object(o.css)(O(), e.colors.text), + buttonShow: Object(o.css)(w()), + buttonHide: Object(o.css)(y()), + confirmButtonContainer: Object(o.css)(v()), + confirmButton: Object(o.css)(b()), + confirmButtonShow: Object(o.css)(g()), + confirmButtonHide: Object(o.css)(m()), + }; + }), + S = (function (e) { + function t() { + var e, n; + u(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = d( + this, + (e = p(t)).call.apply(e, [this].concat(a)) + )).state = { showConfirm: !1 }), + (n.onClickButton = function (e) { + e && e.preventDefault(), + n.setState({ showConfirm: !0 }), + n.props.onClick && n.props.onClick(); + }), + (n.onClickCancel = function (e) { + e && e.preventDefault(), + n.setState({ showConfirm: !1 }), + n.props.onCancel && n.props.onCancel(); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && h(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.theme, + n = e.className, + r = e.size, + i = e.disabled, + c = e.confirmText, + u = e.confirmVariant, + f = e.onConfirm, + d = e.children, + p = j(t), + h = Object(o.cx)( + n, + this.state.showConfirm ? p.buttonHide : p.buttonShow, + i && p.buttonDisabled + ), + m = Object(o.cx)( + p.confirmButton, + this.state.showConfirm + ? p.confirmButtonShow + : p.confirmButtonHide + ), + g = i ? function () {} : this.onClickButton; + return a.a.createElement( + "span", + { className: p.buttonContainer }, + "string" == typeof d + ? a.a.createElement( + "span", + { className: h }, + a.a.createElement( + s.b.Button, + { size: r, variant: "link", onClick: g }, + d + ) + ) + : a.a.createElement( + "span", + { className: h, onClick: g }, + d + ), + a.a.createElement( + "span", + { className: p.confirmButtonContainer }, + a.a.createElement( + "span", + { className: m }, + a.a.createElement( + l.a, + { + size: r, + variant: "transparent", + onClick: this.onClickCancel, + }, + "Cancel" + ), + a.a.createElement( + l.a, + { size: r, variant: u, onClick: f }, + c + ) + ) + ) + ); + }, + }, + ]) && f(n.prototype, r), + i && f(n, i), + t + ); + })(r.PureComponent); + S.defaultProps = { + size: "md", + confirmText: "Save", + disabled: !1, + confirmVariant: "primary", + }; + var E = Object(i.i)(S); + E.displayName = "ConfirmButton"; + var C = function (e) { + var t = e.size, + n = e.disabled, + r = e.onConfirm; + return a.a.createElement( + E, + { + confirmText: "Delete", + confirmVariant: "danger", + size: t || "md", + disabled: n, + onConfirm: r, + }, + a.a.createElement(l.a, { + variant: "danger", + icon: "fa fa-remove", + size: t || "sm", + }) + ); + }, + P = n("5/7A"), + T = n("rEbV"), + D = n("uomI"), + A = n("BC3V"), + _ = n("vkM9"), + N = n("sxGJ"), + M = n.n(N); + function I(e) { + return (I = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function R() { + return (R = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function F(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function L(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function V(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function B(e, t) { + return !t || ("object" !== I(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function $(e) { + return ($ = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function q(e, t) { + return (q = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var U = (function (e) { + function t() { + var e, n; + L(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = B( + this, + (e = $(t)).call.apply(e, [this].concat(a)) + )).setRef = function (e) { + n.elem = e; + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && q(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this.props, + t = e.getText, + n = e.onClipboardCopy, + r = e.onClipboardError; + (this.clipboard = new M.a(this.elem, { + text: function () { + return t(); + }, + })), + this.clipboard.on("success", function (e) { + n && n(e); + }), + this.clipboard.on("error", function (e) { + r && r(e); + }); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.clipboard.destroy(); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = + (e.getText, + e.onClipboardCopy, + e.onClipboardError, + e.children), + n = F(e, [ + "getText", + "onClipboardCopy", + "onClipboardError", + "children", + ]); + return a.a.createElement( + l.a, + R({}, n, { ref: this.setRef }), + t + ); + }, + }, + ]) && V(n.prototype, r), + o && V(n, o), + t + ); + })(r.PureComponent), + z = n("E5F5"), + H = n("aAiC"), + G = n("EiQK"), + W = n("9o1o"), + Q = n("bDvK"), + Y = n("Vt59"), + K = n("RxwV"); + function J() { + return (J = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var Z = function (e) { + return a.a.createElement( + K.a, + J({}, e, { expandIcon: null }), + a.a.createElement( + "button", + { + className: "gf-form-label gf-form-label--btn", + disabled: e.disabled, + }, + e.children, + " ", + a.a.createElement(Y.a, { name: "caret-down" }) + ) + ); + }, + X = n("ZYew"), + ee = n("6iRR"); + function te(e) { + return (te = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ne() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n z-index: 9999;\n "]); + return ( + (ne = function () { + return e; + }), + e + ); + } + function re(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function ae(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function oe(e, t) { + return !t || ("object" !== te(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ie(e) { + return (ie = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function le(e, t) { + return (le = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var se = Object(o.css)("\n&:focus{\n outline: none;\n}\n"), + ce = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = oe(this, ie(t).call(this, e))).flattenOptions = function ( + e + ) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : [], + r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value, + u = re(t); + u.push(c), + c.items + ? (r = [].concat( + re(r), + re(n.flattenOptions(c.items, u)) + )) + : r.push({ + singleLabel: u[u.length - 1].label, + label: u + .map(function (e) { + return e.label; + }) + .join(n.props.separator || " / "), + value: u.map(function (e) { + return e.value; + }), + }); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return r; + }), + (n.onChange = function (e, t) { + n.setState({ rcValue: e, activeLabel: t[t.length - 1].label }), + n.props.onSelect(t[t.length - 1].value); + }), + (n.onSelect = function (e) { + var t = e.value || []; + n.setState({ + activeLabel: e.singleLabel || "", + rcValue: t, + isSearching: !1, + }), + n.props.onSelect(t[t.length - 1]); + }), + (n.onCreateOption = function (e) { + n.setState({ activeLabel: e, rcValue: [], isSearching: !1 }), + n.props.onSelect(e); + }), + (n.onClick = function () { + n.setState({ focusCascade: !0 }); + }), + (n.onBlur = function () { + n.setState({ isSearching: !1, focusCascade: !1 }), + "" === n.state.activeLabel && n.setState({ rcValue: [] }); + }), + (n.onBlurCascade = function () { + n.setState({ focusCascade: !1 }); + }), + (n.onInputKeyDown = function (e) { + "ArrowDown" !== e.key && + "ArrowUp" !== e.key && + "Enter" !== e.key && + "ArrowLeft" !== e.key && + "ArrowRight" !== e.key && + n.setState({ focusCascade: !1, isSearching: !0 }); + }); + var r = n.flattenOptions(e.options), + a = n.setInitialValue(r, e.initialValue), + o = a.rcValue, + i = a.activeLabel; + return ( + (n.state = { + isSearching: !1, + focusCascade: !1, + searchableOptions: r, + rcValue: o, + activeLabel: i, + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && le(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "setInitialValue", + value: function (e, t) { + if (!t) return { rcValue: [], activeLabel: "" }; + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value, + s = l.value || []; + if (s.indexOf(t) === s.length - 1) + return { rcValue: s, activeLabel: l.singleLabel || "" }; + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return this.props.allowCustomValue + ? { rcValue: [], activeLabel: t } + : { rcValue: [], activeLabel: "" }; + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.size, + n = e.allowCustomValue, + r = e.placeholder, + i = this.state, + l = i.focusCascade, + s = i.isSearching, + c = i.searchableOptions, + u = i.rcValue, + f = i.activeLabel; + return a.a.createElement( + "div", + null, + s + ? a.a.createElement(X.b, { + allowCustomValue: n, + placeholder: r, + autoFocus: !l, + onChange: this.onSelect, + onBlur: this.onBlur, + options: c, + size: t, + onCreateOption: this.onCreateOption, + formatCreateLabel: this.props.formatCreateLabel, + }) + : a.a.createElement( + K.a, + { + onChange: this.onChange, + onClick: this.onClick, + options: this.props.options, + isFocused: l, + onBlur: this.onBlurCascade, + value: u, + fieldNames: { + label: "label", + value: "value", + children: "items", + }, + expandIcon: null, + popupClassName: Object(o.css)(ne()), + }, + a.a.createElement( + "div", + { className: se }, + a.a.createElement(ee.a, { + size: t, + placeholder: r, + value: f, + onKeyDown: this.onInputKeyDown, + onChange: function () {}, + suffix: l + ? a.a.createElement(Y.a, { name: "caret-up" }) + : a.a.createElement(Y.a, { + name: "caret-down", + }), + }) + ) + ) + ); + }, + }, + ]) && ae(n.prototype, r), + i && ae(n, i), + t + ); + })(a.a.PureComponent), + ue = n("TSYQ"), + fe = n.n(ue); + function de() { + return (de = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function pe(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var he = function (e) { + var t = e.children, + n = e.isFocused, + r = e.isInvalid, + o = e.className, + i = e.htmlFor, + l = e.tooltip, + s = e.width, + c = pe(e, [ + "children", + "isFocused", + "isInvalid", + "className", + "htmlFor", + "tooltip", + "width", + ]), + u = fe()("gf-form-label width-".concat(s || "10"), o, { + "gf-form-label--is-focused": n, + "gf-form-label--is-invalid": r, + }); + return a.a.createElement( + "label", + de({ className: u }, c, { htmlFor: i }), + t, + l && + a.a.createElement( + P.b, + { placement: "top", content: l, theme: "info" }, + a.a.createElement( + "div", + { + className: + "gf-form-help-icon gf-form-help-icon--right-normal", + }, + a.a.createElement("i", { className: "fa fa-info-circle" }) + ) + ) + ); + }; + function me() { + return (me = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function ge(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var be = function (e) { + var t = e.label, + n = e.tooltip, + r = e.labelWidth, + i = e.inputWidth, + l = e.inputEl, + s = e.className, + c = ge(e, [ + "label", + "tooltip", + "labelWidth", + "inputWidth", + "inputEl", + "className", + ]); + return a.a.createElement( + "div", + { className: Object(o.cx)("form-field", s) }, + a.a.createElement(he, { width: r, tooltip: n }, t), + l || + a.a.createElement( + "input", + me( + { + type: "text", + className: "gf-form-input ".concat( + i ? "width-".concat(i) : "" + ), + }, + c + ) + ) + ); + }; + (be.displayName = "FormField"), + (be.defaultProps = { labelWidth: 6, inputWidth: 12 }); + var ve = n("Puqe"), + ye = n.n(ve); + function we() { + return (we = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Oe(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function xe() { + var e = je([ + "\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n ", + ]); + return ( + (xe = function () { + return e; + }), + e + ); + } + function ke() { + var e = je([ + "\n border-bottom-right-radius: 0 !important;\n border-top-right-radius: 0 !important;\n ", + ]); + return ( + (ke = function () { + return e; + }), + e + ); + } + function je(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Se = function (e) { + var t = e.label, + n = void 0 === t ? "Password" : t, + r = e.labelWidth, + i = e.inputWidth, + l = void 0 === i ? 12 : i, + s = e.onReset, + c = e.isConfigured, + u = e.placeholder, + f = void 0 === u ? "Password" : u, + d = Oe(e, [ + "label", + "labelWidth", + "inputWidth", + "onReset", + "isConfigured", + "placeholder", + ]), + p = { + noRadiusInput: Object(o.css)(ke()), + noRadiusButton: Object(o.css)(xe()), + }; + return a.a.createElement(be, { + label: n, + labelWidth: r, + inputEl: c + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "input", + we( + { + type: "text", + className: Object(o.cx)( + "gf-form-input width-".concat(l - 2), + p.noRadiusInput + ), + disabled: !0, + value: "configured", + }, + ye()(d, "value") + ) + ), + a.a.createElement( + "button", + { + className: Object(o.cx)( + "btn btn-secondary gf-form-btn", + p.noRadiusButton + ), + onClick: s, + style: { height: "100%" }, + }, + "reset" + ) + ) + : a.a.createElement( + "input", + we( + { + type: "password", + className: "gf-form-input width-".concat(l), + placeholder: f, + }, + d + ) + ), + }); + }; + Se.displayName = "SecretFormField"; + var Ee, + Ce = function (e) { + var t = e.text; + return a.a.createElement( + "div", + { className: "gf-form-group" }, + t, + " ", + a.a.createElement("i", { className: "fa fa-spinner fa-spin" }) + ); + }, + Pe = n("Obii"), + Te = n("gQMU"), + De = n.n(Te), + Ae = n("J2m7"), + _e = n.n(Ae), + Ne = n("eGKl"); + function Me() { + return (Me = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Ie(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + !(function (e) { + (e.Small = "small"), (e.Large = "large"); + })(Ee || (Ee = {})); + var Re, + Fe = function (e) { + var t = e.color, + n = e.label, + r = e.variant, + o = void 0 === r ? Ee.Small : r, + i = e.isSelected, + l = e.theme, + s = Ie(e, ["color", "label", "variant", "isSelected", "theme"]), + c = o === Ee.Small, + u = c ? "16px" : "32px", + f = Object(Ne.a)( + { light: l.colors.white, dark: l.colors.black }, + l.type + ), + d = { + width: u, + height: u, + borderRadius: "50%", + background: "".concat(t), + marginRight: c ? "0px" : "8px", + boxShadow: i + ? "inset 0 0 0 2px ".concat(t, ", inset 0 0 0 4px ").concat(f) + : "none", + }; + return a.a.createElement( + "div", + Me( + { + style: { + display: "flex", + alignItems: "center", + cursor: "pointer", + }, + }, + s + ), + a.a.createElement("div", { style: d }), + o === Ee.Large && a.a.createElement("span", null, n) + ); + }, + Le = function (e) { + var t = e.colors, + n = e.selectedColor, + r = e.onColorSelect, + o = e.theme, + i = Ie(e, ["colors", "selectedColor", "onColorSelect", "theme"]), + l = _e()(t, function (e) { + return !!e.isPrimary; + }); + return a.a.createElement( + "div", + Me({}, i, { style: { display: "flex", flexDirection: "column" } }), + l && + a.a.createElement(Fe, { + key: l.name, + isSelected: l.name === n, + variant: Ee.Large, + color: Object(Pe.getColorForTheme)(l, o.type), + label: De()(l.hue), + onClick: function () { + return r(l); + }, + theme: o, + }), + a.a.createElement( + "div", + { style: { display: "flex", marginTop: "8px" } }, + t.map(function (e) { + return ( + !e.isPrimary && + a.a.createElement( + "div", + { key: e.name, style: { marginRight: "4px" } }, + a.a.createElement(Fe, { + key: e.name, + isSelected: e.name === n, + color: Object(Pe.getColorForTheme)(e, o.type), + onClick: function () { + return r(e); + }, + theme: o, + }) + ) + ); + }) + ) + ); + }, + Ve = function (e) { + var t = e.color, + n = e.onChange, + r = e.theme, + o = []; + return ( + Object(Pe.getNamedColorPalette)().forEach(function (e, i) { + o.push( + a.a.createElement(Le, { + key: i, + theme: r, + selectedColor: t, + colors: e, + onColorSelect: function (e) { + n(e.name); + }, + }) + ); + }), + a.a.createElement( + "div", + { + style: { + display: "grid", + gridTemplateColumns: "repeat(3, 1fr)", + gridRowGap: "24px", + gridColumnGap: "24px", + }, + }, + o + ) + ); + }, + Be = n("WFjJ"), + $e = n("TM95"), + qe = n("Zss7"), + Ue = n.n(qe), + ze = n("sEfC"), + He = n.n(ze), + Ge = n("aWP2"); + function We(e) { + return (We = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Qe() { + return (Qe = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Ye(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Ke(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Je(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Ke(o, r, a, i, l, "next", e); + } + function l(e) { + Ke(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Ze(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Xe(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ze(Object(n), !0).forEach(function (t) { + et(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ze(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function et(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function tt(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function nt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function rt(e, t) { + return !t || ("object" !== We(t) && "function" != typeof t) ? ot(e) : t; + } + function at(e) { + return (at = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ot(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function it(e, t) { + return (it = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e.Invalid = "invalid"), (e.Valid = "valid"); + })(Re || (Re = {})); + var lt = (function (e) { + function t() { + var e, n; + tt(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = rt( + this, + (e = at(t)).call.apply(e, [this].concat(a)) + )).state = { error: null }), + (n.validatorAsync = function (e) { + return function (t) { + var r = Object(Ge.x)(t.target.value, e); + n.setState(function (e) { + return Xe({}, e, { error: r ? r[0] : null }); + }); + }; + }), + (n.populateEventPropsWithStatus = function (e, t) { + var r = Xe({}, e); + return t + ? (Object.keys(Ge.e).forEach(function (a) { + (Object(Ge.q)(a, t) || e[a]) && + (r[a] = (function () { + var r = Je( + regeneratorRuntime.mark(function r(o) { + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ((o.persist(), !Object(Ge.q)(a, t))) { + r.next = 4; + break; + } + return ( + (r.next = 4), + n.validatorAsync(t[a]).apply(ot(n), [o]) + ); + case 4: + e[a] && e[a].apply(null, [o, n.status]); + case 5: + case "end": + return r.stop(); + } + }, r); + }) + ); + return function (e) { + return r.apply(this, arguments); + }; + })()); + }), + r) + : r; + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && it(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.validationEvents, + n = e.className, + r = e.hideErrorMessage, + o = e.inputRef, + i = Ye(e, [ + "validationEvents", + "className", + "hideErrorMessage", + "inputRef", + ]), + l = this.state.error, + s = fe()("gf-form-input", { invalid: this.isInvalid }, n), + c = this.populateEventPropsWithStatus(i, t); + return a.a.createElement( + "div", + { style: { flexGrow: 1 } }, + a.a.createElement( + "input", + Qe({}, c, { ref: o, className: s }) + ), + l && !r && a.a.createElement("span", null, l) + ); + }, + }, + { + key: "status", + get: function () { + return this.state.error ? Re.Invalid : Re.Valid; + }, + }, + { + key: "isInvalid", + get: function () { + return this.status === Re.Invalid; + }, + }, + ]) && nt(n.prototype, r), + o && nt(n, o), + t + ); + })(r.PureComponent); + function st(e) { + return (st = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ct(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ut(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ct(Object(n), !0).forEach(function (t) { + ft(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ct(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ft(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function dt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function pt(e, t) { + return !t || ("object" !== st(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ht(e) { + return (ht = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function mt(e, t) { + return (mt = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + lt.defaultProps = { className: "" }; + var gt = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = pt(this, ht(t).call(this, e))).updateColor = function (e) { + n.props.onChange(e); + }), + (n.onChange = function (e) { + var t = Ue()(e.currentTarget.value); + n.setState({ value: e.currentTarget.value }), + t.isValid() && n.updateColor(t.toString()); + }), + (n.onBlur = function () { + Ue()(n.state.value).isValid() || + n.setState({ value: n.props.color }); + }), + (n.state = { previousColor: e.color, value: e.color }), + (n.updateColor = He()(n.updateColor, 100)), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && mt(e, t); + })(t, e), + (n = t), + (o = [ + { + key: "getDerivedStateFromProps", + value: function (e, t) { + var n = Ue()(e.color); + return n.isValid() && e.color !== t.previousColor + ? ut({}, t, { previousColor: e.color, value: n.toString() }) + : t; + }, + }, + ]), + (r = [ + { + key: "render", + value: function () { + var e = this.state.value; + return a.a.createElement( + "div", + { style: ut({ display: "flex" }, this.props.style) }, + a.a.createElement("div", { + style: { + background: this.props.color, + width: "35px", + height: "35px", + flexGrow: 0, + borderRadius: "3px 0 0 3px", + }, + }), + a.a.createElement( + "div", + { style: { flexGrow: 1 } }, + a.a.createElement(lt, { + className: "gf-form-input", + value: e, + onChange: this.onChange, + onBlur: this.onBlur, + }) + ) + ); + }, + }, + ]) && dt(n.prototype, r), + o && dt(n, o), + t + ); + })(a.a.PureComponent); + function bt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function vt(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? bt(Object(n), !0).forEach(function (t) { + yt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : bt(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function yt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var wt = function (e) { + var t = e.theme, + n = e.direction, + r = { + picker: { + width: "16px", + height: "16px", + transform: + "vertical" === n ? "translate(0, -8px)" : "translate(-8px, 0)", + }, + }, + o = Object(Ne.a)( + { light: t.colors.dark3, dark: t.colors.gray2 }, + t.type + ), + i = { + position: "absolute", + left: "6px", + width: "0", + height: "0", + borderStyle: "solid", + background: "none", + }, + l = { + top: "-7px", + borderWidth: "6px 3px 0px 3px", + borderColor: "".concat(o, " transparent transparent transparent"), + }, + s = { + bottom: "-7px", + borderWidth: "0px 3px 6px 3px", + borderColor: " transparent transparent ".concat(o, " transparent"), + }; + return ( + "vertical" === n && + ((i = vt({}, i, { left: "auto" })), + (l = { + borderWidth: "3px 0px 3px 6px", + borderColor: "transparent transparent transparent ".concat(o), + left: "-7px", + top: "7px", + }), + (s = { + borderWidth: "3px 6px 3px 0px", + borderColor: "transparent ".concat(o, " transparent transparent"), + right: "-7px", + top: "7px", + })), + a.a.createElement( + "div", + { style: r.picker }, + a.a.createElement("div", { style: vt({}, i, {}, l) }), + a.a.createElement("div", { style: vt({}, i, {}, s) }) + ) + ); + }; + function Ot() { + return (Ot = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var xt = function (e) { + return function (t) { + return a.a.createElement(wt, Ot({}, t, { theme: e })); + }; + }, + kt = Object(Be.CustomPicker)(function (e) { + var t = e.rgb, + n = e.hsl, + r = e.onChange, + o = e.theme; + return a.a.createElement( + "div", + { + style: { + display: "flex", + width: "100%", + flexDirection: "column", + }, + }, + a.a.createElement( + "div", + { style: { display: "flex" } }, + a.a.createElement( + "div", + { + style: { + display: "flex", + flexGrow: 1, + flexDirection: "column", + }, + }, + a.a.createElement( + "div", + { + style: { + position: "relative", + height: "100px", + width: "100%", + }, + }, + a.a.createElement($e.Saturation, { + onChange: r, + hsl: n, + hsv: Ue()(n).toHsv(), + }) + ), + a.a.createElement( + "div", + { + style: { + width: "100%", + height: "16px", + marginTop: "16px", + position: "relative", + background: "white", + }, + }, + a.a.createElement($e.Alpha, { + rgb: t, + hsl: n, + a: t.a, + onChange: r, + pointer: xt(o), + }) + ) + ), + a.a.createElement( + "div", + { + style: { + position: "relative", + width: "16px", + height: "100px", + marginLeft: "16px", + }, + }, + a.a.createElement($e.Hue, { + onChange: r, + hsl: n, + direction: "vertical", + pointer: xt(o), + }) + ) + ) + ); + }), + jt = function (e) { + var t = e.color, + n = e.onChange, + r = e.theme; + return a.a.createElement( + "div", + null, + a.a.createElement(kt, { + color: Ue()(Object(Pe.getColorFromHexRgbOrName)(t)).toRgb(), + onChange: function (e) { + n(Ue()(e.rgb).toString()); + }, + theme: r, + }), + a.a.createElement(gt, { + theme: r, + color: t, + onChange: n, + style: { marginTop: "16px" }, + }) + ); + }; + function St(e) { + return (St = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Et(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ct(e, t) { + return !t || ("object" !== St(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Pt(e) { + return (Pt = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Tt(e, t) { + return (Tt = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Dt = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Ct(this, Pt(t).call(this, e))).getTabClassName = function ( + e + ) { + var t = n.state.activePicker; + return "ColorPickerPopover__tab ".concat( + t === e && "ColorPickerPopover__tab--active" + ); + }), + (n.handleChange = function (e) { + var t = n.props, + r = t.onColorChange, + a = t.onChange, + o = t.enableNamedColors, + i = t.theme, + l = r || a; + if (o) return l(e); + l(Object(Pe.getColorFromHexRgbOrName)(e, i.type)); + }), + (n.onTabChange = function (e) { + return function () { + return n.setState({ activePicker: e }); + }; + }), + (n.renderPicker = function () { + var e = n.state.activePicker, + t = n.props, + r = t.color, + o = t.theme; + switch (e) { + case "spectrum": + return a.a.createElement(jt, { + color: r, + onChange: n.handleChange, + theme: o, + }); + case "palette": + return a.a.createElement(Ve, { + color: Object(Pe.getColorName)(r, o.type), + onChange: n.handleChange, + theme: o, + }); + default: + return n.renderCustomPicker(e); + } + }), + (n.renderCustomPicker = function (e) { + var t = n.props, + r = t.customPickers, + o = t.color, + i = t.theme; + return r + ? a.a.createElement(r[e].tabComponent, { + color: o, + theme: i, + onChange: n.handleChange, + }) + : null; + }), + (n.renderCustomPickerTabs = function () { + var e = n.props.customPickers; + return e + ? a.a.createElement( + a.a.Fragment, + null, + Object.keys(e).map(function (t) { + return a.a.createElement( + "div", + { + className: n.getTabClassName(t), + onClick: n.onTabChange(t), + key: t, + }, + e[t].name + ); + }) + ) + : null; + }), + (n.state = { activePicker: "palette" }), + (function (e, t) { + t.onColorChange && + Object(Pe.deprecationWarning)(e, "onColorChange", "onChange"); + })("ColorPickerPopover", e), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Tt(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.theme.type || Pe.GrafanaThemeType.Dark; + return a.a.createElement( + "div", + { + className: "ColorPickerPopover ColorPickerPopover--".concat( + e + ), + }, + a.a.createElement( + "div", + { className: "ColorPickerPopover__tabs" }, + a.a.createElement( + "div", + { + className: this.getTabClassName("palette"), + onClick: this.onTabChange("palette"), + }, + "Colors" + ), + a.a.createElement( + "div", + { + className: this.getTabClassName("spectrum"), + onClick: this.onTabChange("spectrum"), + }, + "Custom" + ), + this.renderCustomPickerTabs() + ), + a.a.createElement( + "div", + { className: "ColorPickerPopover__content" }, + this.renderPicker() + ) + ); + }, + }, + ]) && Et(n.prototype, r), + o && Et(n, o), + t + ); + })(a.a.Component), + At = n("mNz5"), + _t = n.n(At); + function Nt(e) { + return (Nt = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Mt(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function It(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Rt(e, t) { + return !t || ("object" !== Nt(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ft(e) { + return (Ft = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Lt(e, t) { + return (Lt = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Vt = (function (e) { + function t() { + var e, n; + Mt(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Rt( + this, + (e = Ft(t)).call.apply(e, [this].concat(a)) + )).state = { id: _t()() }), + (n.internalOnChange = function (e) { + e.stopPropagation(), n.props.onChange(e); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Lt(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.labelClass, + n = void 0 === t ? "" : t, + r = e.switchClass, + o = void 0 === r ? "" : r, + i = e.label, + l = e.checked, + s = e.transparent, + c = e.className, + u = e.tooltip, + f = e.tooltipPlacement, + d = this.state.id, + p = "gf-form-label " + .concat(n, " ") + .concat( + s ? "gf-form-label--transparent" : "", + " pointer" + ), + h = "gf-form-switch " + .concat(o, " ") + .concat(s ? "gf-form-switch--transparent" : ""); + return a.a.createElement( + "div", + { className: "gf-form-switch-container-react" }, + a.a.createElement( + "label", + { + htmlFor: d, + className: "gf-form gf-form-switch-container ".concat( + c || "" + ), + }, + i && + a.a.createElement( + "div", + { className: p }, + i, + u && + a.a.createElement( + P.b, + { + placement: f || "auto", + content: u, + theme: "info", + }, + a.a.createElement( + "div", + { + className: + "gf-form-help-icon gf-form-help-icon--right-normal", + }, + a.a.createElement("i", { + className: "fa fa-info-circle", + }) + ) + ) + ), + a.a.createElement( + "div", + { className: h }, + a.a.createElement("input", { + id: d, + type: "checkbox", + checked: l, + onChange: this.internalOnChange, + }), + a.a.createElement("span", { + className: "gf-form-switch__slider", + }) + ) + ) + ); + }, + }, + ]) && It(n.prototype, r), + o && It(n, o), + t + ); + })(r.PureComponent), + Bt = n("Fts8"); + function $t(e) { + return ($t = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function qt(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ut(e) { + return (Ut = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function zt(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function Ht(e, t) { + return (Ht = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Gt() { + return (Gt = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Wt(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var Qt = function (e) { + var t = e.yaxis, + n = e.onToggleAxis, + r = e.color, + o = Wt(e, ["yaxis", "onToggleAxis", "color"]); + return a.a.createElement( + Dt, + Gt({}, o, { + color: r || "#000000", + customPickers: { + yaxis: { + name: "Y-Axis", + tabComponent: function () { + return a.a.createElement(Vt, { + key: "yaxisSwitch", + label: "Use right y-axis", + className: "ColorPicker__axisSwitch", + labelClass: "ColorPicker__axisSwitchLabel", + checked: 2 === t, + onChange: function () { + n && n(); + }, + }); + }, + }, + }, + }) + ); + }, + Yt = (a.a.PureComponent, Object(Bt.d)(Qt)), + Kt = Object(r.forwardRef)(function (e, t) { + return a.a.createElement( + "div", + { + ref: t, + onClick: e.onClick, + onMouseLeave: e.onMouseLeave, + style: { + overflow: "hidden", + background: "inherit", + border: "none", + color: "inherit", + padding: 0, + borderRadius: 10, + cursor: "pointer", + }, + }, + a.a.createElement( + "div", + { + style: { + position: "relative", + width: 15, + height: 15, + border: "none", + margin: 0, + float: "left", + zIndex: 0, + backgroundImage: + "url(data:image/png,base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)", + }, + }, + a.a.createElement("div", { + style: { + backgroundColor: e.color, + display: "block", + position: "absolute", + top: 0, + left: 0, + bottom: 0, + right: 0, + }, + }) + ) + ); + }); + function Jt(e) { + return (Jt = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Zt() { + return (Zt = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Xt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function en(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Xt(Object(n), !0).forEach(function (t) { + tn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Xt(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function tn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function nn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function rn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function an(e, t, n) { + return t && rn(e.prototype, t), n && rn(e, n), e; + } + function on(e, t) { + return !t || ("object" !== Jt(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ln(e) { + return (ln = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function sn(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cn(e, t); + } + function cn(e, t) { + return (cn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var un = function (e) { + var t, + n, + o = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : "ColorPicker"; + return ( + (n = t = (function (t) { + function n() { + var e, t; + nn(this, n); + for ( + var a = arguments.length, o = new Array(a), i = 0; + i < a; + i++ + ) + o[i] = arguments[i]; + return ( + ((t = on( + this, + (e = ln(n)).call.apply(e, [this].concat(o)) + )).pickerTriggerRef = Object(r.createRef)()), + (t.onColorChange = function (e) { + var n = t.props, + r = n.onColorChange, + a = n.onChange; + return (r || a)(e); + }), + t + ); + } + return ( + sn(n, t), + an(n, [ + { + key: "render", + value: function () { + var t = this, + n = this.props, + r = n.theme, + o = n.children, + i = a.a.createElement( + e, + en({}, ye()(this.props, "children"), { + onChange: this.onColorChange, + }) + ); + return a.a.createElement( + T.a, + { content: i, hideAfter: 300 }, + function (e, n, i) { + return a.a.createElement( + a.a.Fragment, + null, + t.pickerTriggerRef.current && + a.a.createElement( + D.a, + Zt({}, i, { + referenceElement: t.pickerTriggerRef.current, + wrapperClassName: "ColorPicker", + onMouseLeave: n, + onMouseEnter: e, + }) + ), + o + ? o({ + ref: t.pickerTriggerRef, + showColorPicker: e, + hideColorPicker: n, + }) + : a.a.createElement(Kt, { + ref: t.pickerTriggerRef, + onClick: e, + onMouseLeave: n, + color: Object(Pe.getColorFromHexRgbOrName)( + t.props.color || "#000000", + r.type + ), + }) + ); + } + ); + }, + }, + ]), + n + ); + })(r.Component)), + (t.displayName = o), + n + ); + }, + fn = Object(Bt.d)(un(Dt, "ColorPicker")), + dn = Object(Bt.d)(un(Qt, "SeriesColorPicker")), + pn = function (e) { + return a.a.createElement( + "div", + { className: "panel-options-group" }, + e.onAdd + ? a.a.createElement( + "div", + { className: "panel-options-group__header" }, + a.a.createElement( + "button", + { + className: "panel-options-group__add-btn", + onClick: e.onAdd, + }, + a.a.createElement( + "div", + { className: "panel-options-group__add-circle" }, + a.a.createElement("i", { className: "fa fa-plus" }) + ), + a.a.createElement( + "span", + { className: "panel-options-group__title" }, + e.title + ) + ) + ) + : e.title && + a.a.createElement( + "div", + { className: "panel-options-group__header" }, + a.a.createElement( + "span", + { className: "panel-options-group__title" }, + e.title + ), + e.onClose && + a.a.createElement( + "button", + { className: "btn btn-link", onClick: e.onClose }, + a.a.createElement("i", { className: "fa fa-remove" }) + ) + ), + e.children && + a.a.createElement( + "div", + { className: "panel-options-group__body" }, + e.children + ) + ); + }, + hn = function (e) { + var t = e.children; + return a.a.createElement( + "div", + { className: "panel-options-grid" }, + t + ); + }; + function mn(e) { + return (mn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function gn(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function bn(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? gn(Object(n), !0).forEach(function (t) { + vn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : gn(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function vn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function yn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function wn(e, t) { + return !t || ("object" !== mn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function On(e) { + return (On = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function xn(e, t) { + return (xn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var kn = [ + { value: Pe.MappingType.ValueToText, label: "Value" }, + { value: Pe.MappingType.RangeToText, label: "Range" }, + ], + jn = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = wn( + this, + On(t).call(this, e) + )).onMappingValueChange = function (e) { + n.setState({ value: e.target.value }); + }), + (n.onMappingFromChange = function (e) { + n.setState({ from: e.target.value }); + }), + (n.onMappingToChange = function (e) { + n.setState({ to: e.target.value }); + }), + (n.onMappingTextChange = function (e) { + n.setState({ text: e.target.value }); + }), + (n.onMappingTypeChange = function (e) { + n.setState({ type: e }); + }), + (n.updateMapping = function () { + n.props.updateValueMapping(bn({}, n.state)); + }), + (n.state = bn({}, e.valueMapping)), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && xn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "renderRow", + value: function () { + var e = this.state, + t = e.from, + n = e.text, + r = e.to, + o = e.type, + i = e.value; + return o === Pe.MappingType.RangeToText + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(be, { + label: "From", + labelWidth: 4, + inputWidth: 8, + onBlur: this.updateMapping, + onChange: this.onMappingFromChange, + value: t, + }), + a.a.createElement(be, { + label: "To", + labelWidth: 4, + inputWidth: 8, + onBlur: this.updateMapping, + onChange: this.onMappingToChange, + value: r, + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement(he, { width: 4 }, "Text"), + a.a.createElement(lt, { + className: "gf-form-input", + onBlur: this.updateMapping, + value: n, + onChange: this.onMappingTextChange, + }) + ) + ) + : a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(be, { + label: "Value", + labelWidth: 4, + onBlur: this.updateMapping, + onChange: this.onMappingValueChange, + value: i, + inputWidth: 8, + }), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement(he, { width: 4 }, "Text"), + a.a.createElement(lt, { + className: "gf-form-input", + onBlur: this.updateMapping, + value: n, + onChange: this.onMappingTextChange, + }) + ) + ); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state.type; + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(he, { width: 5 }, "Type"), + a.a.createElement(z.b, { + placeholder: "Choose type", + isSearchable: !1, + options: kn, + value: kn.find(function (e) { + return e.value === t; + }), + onChange: function (t) { + return e.onMappingTypeChange(t.value); + }, + width: 7, + }) + ), + this.renderRow(), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "button", + { + onClick: this.props.removeValueMapping, + className: "gf-form-label gf-form-label--btn", + }, + a.a.createElement("i", { className: "fa fa-times" }) + ) + ) + ); + }, + }, + ]) && yn(n.prototype, r), + o && yn(n, o), + t + ); + })(r.PureComponent); + function Sn(e) { + return (Sn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function En(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Cn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Pn(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Tn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Dn(e, t) { + return !t || ("object" !== Sn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function An(e) { + return (An = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function _n(e, t) { + return (_n = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Nn, + Mn = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Dn(this, An(t).call(this, e))).onAddMapping = function () { + return n.setState(function (e) { + return { + valueMappings: [].concat(Pn(e.valueMappings), [ + { + id: e.nextIdToAdd, + operator: "", + value: "", + text: "", + type: Pe.MappingType.ValueToText, + from: "", + to: "", + }, + ]), + nextIdToAdd: e.nextIdToAdd + 1, + }; + }); + }), + (n.onRemoveMapping = function (e) { + n.setState( + function (t) { + return { + valueMappings: t.valueMappings.filter(function (t) { + return t.id !== e; + }), + }; + }, + function () { + n.props.onChange(n.state.valueMappings); + } + ); + }), + (n.updateGauge = function (e) { + n.setState( + function (t) { + return { + valueMappings: t.valueMappings.map(function (t) { + return t.id === e.id + ? (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = + null != arguments[t] ? arguments[t] : {}; + t % 2 + ? En(Object(n), !0).forEach(function (t) { + Cn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : En(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e) + : t; + }), + }; + }, + function () { + n.props.onChange(n.state.valueMappings); + } + ); + }); + var r = e.valueMappings || []; + return ( + (n.state = { + valueMappings: r, + nextIdToAdd: r.length > 0 ? n.getMaxIdFromValueMappings(r) : 1, + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && _n(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getMaxIdFromValueMappings", + value: function (e) { + return ( + Math.max.apply( + null, + e + .map(function (e) { + return e.id; + }) + .map(function (e) { + return e; + }) + ) + 1 + ); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state.valueMappings; + return a.a.createElement( + pn, + { title: "Value mappings" }, + a.a.createElement( + "div", + null, + t.length > 0 && + t.map(function (t, n) { + return a.a.createElement(jn, { + key: "".concat(t.text, "-").concat(n), + valueMapping: t, + updateValueMapping: e.updateGauge, + removeValueMapping: function () { + return e.onRemoveMapping(t.id); + }, + }); + }), + a.a.createElement( + l.a, + { + variant: "inverse", + icon: "fa fa-plus", + onClick: this.onAddMapping, + }, + "Add mapping" + ) + ) + ); + }, + }, + ]) && Tn(n.prototype, r), + o && Tn(n, o), + t + ); + })(r.PureComponent), + In = function (e) { + var t = e.children; + return a.a.createElement( + "div", + { className: "empty-search-result" }, + t + ); + }, + Rn = n("VphZ"), + Fn = n("0YDr"), + Ln = n.n(Fn); + function Vn(e) { + return (Vn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Bn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function $n(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function qn(e, t) { + return !t || ("object" !== Vn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Un(e) { + return (Un = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function zn(e, t) { + return (zn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e.PIE = "pie"), (e.DONUT = "donut"); + })(Nn || (Nn = {})); + var Hn = (function (e) { + function t() { + return Bn(this, t), qn(this, Un(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && zn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.draw(); + }, + }, + { + key: "componentDidUpdate", + value: function () { + this.draw(); + }, + }, + { + key: "draw", + value: function () { + var e = this, + t = this.props, + n = t.values, + r = t.pieType, + a = t.strokeWidth; + if (0 !== n.length) { + var o = n.map(function (e) { + return e.numeric; + }), + i = n.map(function (e) { + return Object(Pe.formattedValueToString)(e); + }), + l = n.map(function (e, t) { + return e.color ? e.color : Ge.o[t % Ge.o.length]; + }), + s = Ln()(o) || 1, + c = o.map(function (e) { + return (e / s) * 100; + }), + u = this.containerElement.offsetWidth, + f = this.containerElement.offsetHeight, + d = Math.min(u, f) / 2, + p = d - d / 10, + h = r === Nn.PIE ? 0 : d - d / 3, + m = Object(Rn.select)(this.svgElement) + .html("") + .attr("width", u) + .attr("height", f) + .append("g") + .attr( + "transform", + "translate(".concat(u / 2, ",").concat(f / 2, ")") + ), + g = Object(Rn.pie)(), + b = Object(Rn.arc)() + .outerRadius(p) + .innerRadius(h) + .padAngle(0); + m.selectAll("path") + .data(g(o)) + .enter() + .append("path") + .attr("d", b) + .attr("fill", function (e, t) { + return l[t]; + }) + .style("fill-opacity", 0.15) + .style("stroke", function (e, t) { + return l[t]; + }) + .style("stroke-width", "".concat(a, "px")) + .on("mouseover", function (t, n) { + Object(Rn.select)(e.tooltipElement).style("opacity", 1), + Object(Rn.select)(e.tooltipValueElement).text( + "".concat(i[n], " (").concat(c[n].toFixed(2), "%)") + ); + }) + .on("mousemove", function () { + Object(Rn.select)(e.tooltipElement) + .style("top", "".concat(Rn.event.pageY - f / 2, "px")) + .style("left", "".concat(Rn.event.pageX, "px")); + }) + .on("mouseout", function () { + Object(Rn.select)(e.tooltipElement).style("opacity", 0); + }); + } + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.height, + r = t.width; + return t.values.length > 0 + ? a.a.createElement( + "div", + { className: "piechart-panel" }, + a.a.createElement( + "div", + { + ref: function (t) { + return (e.containerElement = t); + }, + className: "piechart-container", + style: { + height: "".concat(0.9 * n, "px"), + width: "".concat(Math.min(r, 1.3 * n), "px"), + }, + }, + a.a.createElement("svg", { + ref: function (t) { + return (e.svgElement = t); + }, + }) + ), + a.a.createElement( + "div", + { + className: "piechart-tooltip", + ref: function (t) { + return (e.tooltipElement = t); + }, + }, + a.a.createElement( + "div", + { className: "piechart-tooltip-time" }, + a.a.createElement("div", { + id: "tooltip-value", + className: "piechart-tooltip-value", + ref: function (t) { + return (e.tooltipValueElement = t); + }, + }) + ) + ) + ) + : a.a.createElement( + "div", + { className: "piechart-panel" }, + a.a.createElement( + "div", + { className: "datapoints-warning" }, + a.a.createElement( + "span", + { className: "small" }, + "No data points" + ) + ) + ); + }, + }, + ]) && $n(n.prototype, r), + o && $n(n, o), + t + ); + })(r.PureComponent); + function Gn(e) { + return (Gn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Wn(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Qn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Yn(e, t) { + return !t || ("object" !== Gn(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Kn(e) { + return (Kn = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Jn(e, t) { + return (Jn = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Zn(e) { + return "Custom unit: ".concat(e); + } + Hn.defaultProps = { + pieType: "pie", + format: "short", + stat: "current", + strokeWidth: 1, + theme: Pe.GrafanaThemeType.Dark, + }; + var Xn = (function (e) { + function t() { + var e, n; + Wn(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Yn( + this, + (e = Kn(t)).call.apply(e, [this].concat(a)) + )).onChange = function (e) { + n.props.onChange(e.value); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Jn(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.value, + n = e.width, + r = e.useNewForms, + o = void 0, + i = Object(Pe.getValueFormats)().map(function (e) { + var n = e.submenu.map(function (e) { + var n = { label: e.text, value: e.value }; + return e.value === t && (o = n), n; + }); + return r + ? { label: e.text, value: e.text, items: n } + : { label: e.text, options: n }; + }); + return ( + t && !o && (o = { value: t, label: t }), + r + ? a.a.createElement(ce, { + initialValue: o && o.label, + allowCustomValue: !0, + formatCreateLabel: Zn, + options: i, + placeholder: "Choose", + onSelect: this.props.onChange, + }) + : a.a.createElement(z.b, { + width: n, + defaultValue: o, + isSearchable: !0, + allowCustomValue: !0, + formatCreateLabel: Zn, + options: i, + placeholder: "Choose", + onChange: this.onChange, + }) + ); + }, + }, + ]) && Qn(n.prototype, r), + o && Qn(n, o), + t + ); + })(r.PureComponent); + Xn.defaultProps = { width: 12 }; + var er = n("Z0cm"), + tr = n.n(er), + nr = n("zqxM"), + rr = n.n(nr); + function ar(e) { + return (ar = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function or(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ir(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function lr(e, t) { + return !t || ("object" !== ar(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function sr(e) { + return (sr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function cr(e, t) { + return (cr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ur = (function (e) { + function t() { + var e, n; + or(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = lr( + this, + (e = sr(t)).call.apply(e, [this].concat(a)) + )).checkInput = function () { + var e = n.props, + t = e.stats, + r = e.allowMultiple, + a = e.defaultStat, + o = e.onChange, + i = Pe.fieldReducers.list(t); + if (i.length !== t.length) { + var l = i.map(function (e) { + return e.id; + }), + s = rr()(t, l); + console.warn("Unknown stats", s, t), + o( + i.map(function (e) { + return e.id; + }) + ); + } + !r && + t.length > 1 && + (console.warn("Removing extra stat", t), o([t[0]])), + a && t.length < 1 && o([a]); + }), + (n.onSelectionChange = function (e) { + var t = n.props.onChange; + tr()(e) + ? t( + e.map(function (e) { + return e.value; + }) + ) + : t(e.value ? [e.value] : []); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.checkInput(); + }, + }, + { + key: "componentDidUpdate", + value: function (e) { + this.checkInput(); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.width, + n = e.stats, + r = e.allowMultiple, + o = e.defaultStat, + i = e.placeholder, + l = Pe.fieldReducers.selectOptions(n); + return a.a.createElement(z.b, { + width: t, + value: l.current, + isClearable: !o, + isMulti: r, + isSearchable: !0, + options: l.options, + placeholder: i, + onChange: this.onSelectionChange, + }); + }, + }, + ]) && ir(n.prototype, r), + o && ir(n, o), + t + ); + })(r.PureComponent); + ur.defaultProps = { width: 12, allowMultiple: !1 }; + var fr = n("8YUl"), + dr = n("3VL2"), + pr = n("+sk9"), + hr = n("kDLi"), + mr = n("4Qg+"); + function gr() { + var e = yr([ + "\n .rc-time-picker-input {\n background-color: ", + ";\n border-radius: ", + ";\n border-color: ", + ";\n height: ", + ";\n\n &:focus {\n ", + "\n }\n }\n ", + ]); + return ( + (gr = function () { + return e; + }), + e + ); + } + function br() { + var e = yr([ + "\n .rc-time-picker-panel-select {\n font-size: 14px;\n background-color: ", + ";\n border-color: ", + ";\n li {\n outline-width: 2px;\n &.rc-time-picker-panel-select-option-selected {\n background-color: inherit;\n border: 1px solid ", + ";\n border-radius: ", + ";\n }\n\n &:hover {\n background: ", + ";\n }\n }\n }\n\n .rc-time-picker-panel-inner {\n box-shadow: 0px 4px 4px ", + ";\n background-color: ", + ";\n border-color: ", + ";\n border-radius: ", + ";\n margin-top: 3px;\n\n .rc-time-picker-panel-input-wrap {\n margin-right: 2px;\n\n &,\n .rc-time-picker-panel-input {\n background-color: ", + ";\n padding-top: 2px;\n }\n }\n }\n ", + ]); + return ( + (br = function () { + return e; + }), + e + ); + } + function vr() { + var e = yr([ + "\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n display: inline-block;\n text-align: right;\n z-index: 1071;\n ", + ]); + return ( + (vr = function () { + return e; + }), + e + ); + } + function yr(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var wr = Object(i.g)(function (e) { + var t = Object(hr.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.formInputBg }, + e.type + ), + n = Object(hr.selectThemeVariant)( + { light: e.colors.gray4, dark: e.colors.black }, + e.type + ), + r = Object(hr.selectThemeVariant)( + { light: e.colors.gray7, dark: e.colors.gray10 }, + e.type + ), + a = e.border.radius.sm, + i = e.colors.formInputBorder; + return { + caretWrapper: Object(o.css)(vr()), + picker: Object(o.css)( + br(), + t, + i, + e.colors.orange, + a, + r, + n, + t, + i, + a, + t + ), + input: Object(o.css)( + gr(), + t, + a, + i, + e.spacing.formInputHeight, + Object(mr.a)(e) + ), + }; + }), + Or = function (e) { + var t = e.minuteStep, + n = void 0 === t ? 1 : t, + r = e.showHour, + i = void 0 === r || r, + l = e.onChange, + s = e.value, + c = e.size, + u = void 0 === c ? "auto" : c, + f = Object(hr.useTheme)(), + d = wr(f); + return a.a.createElement( + "div", + null, + a.a.createElement(pr.a, { + className: Object(o.cx)(Object(mr.d)()[u], d.input), + popupClassName: d.picker, + defaultValue: Object(Pe.dateTimeAsMoment)(), + onChange: function (e) { + return l(Object(Pe.dateTime)(e)); + }, + allowEmpty: !1, + showSecond: !1, + value: Object(Pe.dateTimeAsMoment)(s), + showHour: i, + minuteStep: n, + inputIcon: a.a.createElement(xr, { + wrapperStyle: d.caretWrapper, + }), + }) + ); + }, + xr = function (e) { + var t = e.wrapperStyle, + n = void 0 === t ? "" : t; + return a.a.createElement( + "div", + { className: n }, + a.a.createElement(hr.Icon, { name: "caret-down" }) + ); + }, + kr = n("Lrfw"), + jr = n("qQGB"); + function Sr() { + var e = Pr(["\n cursor: pointer;\n "]); + return ( + (Sr = function () { + return e; + }), + e + ); + } + function Er() { + var e = Pr(["\n margin-right: 3px;\n "]); + return ( + (Er = function () { + return e; + }), + e + ); + } + function Cr() { + var e = Pr([ + "\n background-color: ", + ";\n color: ", + ";\n border: 1px solid ", + ";\n border-radius: 3px;\n padding: 3px 6px;\n margin: 3px;\n white-space: nowrap;\n text-shadow: none;\n font-weight: 500;\n line-height: 14px;\n display: flex;\n align-items: center;\n ", + ]); + return ( + (Cr = function () { + return e; + }), + e + ); + } + function Pr(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Tr = Object(i.g)(function (e) { + var t = e.theme, + n = e.name, + r = Object(Ge.p)(n), + a = r.color, + i = r.borderColor; + return { + itemStyle: Object(o.css)(Cr(), a, t.colors.white, i), + nameStyle: Object(o.css)(Er()), + removeStyle: Object(o.cx)(["fa fa-times", Object(o.css)(Sr())]), + }; + }), + Dr = function (e) { + var t = e.name, + n = e.onRemove, + r = Object(i.h)(), + o = Tr({ theme: r, name: t }); + return a.a.createElement( + "div", + { className: o.itemStyle }, + a.a.createElement("span", { className: o.nameStyle }, t), + a.a.createElement("i", { + className: o.removeStyle, + onClick: function () { + return n(t); + }, + }) + ); + }; + function Ar(e) { + return (Ar = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function _r() { + var e = Ir(["\n margin-bottom: 4px;\n "]); + return ( + (_r = function () { + return e; + }), + e + ); + } + function Nr() { + var e = Ir([ + "\n margin-left: 8px;\n margin-top: 2px;\n ", + ]); + return ( + (Nr = function () { + return e; + }), + e + ); + } + function Mr() { + var e = Ir([ + "\n display: flex;\n justify-content: flex-start;\n flex-wrap: wrap;\n ", + ]); + return ( + (Mr = function () { + return e; + }), + e + ); + } + function Ir(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function Rr(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Fr(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Lr(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Fr(Object(n), !0).forEach(function (t) { + Vr(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Fr(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Vr(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Br(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function $r(e, t) { + return !t || ("object" !== Ar(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function qr(e) { + return (qr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ur(e, t) { + return (Ur = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var zr = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = $r(this, qr(t).call(this, e))).onNameChange = function (e) { + n.setState({ newTag: e.target.value }); + }), + (n.onRemove = function (e) { + n.setState( + function (t) { + return Lr({}, t, { + tags: t.tags.filter(function (t) { + return e !== t; + }), + }); + }, + function () { + return n.onChange(); + } + ); + }), + (n.onAdd = function (e) { + e.preventDefault(), "" !== n.state.newTag && n.setNewTags(); + }), + (n.onKeyboardAdd = function (e) { + e.preventDefault(), + "Enter" === e.key && "" !== n.state.newTag && n.setNewTags(); + }), + (n.setNewTags = function () { + n.state.tags.includes(n.state.newTag) + ? n.setState({ newTag: "" }) + : n.setState( + function (e) { + return Lr({}, e, { + tags: [].concat(Rr(e.tags), [e.newTag]), + newTag: "", + }); + }, + function () { + return n.onChange(); + } + ); + }), + (n.onChange = function () { + n.props.onChange(n.state.tags); + }), + (n.state = { newTag: "", tags: n.props.tags || [] }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ur(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.tags, + r = t.newTag, + i = Object(jr.a)(function () { + return { + tagsCloudStyle: Object(o.css)(Mr()), + addButtonStyle: Object(o.css)(Nr()), + }; + }); + return a.a.createElement( + "div", + { className: "width-20" }, + a.a.createElement( + "div", + { + className: Object(o.cx)( + ["gf-form-inline"], + Object(o.css)(_r()) + ), + }, + a.a.createElement(lt, { + placeholder: "Add Name", + onChange: this.onNameChange, + value: r, + onKeyUp: this.onKeyboardAdd, + }), + a.a.createElement( + l.a, + { + className: i().addButtonStyle, + onClick: this.onAdd, + variant: "secondary", + size: "md", + }, + "Add" + ) + ), + a.a.createElement( + "div", + { className: i().tagsCloudStyle }, + n && + n.map(function (t, n) { + return a.a.createElement(Dr, { + key: "".concat(t, "-").concat(n), + name: t, + onRemove: e.onRemove, + }); + }) + ) + ); + }, + }, + ]) && Br(n.prototype, r), + i && Br(n, i), + t + ); + })(r.PureComponent); + function Hr() { + var e = Zr([ + "\n padding: calc(", + " * 2);\n overflow: auto;\n width: 100%;\n max-height: calc(90vh - ", + " * 2);\n ", + ]); + return ( + (Hr = function () { + return e; + }), + e + ); + } + function Gr() { + var e = Zr([ + "\n margin-left: auto;\n padding: 9px ", + ";\n ", + ]); + return ( + (Gr = function () { + return e; + }), + e + ); + } + function Wr() { + var e = Zr([ + "\n margin-right: ", + ";\n font-size: inherit;\n &:before {\n vertical-align: baseline;\n }\n ", + ]); + return ( + (Wr = function () { + return e; + }), + e + ); + } + function Qr() { + var e = Zr([ + "\n font-size: ", + ";\n padding-top: ", + ";\n margin: 0 ", + ";\n ", + ]); + return ( + (Qr = function () { + return e; + }), + e + ); + } + function Yr() { + var e = Zr([ + "\n background: ", + ";\n box-shadow: ", + ";\n border-bottom: 1px solid ", + ";\n display: flex;\n ", + ]); + return ( + (Yr = function () { + return e; + }), + e + ); + } + function Kr() { + var e = Zr([ + "\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: ", + ";\n background-color: ", + ";\n opacity: 0.7;\n ", + ]); + return ( + (Kr = function () { + return e; + }), + e + ); + } + function Jr() { + var e = Zr([ + "\n position: fixed;\n z-index: ", + ";\n background: ", + ";\n box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n background-clip: padding-box;\n outline: none;\n width: 750px;\n max-width: 100%;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n top: 10%;\n ", + ]); + return ( + (Jr = function () { + return e; + }), + e + ); + } + function Zr(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Xr = Object(i.g)(function (e) { + var t = Object(i.e)( + { light: e.colors.bodyBg, dark: e.colors.gray25 }, + e.type + ); + return { + modal: Object(o.css)(Jr(), e.zIndex.modal, e.colors.pageBg), + modalBackdrop: Object(o.css)(Kr(), e.zIndex.modalBackdrop, t), + modalHeader: Object(o.css)( + Yr(), + e.background.pageHeader, + e.shadow.pageHeader, + e.colors.pageHeaderBorder + ), + modalHeaderTitle: Object(o.css)( + Qr(), + e.typography.heading.h3, + e.spacing.sm, + e.spacing.md + ), + modalHeaderIcon: Object(o.css)(Wr(), e.spacing.md), + modalHeaderClose: Object(o.css)(Gr(), e.spacing.d), + modalContent: Object(o.css)(Hr(), e.spacing.d, e.spacing.d), + }; + }), + ea = function (e) { + var t = e.icon, + n = e.title, + o = e.children, + l = Object(r.useContext)(i.a), + s = Xr(l); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h2", + { className: s.modalHeaderTitle }, + t && + a.a.createElement(Y.a, { + name: t, + className: s.modalHeaderIcon, + }), + n + ), + o + ); + }; + function ta(e) { + return (ta = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function na(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ra(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function aa(e, t) { + return !t || ("object" !== ta(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function oa(e) { + return (oa = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ia(e, t) { + return (ia = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var la = (function (e) { + function t() { + var e, n; + na(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = aa( + this, + (e = oa(t)).call.apply(e, [this].concat(a)) + )).onDismiss = function () { + n.props.onDismiss && n.props.onDismiss(); + }), + (n.onClickBackdrop = function () { + n.onDismiss(); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ia(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "renderDefaultHeader", + value: function (e) { + var t = this.props.icon; + return a.a.createElement(ea, { icon: t, title: e }); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.title, + n = e.isOpen, + r = void 0 !== n && n, + i = e.theme, + l = e.className, + s = Xr(i); + return r + ? a.a.createElement( + A.a, + null, + a.a.createElement( + "div", + { className: Object(o.cx)(s.modal, l) }, + a.a.createElement( + "div", + { className: s.modalHeader }, + "string" == typeof t + ? this.renderDefaultHeader(t) + : t, + a.a.createElement( + "a", + { + className: s.modalHeaderClose, + onClick: this.onDismiss, + }, + a.a.createElement("i", { + className: "fa fa-remove", + }) + ) + ), + a.a.createElement( + "div", + { className: s.modalContent }, + this.props.children + ) + ), + a.a.createElement("div", { + className: s.modalBackdrop, + onClick: + this.props.onClickBackdrop || this.onClickBackdrop, + }) + ) + : null; + }, + }, + ]) && ra(n.prototype, r), + i && ra(n, i), + t + ); + })(a.a.PureComponent), + sa = Object(i.i)(la); + function ca() { + var e = da([ + "\n font-size: ", + ";\n color: ", + ";\n margin-bottom: calc(", + " * 2);\n padding-top: ", + ";\n ", + ]); + return ( + (ca = function () { + return e; + }), + e + ); + } + function ua() { + var e = da(["\n text-align: center;\n "]); + return ( + (ua = function () { + return e; + }), + e + ); + } + function fa() { + var e = da(["\n width: 500px;\n "]); + return ( + (fa = function () { + return e; + }), + e + ); + } + function da(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var pa = Object(i.g)(function (e) { + return { + modal: Object(o.css)(fa()), + modalContent: Object(o.css)(ua()), + modalText: Object(o.css)( + ca(), + e.typography.heading.h4, + e.colors.link, + e.spacing.d, + e.spacing.d + ), + }; + }), + ha = function (e) { + var t = e.isOpen, + n = e.title, + o = e.body, + s = e.confirmText, + c = e.dismissText, + u = void 0 === c ? "Cancel" : c, + f = e.icon, + d = e.onConfirm, + p = e.onDismiss, + h = Object(r.useContext)(i.a), + m = pa(h); + return a.a.createElement( + sa, + { + className: m.modal, + title: n, + icon: f || "exclamation-triangle", + isOpen: t, + onDismiss: p, + }, + a.a.createElement( + "div", + { className: m.modalContent }, + a.a.createElement("div", { className: m.modalText }, o), + a.a.createElement( + bv, + { justify: "center" }, + a.a.createElement(l.a, { variant: "danger", onClick: d }, s), + a.a.createElement(l.a, { variant: "inverse", onClick: p }, u) + ) + ) + ); + }, + ma = n("LvDl"), + ga = n.n(ma), + ba = n("LBMm"), + va = n("mkUw"), + ya = n("CqUX"); + function wa(e) { + return (wa = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Oa(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function xa(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ka(e, t) { + return !t || ("object" !== wa(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ja(e) { + return (ja = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Sa(e, t) { + return (Sa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Ea = (function (e) { + function t(e, n) { + var r; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((r = ka(this, ja(t).call(this, e, n))).lastExecutedValue = null), + (r.mounted = !1), + (r.editor = null), + (r.onChange = function (e, t) { + var n = e.document !== r.state.value.document, + a = r.state.value; + r.setState({ value: e }, function () { + if (n) { + var o = va.a.serialize(a) !== va.a.serialize(e); + o && t && r.runOnChangeAndRunQuery(), + o && !t && r.runOnChangeDebounced(); + } + }); + }), + (r.runOnChange = function () { + var e = r.props.onChange; + e && e(va.a.serialize(r.state.value)); + }), + (r.runOnRunQuery = function () { + var e = r.props.onRunQuery; + e && (e(), (r.lastExecutedValue = r.state.value)); + }), + (r.runOnChangeAndRunQuery = function () { + r.runOnChange(), r.runOnRunQuery(); + }), + (r.handleBlur = function (e, t, n) { + var a = r.props.onBlur; + a + ? a() + : (r.lastExecutedValue + ? va.a.serialize(r.lastExecutedValue) + : null) !== va.a.serialize(t.value) && + r.runOnChangeAndRunQuery(); + return n(); + }), + (r.runOnChangeDebounced = ga.a.debounce(r.runOnChange, 500)); + var a = e.onTypeahead, + o = e.cleanText, + i = e.portalOrigin, + l = e.onWillApplySuggestion; + return ( + (r.plugins = [ + Object(ya.e)(), + Object(ya.i)({ + onTypeahead: a, + cleanText: o, + portalOrigin: i, + onWillApplySuggestion: l, + }), + Object(ya.b)(), + Object(ya.f)({ handler: r.runOnChangeAndRunQuery }), + Object(ya.g)(), + Object(ya.d)(), + Object(ya.c)(), + ] + .concat(Oa(e.additionalPlugins || [])) + .filter(function (e) { + return e; + })), + (r.state = { + suggestions: [], + typeaheadContext: null, + typeaheadPrefix: "", + typeaheadText: "", + value: Object(hr.makeValue)(e.query || "", e.syntax), + }), + r + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Sa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.mounted = !0; + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.mounted = !1; + }, + }, + { + key: "componentDidUpdate", + value: function (e, t) { + var n = this.props, + r = n.query, + a = n.syntax, + o = this.state.value; + r !== e.query && + r !== va.a.serialize(o) && + this.setState({ value: Object(hr.makeValue)(r || "", a) }); + }, + }, + { + key: "UNSAFE_componentWillReceiveProps", + value: function (e) { + if (e.syntaxLoaded && !this.props.syntaxLoaded) { + if (!this.editor) return; + var t = this.editor.insertText(" ").deleteBackward(1); + this.onChange(t.value, !0); + } + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props.disabled, + n = fe()("slate-query-field__wrapper", { + "slate-query-field__wrapper--disabled": t, + }); + return a.a.createElement( + "div", + { className: n }, + a.a.createElement( + "div", + { className: "slate-query-field" }, + a.a.createElement(ba.a, { + ref: function (t) { + return (e.editor = t); + }, + schema: hr.SCHEMA, + autoCorrect: !1, + readOnly: this.props.disabled, + onBlur: this.handleBlur, + onChange: function (t) { + e.onChange(t.value, !1); + }, + placeholder: this.props.placeholder, + plugins: this.plugins, + spellCheck: !1, + value: this.state.value, + }) + ) + ); + }, + }, + ]) && xa(n.prototype, r), + o && xa(n, o), + t + ); + })(a.a.PureComponent); + function Ca() { + var e = Ta([ + "\n position: relative;\n top: 1px;\n display: flex;\n ", + ]); + return ( + (Ca = function () { + return e; + }), + e + ); + } + function Pa() { + var e = Ta(["\n border-bottom: 1px solid ", ";\n "]); + return ( + (Pa = function () { + return e; + }), + e + ); + } + function Ta(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Da = Object(i.g)(function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = e.colors; + return { + tabsWrapper: !t && Object(o.css)(Pa(), n.pageHeaderBorder), + tabs: Object(o.css)(Ca()), + }; + }), + Aa = a.a.forwardRef(function (e, t) { + var n = e.children, + r = e.className, + l = e.hideBorder, + s = Object(i.h)(), + c = Da(s, l); + return a.a.createElement( + "div", + { className: Object(o.cx)(c.tabsWrapper, r), ref: t }, + a.a.createElement("ul", { className: c.tabs }, n) + ); + }); + function _a() { + var e = Ma([ + "\n border-color: ", + " ", + " transparent;\n background: ", + ";\n color: ", + ";\n overflow: hidden;\n cursor: not-allowed;\n\n &::before {\n display: block;\n content: ' ';\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n top: 0;\n background-image: linear-gradient(to right, #f05a28 30%, #fbca0a 99%);\n }\n ", + ]); + return ( + (_a = function () { + return e; + }), + e + ); + } + function Na() { + var e = Ma([ + "\n list-style: none;\n padding: 10px 15px 9px;\n margin-right: ", + ";\n position: relative;\n display: block;\n border: solid transparent;\n border-width: 0 1px 1px;\n border-radius: ", + " ", + " 0 0;\n color: ", + ";\n cursor: pointer;\n\n i {\n margin-right: ", + ";\n }\n\n .gicon {\n position: relative;\n top: -2px;\n }\n\n &:hover,\n &:focus {\n color: ", + ";\n }\n ", + ]); + return ( + (Na = function () { + return e; + }), + e + ); + } + function Ma(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Ia = Object(i.g)(function (e) { + var t = e.colors, + n = Object(i.e)({ dark: t.dark9, light: t.gray5 }, e.type); + return { + tabItem: Object(o.css)( + Na(), + e.spacing.md, + e.border.radius.md, + e.border.radius.md, + t.text, + e.spacing.sm, + t.linkHover + ), + activeStyle: Object(o.css)(_a(), t.orange, n, t.pageBg, t.link), + }; + }), + Ra = function (e) { + var t = e.label, + n = e.active, + r = e.icon, + l = e.onChangeTab, + s = Object(i.h)(), + c = Ia(s); + return a.a.createElement( + "li", + { + className: Object(o.cx)(c.tabItem, n && c.activeStyle), + onClick: l, + }, + r && a.a.createElement("i", { className: r }), + t + ); + }, + Fa = function (e) { + var t = e.icon, + n = e.title, + r = e.tabs, + o = e.activeTab, + i = e.onChangeTab; + return a.a.createElement( + ea, + { icon: t, title: n }, + a.a.createElement( + Aa, + { hideBorder: !0 }, + r.map(function (e, t) { + return a.a.createElement(Ra, { + key: "".concat(e.value, "-").concat(t), + label: e.label, + icon: e.icon, + active: e.value === o, + onChangeTab: (function (e) { + function t() { + return e.apply(this, arguments); + } + return ( + (t.toString = function () { + return e.toString(); + }), + t + ); + })(function () { + return i(e); + }), + }); + }) + ) + ); + }, + La = function (e) { + var t, + n = e.icon, + r = e.iconClass, + o = e.children, + i = n || r; + return ( + r && (t = a.a.createElement("i", { className: r })), + n && (t = a.a.createElement(Y.a, { name: n })), + a.a.createElement( + "div", + { className: "share-modal-body" }, + a.a.createElement( + "div", + { className: "share-modal-header" }, + i && + a.a.createElement( + "div", + { className: "share-modal-big-icon" }, + t + ), + a.a.createElement( + "div", + { className: "share-modal-content" }, + o + ) + ) + ) + ); + }; + function Va(e) { + return (Va = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ba(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function $a(e, t) { + return !t || ("object" !== Va(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function qa(e) { + return (qa = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ua(e, t) { + return (Ua = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var za = a.a.createContext({ + component: null, + props: {}, + showModal: function () {}, + hideModal: function () {}, + }), + Ha = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = $a(this, qa(t).call(this, e))).showModal = function (e, t) { + n.setState({ component: e, props: t }); + }), + (n.hideModal = function () { + n.setState({ component: null, props: {} }); + }), + (n.state = { + component: e.component || null, + props: e.props || {}, + showModal: n.showModal, + hideModal: n.hideModal, + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ua(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return a.a.createElement( + za.Provider, + { value: this.state }, + this.props.children + ); + }, + }, + ]) && Ba(n.prototype, r), + o && Ba(n, o), + t + ); + })(a.a.Component), + Ga = function () { + return a.a.createElement(za.Consumer, null, function (e) { + var t = e.component, + n = e.props; + return t ? a.a.createElement(t, n) : null; + }); + }, + Wa = za.Consumer, + Qa = n("K9Ia"), + Ya = n("F/XL"), + Ka = n("GDxn"), + Ja = n("xXU7"), + Za = n("15JJ"), + Xa = n("xMyE"); + function eo(e) { + return (eo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function to(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function no(e, t) { + return !t || ("object" !== eo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ro(e) { + return (ro = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ao(e, t) { + return (ao = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var oo = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = no(this, ro(t).call(this, e))).propsSubject = new Qa.b()), + (n.subscription = null), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ao(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this; + (this.subscription = this.propsSubject + .pipe( + Object(Za.a)(function (e) { + return fr.a.isLive(e.interval) + ? Object(Ya.a)({}) + : e.loading + ? Ka.a + : Object(Ja.a)(Object(Pe.stringToMs)(e.interval)); + }), + Object(Xa.a)(function () { + return e.props.func(); + }) + ) + .subscribe()), + this.propsSubject.next(this.props); + }, + }, + { + key: "componentDidUpdate", + value: function (e) { + (fr.a.isLive(e.interval) && + fr.a.isLive(this.props.interval)) || + ga.a.isEqual(e, this.props) || + this.propsSubject.next(this.props); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.subscription && this.subscription.unsubscribe(), + this.propsSubject.unsubscribe(); + }, + }, + { + key: "render", + value: function () { + return null; + }, + }, + ]) && to(n.prototype, r), + a && to(n, a), + t + ); + })(r.PureComponent), + io = n("y13m"), + lo = n("iR1w"), + so = n("JlcV"), + co = n.n(so), + uo = function (e) { + var t = e.field, + n = e.cell, + r = e.tableStyles; + if (!t.display) return null; + var o = t.display(n.value); + return a.a.createElement( + "div", + { className: r.tableCell }, + Object(Pe.formattedValueToString)(o) + ); + }, + fo = n("oetV"); + var po = function (e) { + var t, + n, + r = e.value, + o = e.className, + i = e.style, + l = i.fontSize, + s = (function (e) { + return e < 20 ? 0.9 : e < 26 ? 0.8 : 0.6; + })(l), + c = (null !== (t = r.prefix) && void 0 !== t ? t : "").length > 0, + u = (null !== (n = r.suffix) && void 0 !== n ? n : "").length > 0; + return a.a.createElement( + "div", + { className: o, style: i }, + a.a.createElement( + "div", + null, + c && a.a.createElement("span", null, r.prefix), + a.a.createElement("span", null, r.text), + u && + a.a.createElement( + "span", + { style: { fontSize: l * s } }, + r.suffix + ) + ) + ); + }; + po.displayName = "FormattedDisplayValue"; + var ho = n("AZV9"); + function mo(e) { + return (mo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function go(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function bo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function vo(e, t) { + return !t || ("object" !== mo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function yo(e) { + return (yo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function wo(e, t) { + return (wo = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Oo; + !(function (e) { + (e.Basic = "basic"), (e.Lcd = "lcd"), (e.Gradient = "gradient"); + })(Oo || (Oo = {})); + var xo, + ko = (function (e) { + function t() { + return go(this, t), vo(this, yo(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && wo(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t, + n, + r, + o = this.props, + i = o.onClick, + l = o.className, + s = this.props.value.title, + c = + ((e = this.props), + (t = { + display: "flex", + overflow: "hidden", + width: "100%", + }), + (n = So(e)), + (r = { + fontSize: "".concat(n.fontSize, "px"), + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + width: "100%", + alignItems: "center", + alignSelf: "center", + }), + jo(e.orientation) + ? ((t.flexDirection = "column-reverse"), + (r.textAlign = "center")) + : "above" === n.placement + ? (t.flexDirection = "column") + : ((t.flexDirection = "row"), + (r.width = "".concat(n.width, "px")), + (r.textAlign = "right"), + (r.paddingRight = "10px")), + { wrapper: t, title: r }); + return s + ? a.a.createElement( + "div", + { style: c.wrapper, onClick: i, className: l }, + a.a.createElement("div", { style: c.title }, s), + this.renderBarAndValue() + ) + : a.a.createElement( + "div", + { style: c.wrapper, onClick: i, className: l }, + this.renderBarAndValue() + ); + }, + }, + { + key: "renderBarAndValue", + value: function () { + switch (this.props.displayMode) { + case "lcd": + return this.renderRetroBars(); + case "basic": + case "gradient": + default: + return this.renderBasicAndGradientBars(); + } + }, + }, + { + key: "renderBasicAndGradientBars", + value: function () { + var e = this.props, + t = e.value, + n = e.showUnfilled, + r = (function (e) { + var t = e.displayMode, + n = e.field, + r = e.value, + a = e.alignmentFactors, + o = e.orientation, + i = e.theme, + l = Eo(e), + s = l.valueWidth, + c = l.valueHeight, + u = l.maxBarHeight, + f = l.maxBarWidth, + d = Co(r.numeric, n.min, n.max), + p = To(e), + h = Do(a || r, p, s, c, o), + m = "basic" === t, + g = { display: "flex", flexGrow: 1 }, + b = { + borderRadius: "3px", + position: "relative", + zIndex: 1, + }, + v = { + background: "rgba(".concat( + i.isDark ? "255,255,255" : "0,0,0", + ", 0.07)" + ), + flexGrow: 1, + display: "flex", + borderRadius: "3px", + position: "relative", + }; + if (jo(o)) { + var y = Math.max(d * u, 1); + (g.flexDirection = "column"), + (g.justifyContent = "flex-end"), + (b.transition = "height 1s"), + (b.height = "".concat(y, "px")), + (b.width = "".concat(f, "px")), + (v.bottom = "-3px"), + m + ? ((b.background = "".concat( + Ue()(p).setAlpha(0.35).toRgbString() + )), + (b.borderTop = "2px solid ".concat(p))) + : (b.background = Po(e, u)); + } else { + var w = Math.max(d * f, 1); + (g.flexDirection = "row-reverse"), + (g.justifyContent = "flex-end"), + (g.alignItems = "stretch"), + (b.transition = "width 1s"), + (b.height = "".concat(u, "px")), + (b.width = "".concat(w, "px")), + (v.left = "-3px"), + m + ? ((b.background = "".concat( + Ue()(p).setAlpha(0.35).toRgbString() + )), + (b.borderRight = "2px solid ".concat(p))) + : (b.background = Po(e, f)); + } + return { wrapper: g, bar: b, value: h, emptyBar: v }; + })(this.props); + return a.a.createElement( + "div", + { style: r.wrapper }, + a.a.createElement(po, { + className: "bar-gauge__value", + value: t, + style: r.value, + }), + n && a.a.createElement("div", { style: r.emptyBar }), + a.a.createElement("div", { style: r.bar }) + ); + }, + }, + { + key: "getCellColor", + value: function (e) { + var t = this.props, + n = t.value, + r = t.display; + if (null === e) return { background: "gray", border: "gray" }; + var a = r ? r(e).color : null; + return a + ? null === n || (null !== e && e > n.numeric) + ? { + background: Ue()(a).setAlpha(0.18).toRgbString(), + border: "transparent", + isLit: !1, + } + : { + background: Ue()(a).setAlpha(0.95).toRgbString(), + backgroundShade: Ue()(a).setAlpha(0.55).toRgbString(), + border: Ue()(a).setAlpha(0.9).toRgbString(), + isLit: !0, + } + : { background: "gray", border: "gray" }; + }, + }, + { + key: "renderRetroBars", + value: function () { + var e = this.props, + t = e.field, + n = e.value, + r = e.itemSpacing, + o = e.alignmentFactors, + i = e.orientation, + l = e.lcdCellWidth, + s = Eo(this.props), + c = s.valueHeight, + u = s.valueWidth, + f = s.maxBarHeight, + d = s.maxBarWidth, + p = s.wrapperWidth, + h = s.wrapperHeight, + m = t.min, + g = t.max, + b = jo(i), + v = g - m, + y = b ? f : d, + w = r, + O = Math.floor(y / l), + x = Math.floor((y - w * O) / O), + k = Do(o || n, To(this.props), u, c, i), + j = { + width: "".concat(p, "px"), + height: "".concat(h, "px"), + display: "flex", + }; + b + ? ((j.flexDirection = "column-reverse"), + (j.alignItems = "center")) + : ((j.flexDirection = "row"), + (j.alignItems = "center"), + (k.justifyContent = "flex-end")); + for (var S = [], E = 0; E < O; E++) { + var C = m + (v / O) * E, + P = this.getCellColor(C), + T = { borderRadius: "2px" }; + P.isLit + ? (T.backgroundImage = "radial-gradient(" + .concat(P.background, " 10%, ") + .concat(P.backgroundShade, ")")) + : (T.backgroundColor = P.background), + b + ? ((T.height = "".concat(x, "px")), + (T.width = "".concat(d, "px")), + (T.marginTop = "".concat(w, "px"))) + : ((T.width = "".concat(x, "px")), + (T.height = "".concat(f, "px")), + (T.marginRight = "".concat(w, "px"))), + S.push( + a.a.createElement("div", { + key: E.toString(), + style: T, + }) + ); + } + return a.a.createElement( + "div", + { style: j }, + S, + a.a.createElement(po, { + className: "bar-gauge__value", + value: n, + style: k, + }) + ); + }, + }, + ]) && bo(n.prototype, r), + o && bo(n, o), + t + ); + })(r.PureComponent); + function jo(e) { + return e === Pe.VizOrientation.Vertical; + } + function So(e) { + var t = e.height, + n = e.width, + r = e.alignmentFactors, + a = e.orientation, + o = r ? r.title : e.value.title; + if (!o) return { fontSize: 0, width: 0, height: 0, placement: "above" }; + if (jo(a)) + return { fontSize: 14, width: n, height: 21, placement: "below" }; + if (t > 40) { + var i = Math.max(Math.min(0.45 * t, 50), 17); + return { fontSize: i / 1.5, width: 0, height: i, placement: "above" }; + } + var l = Math.max(0.6 * t, 18) / 1.5; + return { + fontSize: l, + height: 0, + width: Object(ho.b)(o, l).width + 15, + placement: "left", + }; + } + function Eo(e) { + var t = e.height, + n = e.width, + r = e.orientation, + a = So(e), + o = 0, + i = 0, + l = 0, + s = 0, + c = 0, + u = 0; + return ( + jo(r) + ? ((l = Math.min(Math.max(0.1 * t, 18), 50)), + (s = n), + (o = t - (a.height + l)), + (i = n), + (c = n), + (u = t - a.height)) + : ((l = t - a.height), + (s = Math.max(Math.min(0.2 * n, 150), 50)), + (o = t - a.height), + (i = n - s - a.width), + "above" === a.placement + ? ((c = n), (u = t - a.height)) + : ((c = n - a.width), (u = t))), + { + valueWidth: s, + valueHeight: l, + maxBarWidth: i, + maxBarHeight: o, + wrapperHeight: u, + wrapperWidth: c, + } + ); + } + function Co(e, t, n) { + return Math.min((e - t) / (n - t), 1); + } + function Po(e, t) { + var n = e.field, + r = e.value, + a = jo(e.orientation) ? "0deg" : "90deg", + o = n.min, + i = n.max, + l = "", + s = 0; + if (n.color && n.color.mode === Pe.FieldColorMode.Scheme) { + var c = fo["scheme".concat(n.color.schemeName)]; + if (!c) { + return ( + (l = "linear-gradient(" + .concat(a, ", ") + .concat("#F00", ", ") + .concat("#F00")), + (l += " ".concat(t, "px, ").concat("#F00")) + ")" + ); + } + for (var u = c[c.length - 1], f = 0; f < u.length; f++) { + var d = u[f], + p = (f / (u.length - 1)) * t, + h = Math.round(p - (p - s) / 2); + "" === l + ? (l = "linear-gradient(" + .concat(a, ", ") + .concat(d, ", ") + .concat(d)) + : ((s = p), (l += " ".concat(h, "px, ").concat(d))); + } + } else + for (var m = n.thresholds, g = 0; g < m.steps.length; g++) { + var b = m.steps[g], + v = Object(Pe.getColorFromHexRgbOrName)(b.color), + y = Co(b.value, o, i) * t, + w = Math.round(y - (y - s) / 2); + if ("" === l) + l = "linear-gradient(".concat(a, ", ").concat(v, ", ").concat(v); + else { + if (r.numeric < b.value) break; + (s = y), (l += " ".concat(w, "px, ").concat(v)); + } + } + return l + ")"; + } + function To(e) { + var t = e.theme, + n = e.value; + return n.color + ? n.color + : Object(Pe.getColorFromHexRgbOrName)("gray", t.type); + } + function Do(e, t, n, r, a) { + var o = { + color: t, + height: "".concat(r, "px"), + width: "".concat(n, "px"), + display: "flex", + alignItems: "center", + lineHeight: 1, + }, + i = n, + l = Object(Pe.formattedValueToString)(e); + return ( + jo(a) + ? ((o.fontSize = Object(ho.a)(l, i, r, 1)), + (o.justifyContent = "center")) + : ((o.fontSize = Object(ho.a)(l, i - 20, r, 1)), + (o.justifyContent = "flex-end"), + (o.paddingLeft = "".concat(10, "px")), + (o.paddingRight = "".concat(10, "px")), + (i -= 10), + (o.width = Object(ho.b)(l, o.fontSize).width + 20)), + o + ); + } + function Ao(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function _o(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + (ko.defaultProps = { + lcdCellWidth: 12, + value: { text: "100", numeric: 100 }, + displayMode: Oo.Gradient, + orientation: Pe.VizOrientation.Horizontal, + field: { + min: 0, + max: 100, + thresholds: { mode: Pe.ThresholdsMode.Absolute, steps: [] }, + }, + itemSpacing: 10, + showUnfilled: !0, + }), + (function (e) { + (e.Auto = "auto"), + (e.ColorText = "color-text"), + (e.ColorBackground = "color-background"), + (e.GradientGauge = "gradient-gauge"), + (e.LcdGauge = "lcd-gauge"); + })(xo || (xo = {})); + var No = { + mode: Pe.ThresholdsMode.Absolute, + steps: [ + { color: "blue", value: -1 / 0 }, + { color: "green", value: 20 }, + ], + }, + Mo = function (e) { + var t = e.field, + n = e.column, + r = e.tableStyles, + o = e.cell; + if (!t.display) return null; + var i = t.config; + i.thresholds || + (i = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ao(Object(n), !0).forEach(function (t) { + _o(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Ao(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, i, { thresholds: No })); + var l, + s = t.display(o.value), + c = Oo.Gradient; + return ( + t.config.custom && + t.config.custom.displayMode === xo.LcdGauge && + (c = Oo.Lcd), + (l = n.width ? n.width - 2 * r.cellPadding : 2 * r.cellPadding), + a.a.createElement( + "div", + { className: r.tableCell }, + a.a.createElement(ko, { + width: l, + height: r.cellHeightInner, + field: i, + value: s, + orientation: Pe.VizOrientation.Horizontal, + theme: r.theme, + itemSpacing: 1, + lcdCellWidth: 8, + displayMode: c, + }) + ) + ); + }, + Io = function (e) { + var t = e.cell, + n = e.tableStyles, + r = e.field; + if (!r.display) return null; + var o = n.theme.isDark ? 1 : -0.7, + i = r.display(t.value), + l = Ue()(i.color) + .darken(10 * o) + .spin(5) + .toRgbString(), + s = { + background: "linear-gradient(120deg, " + .concat(l, ", ") + .concat(i.color, ")"), + borderRadius: "0px", + color: "white", + height: n.cellHeight, + padding: n.cellPadding, + }; + return a.a.createElement( + "div", + { style: s }, + Object(Pe.formattedValueToString)(i) + ); + }; + function Ro(e) { + if (e.config.custom) + switch (e.config.custom.align) { + case "right": + return "right"; + case "left": + return "left"; + case "center": + return "center"; + } + return e.type === Pe.FieldType.number ? "right" : "left"; + } + function Fo(e) { + switch (e) { + case xo.ColorBackground: + return Io; + case xo.LcdGauge: + case xo.GradientGauge: + return Mo; + default: + return uo; + } + } + function Lo() { + var e = Uo([ + "\n padding: ", + "px 10px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n ", + ]); + return ( + (Lo = function () { + return e; + }), + e + ); + } + function Vo() { + var e = Uo([ + "\n label: row;\n border-bottom: 2px solid ", + ";\n ", + ]); + return ( + (Vo = function () { + return e; + }), + e + ); + } + function Bo() { + var e = Uo([ + "\n padding: ", + "px 10px;\n cursor: pointer;\n white-space: nowrap;\n color: ", + ";\n ", + ]); + return ( + (Bo = function () { + return e; + }), + e + ); + } + function $o() { + var e = Uo([ + "\n label: thead;\n overflow-y: auto;\n overflow-x: hidden;\n background: ", + ";\n ", + ]); + return ( + ($o = function () { + return e; + }), + e + ); + } + function qo() { + var e = Uo([ + "\n height: 100%;\n width: 100%;\n overflow: auto;\n display: flex;\n ", + ]); + return ( + (qo = function () { + return e; + }), + e + ); + } + function Uo(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var zo = Object(i.g)(function (e) { + var t = e.colors, + n = Object(i.e)({ light: t.gray6, dark: t.dark7 }, e.type), + r = e.typography.lineHeight.md, + a = 12 + 14 * r; + return { + theme: e, + cellHeight: a, + cellPadding: 6, + cellHeightInner: 14 * r, + rowHeight: a + 2, + table: Object(o.css)(qo()), + thead: Object(o.css)($o(), n), + headerCell: Object(o.css)(Bo(), 6, t.blue), + row: Object(o.css)(Vo(), t.bodyBg), + tableCell: Object(o.css)(Lo(), 6), + }; + }); + function Ho() { + return (Ho = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + var Go = function (e) { + var t = e.cell, + n = e.field, + r = e.tableStyles, + o = e.onCellClick, + i = n.config.filterable, + l = t.getCellProps(), + s = void 0; + i && + o && + (l.style && (l.style.cursor = "pointer"), + (s = function () { + return o(t.column.Header, t.value); + })); + var c = Ro(n); + return ( + c && l.style && (l.style.textAlign = c), + a.a.createElement( + "div", + Ho({}, l, { onClick: s }), + t.render("Cell", { field: n, tableStyles: r }) + ) + ); + }; + function Wo() { + return (Wo = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Qo(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var Yo = Object(r.memo)(function (e) { + var t, + n = e.data, + o = e.height, + l = e.onCellClick, + s = e.width, + c = e.columnMinWidth, + u = Object(i.h)(), + f = Qo(co()(), 2), + d = f[0], + p = f[1], + h = zo(u), + m = Object(io.c)( + { + columns: Object(r.useMemo)( + function () { + return (function (e, t, n) { + var r = [], + a = e.fields.length, + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = e.fields[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value, + f = u.config.custom || {}; + f.width && ((t -= f.width), (a -= 1)); + var d = Fo(f.displayMode); + r.push({ + Cell: d, + Header: u.name, + accessor: u.name, + width: f.width, + }); + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + for (var p = t / a, h = 0, m = r; h < m.length; h++) { + var g = m[h]; + g.width || (g.width = Math.max(p, n)); + } + return r; + })(n, s, null != c ? c : 150); + }, + [n, s, c] + ), + data: Object(r.useMemo)( + function () { + return (function (e) { + for (var t = [], n = 0; n < e.length; n++) { + for (var r = {}, a = 0; a < e.fields.length; a++) { + r[e.fields[a].name] = e.fields[a].values.get(n); + } + t.push(r); + } + return t; + })(n); + }, + [n] + ), + }, + io.b, + io.a + ), + g = m.getTableProps, + b = m.headerGroups, + v = m.rows, + y = m.prepareRow, + w = a.a.useCallback( + function (e) { + var t = e.index, + r = e.style, + o = v[t]; + return ( + y(o), + a.a.createElement( + "div", + Wo({}, o.getRowProps({ style: r }), { className: h.row }), + o.cells.map(function (e, t) { + return a.a.createElement(Go, { + key: t, + field: n.fields[e.column.index], + tableStyles: h, + cell: e, + onCellClick: l, + }); + }) + ) + ); + }, + [y, v] + ), + O = 0, + x = !0, + k = !1, + j = void 0; + try { + for ( + var S, E = b[Symbol.iterator](); + !(x = (S = E.next()).done); + x = !0 + ) { + var C = S.value, + P = !0, + T = !1, + D = void 0; + try { + for ( + var A, N = C.headers[Symbol.iterator](); + !(P = (A = N.next()).done); + P = !0 + ) { + O += A.value.width; + } + } catch (e) { + (T = !0), (D = e); + } finally { + try { + P || null == N.return || N.return(); + } finally { + if (T) throw D; + } + } + } + } catch (e) { + (k = !0), (j = e); + } finally { + try { + x || null == E.return || E.return(); + } finally { + if (k) throw j; + } + } + return a.a.createElement( + "div", + Wo({}, g(), { className: h.table }), + a.a.createElement( + _.a, + null, + a.a.createElement( + "div", + null, + b.map(function (e) { + return a.a.createElement( + "div", + Wo({ className: h.thead }, e.getHeaderGroupProps(), { + ref: d, + }), + e.headers.map(function (e) { + return (function (e, t, n) { + var r = e.getHeaderProps(e.getSortByToggleProps()), + o = Ro(n); + o && (r.style.textAlign = o); + return a.a.createElement( + "div", + Wo({ className: t }, r), + e.render("Header"), + e.isSorted && + (e.isSortedDesc + ? a.a.createElement(Y.a, { name: "caret-down" }) + : a.a.createElement(Y.a, { name: "caret-up" })) + ); + })(e, h.headerCell, n.fields[e.index]); + }) + ); + }) + ), + a.a.createElement( + lo.a, + { + height: o - p.height, + itemCount: v.length, + itemSize: h.rowHeight, + width: null !== (t = O) && void 0 !== t ? t : s, + style: { overflow: "hidden auto" }, + }, + w + ) + ) + ); + }); + function Ko(e) { + return (Ko = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Jo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Zo(e, t) { + return !t || ("object" !== Ko(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Xo(e) { + return (Xo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ei(e, t) { + return (ei = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ti = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Zo(this, Xo(t).call(this, e))).readCSV = He()(function () { + var e = n.props.config, + t = n.state.text; + n.setState({ data: Object(Pe.readCSV)(t, { config: e }) }); + }, 150)), + (n.onTextChange = function (e) { + n.setState({ text: e.target.value }); + }); + var r = e.text, + a = e.config; + return ( + (n.state = { text: r, data: Object(Pe.readCSV)(r, { config: a }) }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ei(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e, t) { + var n = this.state.text; + (n === t.text && this.props.config === e.config) || + this.readCSV(), + this.props.text !== e.text && + this.props.text !== n && + this.setState({ text: this.props.text }), + this.state.data !== t.data && + this.props.onSeriesParsed(this.state.data, this.state.text); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.width, + n = e.height, + r = this.state.data; + return a.a.createElement( + "div", + { className: "gf-table-input-csv" }, + a.a.createElement("textarea", { + style: { width: t, height: n }, + placeholder: "Enter CSV here...", + value: this.state.text, + onChange: this.onTextChange, + className: "gf-form-input", + }), + r && + a.a.createElement( + "footer", + null, + r.map(function (e, t) { + return a.a.createElement( + "span", + { key: t }, + "Rows:", + e.length, + ", Columns:", + e.fields.length, + " ", + a.a.createElement("i", { + className: "fa fa-check-circle", + }) + ); + }) + ) + ); + }, + }, + ]) && Jo(n.prototype, r), + o && Jo(n, o), + t + ); + })(a.a.PureComponent); + function ni() { + return (ni = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function ri(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function ai() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n padding: ", ";\n "]); + return ( + (ai = function () { + return e; + }), + e + ); + } + var oi = Object(i.g)(function (e) { + return { tabContent: Object(o.css)(ai(), e.spacing.sm) }; + }), + ii = function (e) { + var t = e.children, + n = e.className, + r = ri(e, ["children", "className"]), + l = Object(i.h)(), + s = oi(l); + return a.a.createElement( + "div", + ni({}, r, { className: Object(o.cx)(s.tabContent, n) }), + t + ); + }, + li = n("yP6+"); + function si(e) { + return (si = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ci(e, t) { + return !t || ("object" !== si(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ui(e, t, n) { + return (ui = + "undefined" != typeof Reflect && Reflect.get + ? Reflect.get + : function (e, t, n) { + var r = (function (e, t) { + for ( + ; + !Object.prototype.hasOwnProperty.call(e, t) && + null !== (e = fi(e)); + + ); + return e; + })(e, t); + if (r) { + var a = Object.getOwnPropertyDescriptor(r, t); + return a.get ? a.get.call(n) : a.value; + } + })(e, t, n || e); + } + function fi(e) { + return (fi = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function di(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && pi(e, t); + } + function pi(e, t) { + return (pi = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function hi(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function mi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function gi(e, t, n) { + return t && mi(e.prototype, t), n && mi(e, n), e; + } + var bi, + vi, + yi, + wi = (function () { + function e(t) { + hi(this, e), (this.props = t); + var n = t, + r = n.width, + a = n.height, + o = n.value, + i = n.alignmentFactors, + l = n.theme; + (this.valueColor = Object(Pe.getColorFromHexRgbOrName)( + o.color || "green", + l.type + )), + (this.justifyCenter = (function (e) { + var t, + n = e.value; + if (e.justifyMode === yi.Center) return !0; + return ( + 0 === (null !== (t = n.title) && void 0 !== t ? t : "").length + ); + })(t)), + (this.panelPadding = a > 100 ? 12 : 8), + (this.titleToAlignTo = i ? i.title : o.title), + (this.valueToAlignTo = Object(Pe.formattedValueToString)(i || o)), + (this.titleFontSize = 14), + (this.valueFontSize = 14), + (this.chartHeight = 0), + (this.chartWidth = 0), + (this.maxTextWidth = r - 2 * this.panelPadding), + (this.maxTextHeight = a - 2 * this.panelPadding); + } + return ( + gi(e, [ + { + key: "getTitleStyles", + value: function () { + var e = { + fontSize: "".concat(this.titleFontSize, "px"), + lineHeight: 1.2, + }; + return ( + this.props.colorMode === bi.Background && + (e.color = "white"), + e + ); + }, + }, + { + key: "getValueStyles", + value: function () { + var e = { + fontSize: this.valueFontSize, + fontWeight: 500, + lineHeight: 1.2, + }; + switch (this.props.colorMode) { + case bi.Value: + e.color = this.valueColor; + break; + case bi.Background: + e.color = "white"; + } + return e; + }, + }, + { + key: "getValueAndTitleContainerStyles", + value: function () { + var e = { display: "flex" }; + return ( + this.justifyCenter && + ((e.alignItems = "center"), + (e.justifyContent = "center"), + (e.flexGrow = 1)), + e + ); + }, + }, + { + key: "getPanelStyles", + value: function () { + var e = this.props, + t = e.width, + n = e.height, + r = e.theme, + a = e.colorMode, + o = { + width: "".concat(t, "px"), + height: "".concat(n, "px"), + padding: "".concat(this.panelPadding, "px"), + borderRadius: "3px", + position: "relative", + display: "flex", + }, + i = r.isDark ? 1 : -0.7; + switch (a) { + case bi.Background: + var l = Ue()(this.valueColor) + .darken(15 * i) + .spin(8) + .toRgbString(), + s = Ue()(this.valueColor) + .darken(5 * i) + .spin(-8) + .toRgbString(); + o.background = "linear-gradient(120deg, " + .concat(l, ", ") + .concat(s, ")"); + break; + case bi.Value: + o.background = "".concat(r.colors.panelBg); + } + return ( + this.justifyCenter && + ((o.alignItems = "center"), (o.flexDirection = "row")), + o + ); + }, + }, + { + key: "renderChart", + value: function () { + var e = this.props.sparkline; + if (!e || 0 === e.data.length) return null; + var t = e.data.map(function (e) { + return { time: e[0], value: e[1], name: "A" }; + }), + n = { + time: { type: "time", min: e.xMin, max: e.xMax }, + value: { min: e.yMin, max: e.yMax }, + }; + if (e.xMax && e.xMin) { + var r = e.xMax - e.xMin, + o = t[t.length - 1].time || 0; + Math.abs(e.xMax - o) / r < 0.05 && (n.time.max = o); + } + return a.a.createElement( + li.Chart, + { + height: this.chartHeight, + width: this.chartWidth, + data: t, + animate: !1, + padding: [4, 0, 0, 0], + scale: n, + style: this.getChartStyles(), + }, + this.renderGeom() + ); + }, + }, + { + key: "renderGeom", + value: function () { + var e, + t, + n = { opacity: 1, fillOpacity: 1, lineWidth: 2 }; + switch (this.props.colorMode) { + case bi.Value: + (t = this.valueColor), + (e = Ue()(this.valueColor).setAlpha(0.2).toRgbString()); + break; + case bi.Background: + (e = "rgba(255,255,255,0.4)"), + (t = Ue()(this.valueColor).brighten(40).toRgbString()); + } + return ( + (n.stroke = t), + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(li.Geom, { + type: "area", + position: "time*value", + size: 0, + color: e, + style: n, + shape: "smooth", + }), + a.a.createElement(li.Geom, { + type: "line", + position: "time*value", + size: 1, + color: t, + style: n, + shape: "smooth", + }) + ) + ); + }, + }, + { + key: "getChartStyles", + value: function () { + return { position: "absolute", right: 0, bottom: 0 }; + }, + }, + ]), + e + ); + })(), + Oi = (function (e) { + function t(e) { + var n; + hi(this, t); + return ( + (n = ci(this, fi(t).call(this, e))).titleToAlignTo && + n.titleToAlignTo.length > 0 + ? ((n.valueFontSize = Object(ho.a)( + n.valueToAlignTo, + 0.3 * n.maxTextWidth, + n.maxTextHeight, + 1.2 + )), + (n.titleFontSize = Object(ho.a)( + n.titleToAlignTo, + 0.6 * n.maxTextWidth, + n.maxTextHeight, + 1.2, + 30 + )), + (n.titleFontSize = Math.min( + 0.7 * n.valueFontSize, + n.titleFontSize + ))) + : (n.valueFontSize = Object(ho.a)( + n.valueToAlignTo, + n.maxTextWidth, + n.maxTextHeight, + 1.2 + )), + n + ); + } + return ( + di(t, e), + gi(t, [ + { + key: "getValueAndTitleContainerStyles", + value: function () { + var e = ui( + fi(t.prototype), + "getValueAndTitleContainerStyles", + this + ).call(this); + return ( + (e.flexDirection = "row"), + (e.alignItems = "center"), + (e.flexGrow = 1), + this.justifyCenter || (e.justifyContent = "space-between"), + e + ); + }, + }, + { + key: "renderChart", + value: function () { + return null; + }, + }, + { + key: "getPanelStyles", + value: function () { + var e = ui(fi(t.prototype), "getPanelStyles", this).call( + this + ); + return (e.alignItems = "center"), e; + }, + }, + ]), + t + ); + })(wi), + xi = (function (e) { + function t(e) { + var n; + hi(this, t), (n = ci(this, fi(t).call(this, e))); + var r = e.width, + a = e.height; + return ( + (n.chartWidth = r), + (n.chartHeight = 0.5 * a), + n.titleToAlignTo && + n.titleToAlignTo.length > 0 && + (n.titleFontSize = Object(ho.a)( + n.titleToAlignTo, + 0.6 * n.maxTextWidth, + 0.4 * n.maxTextHeight, + 1.2, + 30 + )), + (n.valueFontSize = Object(ho.a)( + n.valueToAlignTo, + 0.4 * n.maxTextWidth, + 0.5 * n.maxTextHeight, + 1.2 + )), + n + ); + } + return ( + di(t, e), + gi(t, [ + { + key: "getValueAndTitleContainerStyles", + value: function () { + var e = ui( + fi(t.prototype), + "getValueAndTitleContainerStyles", + this + ).call(this); + return ( + (e.flexDirection = "row"), + (e.flexGrow = 1), + this.justifyCenter || (e.justifyContent = "space-between"), + e + ); + }, + }, + { + key: "getPanelStyles", + value: function () { + var e = ui(fi(t.prototype), "getPanelStyles", this).call( + this + ); + return ( + (e.flexDirection = "row"), + (e.justifyContent = "space-between"), + e + ); + }, + }, + ]), + t + ); + })(wi), + ki = (function (e) { + function t(e) { + var n; + hi(this, t), (n = ci(this, fi(t).call(this, e))); + var r = e.width, + a = e.height, + o = 0; + return ( + (n.chartHeight = 0.25 * a), + (n.chartWidth = r), + n.titleToAlignTo && + n.titleToAlignTo.length > 0 && + ((n.titleFontSize = Object(ho.a)( + n.titleToAlignTo, + n.maxTextWidth, + 0.15 * a, + 1.2, + 30 + )), + (o = 1.2 * n.titleFontSize)), + (n.valueFontSize = Object(ho.a)( + n.valueToAlignTo, + n.maxTextWidth, + n.maxTextHeight - n.chartHeight - o, + 1.2 + )), + (n.titleFontSize = Math.min( + 0.7 * n.valueFontSize, + n.titleFontSize + )), + (n.chartHeight = + a - 1.2 * n.titleFontSize - 1.2 * n.valueFontSize), + n + ); + } + return ( + di(t, e), + gi(t, [ + { + key: "getValueAndTitleContainerStyles", + value: function () { + var e = ui( + fi(t.prototype), + "getValueAndTitleContainerStyles", + this + ).call(this); + return ( + (e.flexDirection = "column"), + (e.justifyContent = "center"), + e + ); + }, + }, + { + key: "getPanelStyles", + value: function () { + var e = ui(fi(t.prototype), "getPanelStyles", this).call( + this + ); + return (e.flexDirection = "column"), e; + }, + }, + ]), + t + ); + })(wi), + ji = (function (e) { + function t(e) { + var n; + hi(this, t), (n = ci(this, fi(t).call(this, e))); + var r = e.height, + a = 0; + return ( + n.titleToAlignTo && + n.titleToAlignTo.length > 0 && + ((n.titleFontSize = Object(ho.a)( + n.titleToAlignTo, + n.maxTextWidth, + 0.15 * r, + 1.2, + 30 + )), + (a = 1.2 * n.titleFontSize)), + (n.valueFontSize = Object(ho.a)( + n.valueToAlignTo, + n.maxTextWidth, + n.maxTextHeight - a, + 1.2 + )), + (n.titleFontSize = Math.min( + 0.7 * n.valueFontSize, + n.titleFontSize + )), + n + ); + } + return ( + di(t, e), + gi(t, [ + { + key: "getValueAndTitleContainerStyles", + value: function () { + var e = ui( + fi(t.prototype), + "getValueAndTitleContainerStyles", + this + ).call(this); + return (e.flexDirection = "column"), (e.flexGrow = 1), e; + }, + }, + { + key: "getPanelStyles", + value: function () { + var e = ui(fi(t.prototype), "getPanelStyles", this).call( + this + ); + return (e.alignItems = "center"), e; + }, + }, + ]), + t + ); + })(wi); + function Si(e) { + return (Si = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ei(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ci(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Pi(e, t) { + return !t || ("object" !== Si(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ti(e) { + return (Ti = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Di(e, t) { + return (Di = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e.Value = "value"), (e.Background = "background"); + })(bi || (bi = {})), + (function (e) { + (e.None = "none"), (e.Line = "line"), (e.Area = "area"); + })(vi || (vi = {})), + (function (e) { + (e.Auto = "auto"), (e.Center = "center"); + })(yi || (yi = {})); + var Ai = (function (e) { + function t() { + return Ei(this, t), Pi(this, Ti(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Di(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t, + n, + r, + o = this.props, + i = o.value, + l = o.onClick, + s = o.className, + c = + ((e = this.props), + (t = e.width), + (n = e.height), + (r = e.sparkline), + t / n > 2.5 + ? n > 50 && r + ? new xi(e) + : new Oi(e) + : n > 100 && r + ? new ki(e) + : new ji(e)), + u = c.getPanelStyles(), + f = c.getValueAndTitleContainerStyles(), + d = c.getValueStyles(), + p = c.getTitleStyles(); + return a.a.createElement( + "div", + { className: s, style: u, onClick: l }, + a.a.createElement( + "div", + { style: f }, + i.title && a.a.createElement("div", { style: p }, i.title), + a.a.createElement(po, { value: i, style: d }) + ), + c.renderChart() + ); + }, + }, + ]) && Ci(n.prototype, r), + o && Ci(n, o), + t + ); + })(r.PureComponent); + Ai.defaultProps = { justifyMode: yi.Auto }; + var _i = n("+2Rf"), + Ni = n.n(_i); + function Mi(e) { + return (Mi = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ii(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ri(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Fi(e, t) { + return !t || ("object" !== Mi(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Li(e) { + return (Li = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Vi(e, t) { + return (Vi = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Bi = (function (e) { + function t() { + var e, n; + Ii(this, t); + for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) + o[i] = arguments[i]; + return ( + ((n = Fi( + this, + (e = Li(t)).call.apply(e, [this].concat(o)) + )).renderVisualization = function () { + var e = n.props, + t = e.width, + r = e.value, + o = e.height, + i = e.onClick, + l = $i(t, o, r.title); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("div", { + style: { + height: "".concat(l.gaugeHeight, "px"), + width: "100%", + }, + ref: function (e) { + return (n.canvasElement = e); + }, + onClick: i, + }), + l.showLabel && + a.a.createElement( + "div", + { + style: { + textAlign: "center", + fontSize: l.titleFontSize, + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + position: "relative", + width: "100%", + top: "-4px", + cursor: "default", + }, + }, + r.title + ) + ); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Vi(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.draw(); + }, + }, + { + key: "componentDidUpdate", + value: function () { + this.draw(); + }, + }, + { + key: "getFormattedThresholds", + value: function () { + var e, + n, + r = this.props, + a = r.field, + o = r.theme, + i = + null !== (e = a.thresholds) && void 0 !== e + ? e + : null === (n = t.defaultProps.field) || void 0 === n + ? void 0 + : n.thresholds, + l = i.mode === Pe.ThresholdsMode.Percentage, + s = i.steps, + c = a.min, + u = a.max; + l && ((c = 0), (u = 100)); + var f = Object(Pe.getActiveThreshold)(c, s), + d = Object(Pe.getActiveThreshold)(u, s), + p = []; + p.push({ + value: c, + color: Object(Pe.getColorFromHexRgbOrName)(f.color, o.type), + }); + for (var h = !0, m = 0; m < s.length; m++) { + var g = s[m]; + if (h) f === g && (h = !1); + else { + var b = s[m - 1]; + if ( + (p.push({ + value: g.value, + color: Object(Pe.getColorFromHexRgbOrName)( + b.color, + o.type + ), + }), + g === d) + ) + break; + } + } + return ( + p.push({ + value: u, + color: Object(Pe.getColorFromHexRgbOrName)(d.color, o.type), + }), + p + ); + }, + }, + { + key: "getFontScale", + value: function (e) { + return e > 12 ? 1 - (5 * e) / 110 : 1 - (5 * e) / 101; + }, + }, + { + key: "draw", + value: function () { + var e, + t = this.props, + n = t.field, + r = t.showThresholdLabels, + a = t.showThresholdMarkers, + o = t.width, + l = t.height, + s = t.theme, + c = t.value, + u = $i(o, l, c.title), + f = Math.min(o, u.gaugeHeight), + d = Object(i.e)( + { dark: s.colors.dark8, light: s.colors.gray6 }, + s.type + ), + p = r ? 1.5 : 1, + h = Math.min(f / 5.5, 40) / p, + m = h / 5, + g = Object(Pe.formattedValueToString)(c), + b = + Math.min(f / 4, 100) * + (null !== g ? this.getFontScale(g.length) : 1), + v = b / 2.5, + y = n.min, + w = n.max, + O = c.numeric; + (null === (e = n.thresholds) || void 0 === e + ? void 0 + : e.mode) === Pe.ThresholdsMode.Percentage && + ((y = 0), + (w = 100), + (O = + void 0 === c.percent + ? ((O - y) / (w - y)) * 100 + : 100 * c.percent)); + var x = { + series: { + gauges: { + gauge: { + min: y, + max: w, + background: { color: d }, + border: { color: null }, + shadow: { show: !1 }, + width: h, + }, + frame: { show: !1 }, + label: { show: !1 }, + layout: { margin: 0, thresholdWidth: 0, vMargin: 0 }, + cell: { border: { width: 0 } }, + threshold: { + values: this.getFormattedThresholds(), + label: { show: r, margin: m + 1, font: { size: v } }, + show: a, + width: m, + }, + value: { + color: c.color, + formatter: function () { + return g; + }, + font: { + size: b, + family: s.typography.fontFamily.sansSerif, + }, + }, + show: !0, + }, + }, + }, + k = { data: [[0, O]], label: c.title }; + try { + Ni.a.plot(this.canvasElement, [k], x); + } catch (e) { + console.log("Gauge rendering error", e, x, c); + } + }, + }, + { + key: "render", + value: function () { + return a.a.createElement( + "div", + { + style: { + width: "100%", + height: "100%", + display: "flex", + flexDirection: "column", + justifyContent: "center", + overflow: "hidden", + }, + className: this.props.className, + }, + this.renderVisualization() + ); + }, + }, + ]) && Ri(n.prototype, r), + o && Ri(n, o), + t + ); + })(r.PureComponent); + function $i(e, t, n) { + var r = null != n, + a = Math.min((0.15 * e) / 1.5, 20), + o = r ? t - 1.5 * a : t; + return { showLabel: r, gaugeHeight: Math.min(o, e), titleFontSize: a }; + } + Bi.defaultProps = { + showThresholdMarkers: !0, + showThresholdLabels: !1, + field: { + min: 0, + max: 100, + thresholds: { + mode: Pe.ThresholdsMode.Absolute, + steps: [ + { value: -1 / 0, color: "green" }, + { value: 80, color: "red" }, + ], + }, + }, + }; + var qi = n("qPyV"), + Ui = n.n(qi), + zi = n("nwiq"), + Hi = n("pW3x"), + Gi = n.n(Hi); + function Wi(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Qi() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n overflow: hidden;\n background: ", + ";\n /* max-width is set up based on .grafana-tooltip class that's used in dashboard */\n max-width: 800px;\n padding: ", + ";\n border-radius: ", + ";\n z-index: ", + ";\n ", + ]); + return ( + (Qi = function () { + return e; + }), + e + ); + } + var Yi = Object(jr.a)(function (e) { + var t = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.dark1 }, + e.type + ); + return { + wrapper: Object(o.css)( + Qi(), + t, + e.spacing.sm, + e.border.radius.sm, + e.zIndex.tooltip + ), + }; + }), + Ki = function (e) { + var t = e.position, + n = e.offset, + o = e.children, + i = Object(Bt.c)(), + l = Object(r.useRef)(null), + s = Gi()(), + c = s.width, + u = s.height, + f = Wi(Object(r.useState)({ x: t.x + n.x, y: t.y + n.y }), 2), + d = f[0], + p = f[1]; + Object(r.useLayoutEffect)( + function () { + var e = 0, + r = 0; + if (l && l.current) { + var a = l.current.getBoundingClientRect(), + o = c - (t.x + a.width), + i = u - (t.y + a.height); + o < 0 && (e = a.width + n.x), i < 0 && (r = a.height + n.y); + } + p({ x: t.x - e, y: t.y - r }); + }, + [l, t] + ); + var h = Yi(i); + return a.a.createElement( + "div", + { + ref: l, + style: { + position: "fixed", + left: 0, + top: 0, + transform: "translate3d(" + .concat(d.x, "px, ") + .concat(d.y, "px, 0)"), + }, + className: h.wrapper, + }, + o + ); + }; + function Ji() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n width: 100%;\n height: 100%;\n ", + ]); + return ( + (Ji = function () { + return e; + }), + e + ); + } + Ki.displayName = "TooltipContainer"; + var Zi = function (e) { + var t = e.content, + n = e.position, + r = e.offset; + return n + ? a.a.createElement( + A.a, + { className: Object(o.css)(Ji()) }, + a.a.createElement( + Ki, + { position: n, offset: r || { x: 0, y: 0 } }, + t + ) + ) + : null; + }; + Zi.displayName = "ChartTooltip"; + var Xi = function (e) { + var t = e.color, + n = e.className; + return a.a.createElement("i", { + className: Object(o.cx)("fa", "fa-minus", n), + style: { color: t }, + }); + }; + function el() { + var e = sl([ + "\n font-weight: ", + ";\n font-size: ", + ";\n ", + ]); + return ( + (el = function () { + return e; + }), + e + ); + } + function tl() { + var e = sl(["\n font-weight: ", ";\n "]); + return ( + (tl = function () { + return e; + }), + e + ); + } + function nl() { + var e = sl(["\n padding-left: ", ";\n "]); + return ( + (nl = function () { + return e; + }), + e + ); + } + function rl() { + var e = sl(["\n word-break: break-all;\n "]); + return ( + (rl = function () { + return e; + }), + e + ); + } + function al() { + var e = sl(["\n display: table-cell;\n "]); + return ( + (al = function () { + return e; + }), + e + ); + } + function ol() { + var e = sl([ + "\n display: table-row;\n font-size: ", + ";\n ", + ]); + return ( + (ol = function () { + return e; + }), + e + ); + } + function il() { + var e = sl(["\n display: table;\n "]); + return ( + (il = function () { + return e; + }), + e + ); + } + function ll() { + var e = sl(["\n margin-right: ", ";\n "]); + return ( + (ll = function () { + return e; + }), + e + ); + } + function sl(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + Xi.displayName = "SeriesIcon"; + var cl = Object(jr.a)(function (e) { + return { + icon: Object(o.css)(ll(), e.spacing.xs), + seriesTable: Object(o.css)(il()), + seriesTableRow: Object(o.css)(ol(), e.typography.size.sm), + seriesTableCell: Object(o.css)(al()), + label: Object(o.css)(rl()), + value: Object(o.css)(nl(), e.spacing.md), + activeSeries: Object(o.css)(tl(), e.typography.weight.bold), + timestamp: Object(o.css)( + el(), + e.typography.weight.bold, + e.typography.size.sm + ), + }; + }), + ul = function (e) { + var t = e.color, + n = e.label, + r = e.value, + l = e.isActive, + s = Object(i.h)(), + c = cl(s); + return a.a.createElement( + "div", + { className: Object(o.cx)(c.seriesTableRow, l && c.activeSeries) }, + t && + a.a.createElement( + "div", + { className: c.seriesTableCell }, + a.a.createElement(Xi, { color: t, className: c.icon }) + ), + a.a.createElement( + "div", + { className: Object(o.cx)(c.seriesTableCell, c.label) }, + n + ), + a.a.createElement( + "div", + { className: Object(o.cx)(c.seriesTableCell, c.value) }, + r + ) + ); + }, + fl = function (e) { + var t = e.timestamp, + n = e.series, + r = Object(i.h)(), + o = cl(r); + return a.a.createElement( + a.a.Fragment, + null, + t && + a.a.createElement( + "div", + { className: o.timestamp, "aria-label": "Timestamp" }, + t + ), + n.map(function (e) { + return a.a.createElement(ul, { + isActive: e.isActive, + label: e.label, + color: e.color, + value: e.value, + key: e.label, + }); + }) + ); + }, + dl = function (e) { + var t, + n = e.dimensions, + r = e.activeDimensions; + if ( + null === r.yAxis || + void 0 === r.yAxis[1] || + null === r.xAxis || + void 0 === r.xAxis[1] + ) + return null; + var o = Object(Pe.getValueFromDimension)( + n.xAxis, + r.xAxis[0], + r.xAxis[1] + ), + i = Object(Pe.getColumnFromDimension)(n.xAxis, r.xAxis[0]), + l = i.display ? Object(Pe.formattedValueToString)(i.display(o)) : o, + s = Object(Pe.getColumnFromDimension)(n.yAxis, r.yAxis[0]), + c = Object(Pe.getValueFromDimension)( + n.yAxis, + r.yAxis[0], + r.yAxis[1] + ), + u = (null !== (t = s.display) && void 0 !== t + ? t + : Object(Pe.getDisplayProcessor)({ field: s }))(c); + return a.a.createElement(fl, { + series: [ + { + color: u.color, + label: s.name, + value: Object(Pe.formattedValueToString)(u), + }, + ], + timestamp: l, + }); + }; + dl.displayName = "SingleModeGraphTooltip"; + var pl = function (e, t) { + for (var n, r = 0, a = e.values.length - 1; ; ) { + if (r > a) return Math.max(a, 0); + n = Math.floor((r + a) / 2); + var o = e.values.get(n); + if (o === t) return n; + o && o < t ? (r = n + 1) : (a = n - 1); + } + }, + hl = function (e) { + var t = e.dimensions, + n = e.activeDimensions, + r = e.pos, + o = null; + if (null === n.xAxis) return null; + n.yAxis && (o = n.yAxis[0]); + var i = n.xAxis[1] + ? Object(Pe.getValueFromDimension)( + t.xAxis, + n.xAxis[0], + n.xAxis[1] + ) + : r.x, + l = (function (e, t, n) { + var r, + a, + o, + i, + l, + s, + c, + u = []; + for (r = 0; r < e.length; r++) { + var f; + a = e[r]; + var d = t[r]; + (o = pl(d, n)), + (i = n - d.values.get(o)), + (l = d.values.get(o)), + (void 0 === s || + (i >= 0 && (i < s || s < 0)) || + (i < 0 && i > s)) && + ((s = i), + (c = d.display + ? Object(Pe.formattedValueToString)(d.display(l)) + : l)); + var p = (null !== (f = a.display) && void 0 !== f + ? f + : Object(Pe.getDisplayProcessor)({ field: a }))( + a.values.get(o) + ); + u.push({ + value: Object(Pe.formattedValueToString)(p), + datapointIndex: o, + seriesIndex: r, + color: p.color, + label: a.name, + time: d.display + ? Object(Pe.formattedValueToString)(d.display(l)) + : l, + }); + } + return { results: u, time: c }; + })(t.yAxis.columns, t.xAxis.columns, i), + s = l.time, + c = l.results.map(function (e, t) { + return { + color: e.color, + label: e.label, + value: e.value, + isActive: o === t, + }; + }); + return a.a.createElement(fl, { series: c, timestamp: s }); + }; + hl.displayName = "MultiModeGraphTooltip"; + var ml = function (e) { + var t = e.mode, + n = void 0 === t ? "single" : t, + r = e.dimensions, + o = e.activeDimensions, + i = e.pos; + return o && o.xAxis + ? "single" === n + ? a.a.createElement(dl, { dimensions: r, activeDimensions: o }) + : a.a.createElement(hl, { + dimensions: r, + activeDimensions: o, + pos: i, + }) + : null; + }; + ml.displayName = "GraphTooltip"; + var gl = n("tm4R"), + bl = n.n(gl); + function vl(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function yl() { + var e = Sl([ + "\n opacity: 0.7;\n width: 12px;\n height: 12px;\n display: inline-block;\n margin-right: 10px;\n color: ", + ";\n position: relative;\n top: 4px;\n ", + ]); + return ( + (yl = function () { + return e; + }), + e + ); + } + function wl() { + var e = Sl([ + "\n color: ", + ";\n font-size: ", + ";\n line-height: ", + ";\n padding: ", + " ", + ";\n ", + ]); + return ( + (wl = function () { + return e; + }), + e + ); + } + function Ol() { + var e = Sl([ + "\n background: none;\n padding: 4px 8px;\n color: ", + ";\n border-left: 2px solid transparent;\n cursor: pointer;\n &:hover {\n background: ", + ";\n border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n border-image-slice: 1;\n }\n ", + ]); + return ( + (Ol = function () { + return e; + }), + e + ); + } + function xl() { + var e = Sl([ + "\n color: ", + ";\n display: flex;\n cursor: pointer;\n &:hover {\n color: ", + ";\n text-decoration: none;\n }\n ", + ]); + return ( + (xl = function () { + return e; + }), + e + ); + } + function kl() { + var e = Sl([ + "\n background: ", + ";\n z-index: 1;\n box-shadow: 0 2px 5px 0 ", + ";\n min-width: 200px;\n display: inline-block;\n border-radius: ", + ";\n ", + ]); + return ( + (kl = function () { + return e; + }), + e + ); + } + function jl() { + var e = Sl([ + "\n padding: 4px;\n border-bottom: 1px solid ", + ";\n background: ", + ";\n margin-bottom: ", + ";\n border-radius: ", + " ", + " 0 0;\n ", + ]); + return ( + (jl = function () { + return e; + }), + e + ); + } + function Sl(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var El = Object(jr.a)(function (e) { + var t = Object(hr.selectThemeVariant)( + { light: e.colors.dark2, dark: e.colors.text }, + e.type + ), + n = Object(hr.selectThemeVariant)( + { light: e.colors.link, dark: e.colors.white }, + e.type + ), + r = Object(hr.selectThemeVariant)( + { light: e.colors.gray7, dark: e.colors.dark2 }, + e.type + ), + a = Object(hr.selectThemeVariant)( + { light: e.colors.gray3, dark: e.colors.black }, + e.type + ), + i = Object(hr.selectThemeVariant)( + { light: e.colors.black, dark: e.colors.white }, + e.type + ), + l = Object(hr.selectThemeVariant)( + { light: e.colors.gray1, dark: e.colors.textWeak }, + e.type + ), + s = Object(hr.selectThemeVariant)( + { light: e.colors.gray5, dark: e.colors.dark7 }, + e.type + ), + c = Object(hr.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.dark1 }, + e.type + ), + u = Object(hr.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.dark7 }, + e.type + ); + return { + header: Object(o.css)( + jl(), + u, + c, + e.spacing.xs, + e.border.radius.sm, + e.border.radius.sm + ), + wrapper: Object(o.css)(kl(), r, a, e.border.radius.sm), + link: Object(o.css)(xl(), t, n), + item: Object(o.css)(Ol(), i, s), + groupLabel: Object(o.css)( + wl(), + l, + e.typography.size.sm, + e.typography.lineHeight.md, + e.spacing.xs, + e.spacing.sm + ), + icon: Object(o.css)(yl(), e.colors.linkDisabled), + }; + }), + Cl = a.a.memo(function (e) { + var t = e.x, + n = e.y, + o = e.onClose, + i = e.items, + l = e.renderHeader, + s = Object(r.useContext)(hr.ThemeContext), + c = Object(r.useRef)(null), + u = vl(Object(r.useState)({}), 2), + f = u[0], + d = u[1]; + Object(r.useLayoutEffect)( + function () { + var e = c.current; + if (e) { + var r = e.getBoundingClientRect(), + a = { + right: window.innerWidth < t + r.width, + bottom: window.innerHeight < r.bottom + r.height + 5, + }; + d({ + position: "fixed", + left: a.right ? t - r.width - 5 : t - 5, + top: a.bottom ? n - r.height - 5 : n + 5, + }); + } + }, + [c.current] + ), + bl()(c, function () { + o && o(); + }); + var p = El(s), + h = l && l(); + return a.a.createElement( + A.a, + null, + a.a.createElement( + "div", + { ref: c, style: f, className: p.wrapper }, + h && a.a.createElement("div", { className: p.header }, h), + a.a.createElement(kr.a, { + items: i || [], + renderItem: function (e, t) { + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(Tl, { group: e, onClick: o }) + ); + }, + }) + ) + ); + }), + Pl = a.a.memo(function (e) { + var t = e.url, + n = e.icon, + i = e.label, + l = e.target, + s = e.onClick, + c = e.className, + u = Object(r.useContext)(hr.ThemeContext), + f = El(u); + return a.a.createElement( + "div", + { className: f.item }, + a.a.createElement( + "a", + { + href: t || void 0, + target: l || "_self", + className: Object(o.cx)(c, f.link), + onClick: function (e) { + s && s(e); + }, + }, + n && + a.a.createElement("i", { + className: Object(o.cx)("".concat(n), f.icon), + }), + " ", + i + ) + ); + }), + Tl = function (e) { + var t = e.group, + n = e.onClick, + o = Object(r.useContext)(hr.ThemeContext), + i = El(o); + return 0 === t.items.length + ? null + : a.a.createElement( + "div", + null, + t.label && + a.a.createElement( + "div", + { className: i.groupLabel }, + t.label + ), + a.a.createElement(kr.a, { + items: t.items || [], + renderItem: function (e) { + return a.a.createElement(Pl, { + url: e.url, + label: e.label, + target: e.target, + icon: e.icon, + onClick: function (t) { + e.onClick && e.onClick(t), n && n(); + }, + }); + }, + }) + ); + }; + function Dl() { + return (Dl = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Al() { + var e = Ml([ + "\n white-space: nowrap;\n padding-left: ", + ";\n ", + ]); + return ( + (Al = function () { + return e; + }), + e + ); + } + function _l() { + var e = Ml([ + "\n white-space: nowrap;\n padding-left: ", + ";\n ", + ]); + return ( + (_l = function () { + return e; + }), + e + ); + } + function Nl() { + var e = Ml([ + "\n padding: ", + " ", + ";\n font-size: ", + ";\n z-index: ", + ";\n ", + ]); + return ( + (Nl = function () { + return e; + }), + e + ); + } + function Ml(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function Il(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Rl(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Fl(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + Cl.displayName = "ContextMenu"; + var Ll = function (e) { + var t = e.getContextMenuSource, + n = e.formatSourceDate, + l = e.items, + s = e.dimensions, + c = e.contextDimensions, + u = Fl(e, [ + "getContextMenuSource", + "formatSourceDate", + "items", + "dimensions", + "contextDimensions", + ]), + f = Object(r.useContext)(i.a), + d = t(), + p = l + ? l.map(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Il(Object(n), !0).forEach(function (t) { + Rl(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Il(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { + items: e.items.filter(function (e) { + return e.label; + }), + }); + }) + : []; + return a.a.createElement( + Cl, + Dl({}, u, { + items: p, + renderHeader: function () { + var e, t; + if (!d) return null; + if ( + (null == s ? void 0 : s.yAxis) && + (null == c + ? void 0 + : null === (e = c.yAxis) || void 0 === e + ? void 0 + : e[1]) + ) { + var r, + i = Object(Pe.getValueFromDimension)( + s.yAxis, + c.yAxis[0], + c.yAxis[1] + ); + t = (null !== (r = d.series.valueField.display) && void 0 !== r + ? r + : Object(Pe.getDisplayProcessor)({ + field: d.series.valueField, + }))(i); + } + var l = d.series.hasMsResolution + ? Pe.MS_DATE_TIME_FORMAT + : Pe.DEFAULT_DATE_TIME_FORMAT; + return a.a.createElement( + "div", + { + className: Object(o.css)( + Nl(), + f.spacing.xs, + f.spacing.sm, + f.typography.size.sm, + f.zIndex.tooltip + ), + }, + a.a.createElement("strong", null, n(d.datapoint[0], l)), + a.a.createElement( + "div", + null, + a.a.createElement(Xi, { color: d.series.color }), + a.a.createElement( + "span", + { className: Object(o.css)(_l(), f.spacing.xs) }, + d.series.alias || d.series.label + ), + t && + a.a.createElement( + "span", + { className: Object(o.css)(Al(), f.spacing.md) }, + Object(Pe.formattedValueToString)(t) + ) + ) + ); + }, + }) + ); + }; + function Vl(e) { + return (Vl = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Bl(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function $l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ql(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? $l(Object(n), !0).forEach(function (t) { + Ul(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : $l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Ul(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function zl(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Hl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Gl(e, t) { + return !t || ("object" !== Vl(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Wl(e) { + return (Wl = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ql(e, t) { + return (Ql = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Yl = (function (e) { + function t() { + var e, n; + zl(this, t); + for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) + o[i] = arguments[i]; + return ( + ((n = Gl( + this, + (e = Wl(t)).call.apply(e, [this].concat(o)) + )).state = { isTooltipVisible: !1, isContextVisible: !1 }), + (n.element = null), + (n.onPlotSelected = function (e, t) { + var r = n.props.onHorizontalRegionSelected; + r && r(t.xaxis.from, t.xaxis.to); + }), + (n.onPlotHover = function (e, t, r) { + n.setState({ isTooltipVisible: !0, activeItem: r, pos: t }); + }), + (n.onPlotClick = function (e, t, r) { + n.setState({ + isContextVisible: !0, + isTooltipVisible: !1, + contextItem: r, + contextPos: t, + }); + }), + (n.renderTooltip = function () { + var e = n.props, + t = e.children, + r = e.series, + o = n.state, + i = o.pos, + l = o.activeItem, + s = o.isTooltipVisible, + c = null; + if (!s || !i || 0 === r.length) return null; + if ( + (a.a.Children.forEach(t, function (e) { + c || + ((e && e.type && (e.type.displayName || e.type.name)) === + Zi.displayName && + (c = e)); + }), + !c) + ) + return null; + var u = c.props, + f = u.mode || "single"; + if (!l && "single" === f) return null; + var d = u.tooltipComponent || ml, + p = { + xAxis: [ + l ? l.series.seriesIndex : 0, + l ? l.dataIndex : void 0, + ], + yAxis: l ? [l.series.seriesIndex, l.dataIndex] : null, + }, + h = { + dimensions: { + xAxis: Object(Pe.createDimension)( + "xAxis", + r.map(function (e) { + return e.timeField; + }) + ), + yAxis: Object(Pe.createDimension)( + "yAxis", + r.map(function (e) { + return e.valueField; + }) + ), + }, + activeDimensions: p, + pos: i, + mode: u.mode || "single", + }, + m = a.a.createElement(d, ql({}, h)); + return a.a.cloneElement(c, { + content: m, + position: { x: i.pageX, y: i.pageY }, + offset: { x: 10, y: 10 }, + }); + }), + (n.renderContextMenu = function () { + var e = n.props.series, + t = n.state, + r = t.contextPos, + o = t.contextItem; + if (!t.isContextVisible || !r || !o || 0 === e.length) + return null; + var i = { + xAxis: [ + o ? o.series.seriesIndex : 0, + o ? o.dataIndex : void 0, + ], + yAxis: o ? [o.series.seriesIndex, o.dataIndex] : null, + }, + l = { + xAxis: Object(Pe.createDimension)( + "xAxis", + e.map(function (e) { + return e.timeField; + }) + ), + yAxis: Object(Pe.createDimension)( + "yAxis", + e.map(function (e) { + return e.valueField; + }) + ), + }, + s = { + x: r.pageX, + y: r.pageY, + onClose: function () { + return n.setState({ isContextVisible: !1 }); + }, + getContextMenuSource: function () { + return { + datapoint: o.datapoint, + dataIndex: o.dataIndex, + series: o.series, + seriesIndex: o.series.seriesIndex, + pageX: r.pageX, + pageY: r.pageY, + }; + }, + formatSourceDate: function (e, t) { + var n; + return null === (n = Object(Pe.dateTime)(e)) || void 0 === n + ? void 0 + : n.format(t); + }, + dimensions: l, + contextDimensions: i, + }; + return a.a.createElement(Ll, s); + }), + (n.getBarWidth = function () { + var e = n.props.series; + return Math.min.apply( + Math, + Bl( + e.map(function (e) { + return e.timeStep; + }) + ) + ); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ql(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e, t) { + e !== this.props && this.draw(); + }, + }, + { + key: "componentDidMount", + value: function () { + this.draw(), + this.element && + ((this.$element = Ni()(this.element)), + this.$element.bind("plotselected", this.onPlotSelected), + this.$element.bind("plothover", this.onPlotHover), + this.$element.bind("plotclick", this.onPlotClick)); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.$element.unbind("plotselected", this.onPlotSelected); + }, + }, + { + key: "getYAxes", + value: function (e) { + return 0 === e.length + ? [{ show: !0, min: -1, max: 1 }] + : Ui()( + e.map(function (e) { + var t = e.yAxis ? e.yAxis.index : 1; + return { + show: !0, + index: t, + position: 1 === t ? "left" : "right", + min: + e.yAxis && !isNaN(e.yAxis.min) ? e.yAxis.min : null, + tickDecimals: + e.yAxis && !isNaN(e.yAxis.tickDecimals) + ? e.yAxis.tickDecimals + : null, + }; + }), + function (e) { + return e.index; + } + ); + }, + }, + { + key: "draw", + value: function () { + if (null !== this.element) { + var e = this.props, + t = e.width, + n = e.series, + r = e.timeRange, + a = e.showLines, + o = e.showBars, + i = e.showPoints, + l = e.isStacked, + s = e.lineWidth, + c = e.timeZone, + u = e.onHorizontalRegionSelected; + if (t) { + var f = t / 100, + d = r.from.valueOf(), + p = r.to.valueOf(), + h = this.getYAxes(n), + m = { + legend: { show: !1 }, + series: { + stack: l, + lines: { show: a, linewidth: s, zero: !1 }, + points: { + show: i, + fill: 1, + fillColor: !1, + radius: 2, + }, + bars: { + show: o, + fill: 1, + barWidth: o ? this.getBarWidth() / 1.5 : 1, + zero: !1, + lineWidth: s, + }, + shadowSize: 0, + }, + xaxis: { + show: !0, + mode: "time", + min: d, + max: p, + label: "Datetime", + ticks: f, + timezone: c || Pe.DefaultTimeZone, + timeformat: Object(zi.grafanaTimeFormat)(f, d, p), + }, + yaxes: h, + grid: { + minBorderMargin: 0, + markings: [], + backgroundColor: null, + borderWidth: 0, + hoverable: !0, + clickable: !0, + color: "#a1a1a1", + margin: { left: 0, right: 0 }, + labelMarginX: 0, + mouseActiveRadius: 30, + }, + selection: { mode: u ? "x" : null, color: "#666" }, + crosshair: { mode: "x" }, + }; + try { + Ni.a.plot( + this.element, + n.filter(function (e) { + return e.isVisible; + }), + m + ); + } catch (e) { + throw ( + (console.log("Graph rendering error", e, m, n), + new Error("Error rendering panel")) + ); + } + } + } + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.height, + r = t.width, + o = 0 === t.series.length, + i = this.renderTooltip(), + l = this.renderContextMenu(); + return a.a.createElement( + "div", + { className: "graph-panel" }, + a.a.createElement("div", { + className: "graph-panel__chart", + ref: function (t) { + return (e.element = t); + }, + style: { height: n, width: r }, + onMouseLeave: function () { + e.setState({ isTooltipVisible: !1 }); + }, + }), + o && + a.a.createElement( + "div", + { className: "datapoints-warning" }, + "No data" + ), + i, + l + ); + }, + }, + ]) && Hl(n.prototype, r), + o && Hl(n, o), + t + ); + })(r.PureComponent); + Yl.defaultProps = { + showLines: !0, + showPoints: !1, + showBars: !1, + isStacked: !1, + lineWidth: 1, + }; + var Kl = n("yqtr"); + function Jl() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n cursor: default;\n "]); + return ( + (Jl = function () { + return e; + }), + e + ); + } + function Zl(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Xl(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var es = function (e) { + var t = e.disabled, + n = e.yAxis, + r = e.color, + i = e.onColorChange, + l = e.onToggleAxis, + s = { color: r }; + return ( + t || + (s = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Zl(Object(n), !0).forEach(function (t) { + Xl(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Zl(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, s, { className: "pointer" })), + t + ? a.a.createElement( + "span", + { + className: Object(o.cx)( + "graph-legend-icon", + t && Object(o.css)(Jl()) + ), + }, + a.a.createElement(Xi, s) + ) + : a.a.createElement( + dn, + { + yaxis: n, + color: r, + onChange: i, + onToggleAxis: l, + enableNamedColors: !0, + }, + function (e) { + var t = e.ref, + n = e.showColorPicker, + r = e.hideColorPicker; + return a.a.createElement( + "span", + { + ref: t, + onClick: n, + onMouseLeave: r, + className: "graph-legend-icon", + }, + a.a.createElement(Xi, s) + ); + } + ) + ); + }; + es.displayName = "LegendSeriesIcon"; + var ts = n("ODSy"), + ns = n("6acW"), + rs = n.n(ns); + function as() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-left: 6px;\n "]); + return ( + (as = function () { + return e; + }), + e + ); + } + var os = function (e) { + var t = e.stat; + return a.a.createElement( + "div", + { className: Object(o.css)(as()) }, + t.title && "".concat(rs()(t.title), ":"), + " ", + Object(Pe.formattedValueToString)(t) + ); + }; + os.displayName = "LegendItemStat"; + var is = function (e) { + var t = e.stats; + return 0 === t.length + ? null + : a.a.createElement(ts.a, { + items: t, + renderItem: function (e) { + return a.a.createElement(os, { stat: e }); + }, + }); + }; + function ls() { + var e = ps(["\n color: ", ";\n "]); + return ( + (ls = function () { + return e; + }), + e + ); + } + function ss() { + var e = ps(["\n text-align: right;\n "]); + return ( + (ss = function () { + return e; + }), + e + ); + } + function cs() { + var e = ps([ + "\n display: flex;\n white-space: nowrap;\n ", + ]); + return ( + (cs = function () { + return e; + }), + e + ); + } + function us() { + var e = ps([ + "\n cursor: pointer;\n white-space: nowrap;\n ", + ]); + return ( + (us = function () { + return e; + }), + e + ); + } + function fs() { + var e = ps([ + "\n font-size: ", + ";\n td {\n padding: ", + " ", + ";\n white-space: nowrap;\n }\n ", + ]); + return ( + (fs = function () { + return e; + }), + e + ); + } + function ds() { + var e = ps([ + "\n cursor: pointer;\n white-space: pre-wrap;\n color: ", + ";\n ", + ]); + return ( + (ds = function () { + return e; + }), + e + ); + } + function ps(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + is.displayName = "LegendStatsList"; + var hs = function (e) { + var t = e.item, + n = e.onSeriesColorChange, + i = e.onToggleAxis, + l = e.onLabelClick, + s = Object(r.useContext)(Bt.a); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(es, { + disabled: !n, + color: t.color, + onColorChange: function (e) { + n && n(t.label, e); + }, + onToggleAxis: i, + yAxis: t.yAxis, + }), + a.a.createElement( + "div", + { + onClick: function (e) { + l && l(t, e); + }, + className: Object(o.css)( + ds(), + !t.isVisible && s.colors.linkDisabled + ), + }, + t.label + ), + t.displayValues && a.a.createElement(is, { stats: t.displayValues }) + ); + }, + ms = Object(i.g)(function (e) { + return { + row: Object(o.css)( + fs(), + e.typography.size.sm, + e.spacing.xxs, + e.spacing.sm + ), + label: Object(o.css)(us()), + itemWrapper: Object(o.css)(cs()), + value: Object(o.css)(ss()), + yAxisLabel: Object(o.css)(ls(), e.colors.gray2), + }; + }), + gs = function (e) { + var t = e.item, + n = e.onSeriesColorChange, + i = e.onToggleAxis, + l = e.onLabelClick, + s = e.className, + c = Object(r.useContext)(Bt.a), + u = ms(c); + return a.a.createElement( + "tr", + { className: Object(o.cx)(u.row, s) }, + a.a.createElement( + "td", + null, + a.a.createElement( + "span", + { className: u.itemWrapper }, + a.a.createElement(es, { + disabled: !!n, + color: t.color, + onColorChange: function (e) { + n && n(t.label, e); + }, + onToggleAxis: i, + yAxis: t.yAxis, + }), + a.a.createElement( + "div", + { + onClick: function (e) { + l && l(t, e); + }, + className: u.label, + }, + t.label, + " ", + 2 === t.yAxis && + a.a.createElement( + "span", + { className: u.yAxisLabel }, + "(right y-axis)" + ) + ) + ) + ), + t.displayValues && + t.displayValues.map(function (e, t) { + return a.a.createElement( + "td", + { + className: u.value, + key: "".concat(e.title, "-").concat(t), + }, + Object(Pe.formattedValueToString)(e) + ); + }) + ); + }, + bs = n("Ke2B"), + vs = n("1VFa"), + ys = n("v8eK"), + ws = n.n(ys), + Os = n("xweI"), + xs = n.n(Os); + function ks() { + return (ks = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function js() { + var e = Es(["\n background: ", ";\n "]); + return ( + (js = function () { + return e; + }), + e + ); + } + function Ss() { + var e = Es([ + "\n font-size: ", + ";\n th {\n padding: ", + " ", + ";\n }\n ", + ]); + return ( + (Ss = function () { + return e; + }), + e + ); + } + function Es(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function Cs(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var Ps = function (e) { + var t = e.items, + n = e.displayMode, + l = e.sortBy, + s = e.sortDesc, + c = e.onToggleSort, + u = e.onSeriesAxisToggle, + f = e.placement, + d = + (e.className, + Cs(e, [ + "items", + "displayMode", + "sortBy", + "sortDesc", + "onToggleSort", + "onSeriesAxisToggle", + "placement", + "className", + ])), + p = Object(r.useContext)(Bt.a); + if (n === Kl.b.Table) { + var h = t + .map(function (e) { + return e.displayValues + ? e.displayValues.map(function (e) { + return e.title; + }) + : []; + }) + .reduce( + function (e, t) { + return ws()( + e, + t.filter(function (e) { + return !!e; + }) + ); + }, + [""] + ), + m = l + ? xs()(t, function (e) { + if (e.displayValues) { + var t = e.displayValues.filter(function (e) { + return e.title === l; + })[0]; + return t && t.numeric; + } + }) + : t, + g = Object(i.e)( + { dark: p.colors.dark6, light: p.colors.gray5 }, + p.type + ); + return a.a.createElement(bs.a, { + className: Object(o.css)( + Ss(), + p.typography.size.sm, + p.spacing.xxs, + p.spacing.sm + ), + items: s ? m.reverse() : m, + columns: h, + placement: f, + sortBy: l, + sortDesc: s, + itemRenderer: function (e, t) { + return a.a.createElement( + gs, + ks( + { + key: "".concat(e.label, "-").concat(t), + item: e, + onToggleAxis: function () { + u && u(e.label, 1 === e.yAxis ? 2 : 1); + }, + className: Object(o.css)(js(), t % 2 == 0 ? g : "none"), + }, + d + ) + ); + }, + onToggleSort: c, + }); + } + return a.a.createElement(vs.a, { + items: t, + placement: f, + itemRenderer: function (e) { + return a.a.createElement( + hs, + ks( + { + item: e, + onToggleAxis: function () { + u && u(e.label, 1 === e.yAxis ? 2 : 1); + }, + }, + d + ) + ); + }, + }); + }; + function Ts() { + var e = _s(["\n padding: 10px 0;\n max-height: ", ";\n "]); + return ( + (Ts = function () { + return e; + }), + e + ); + } + function Ds() { + var e = _s(["\n min-height: 65%;\n flex-grow: 1;\n "]); + return ( + (Ds = function () { + return e; + }), + e + ); + } + function As() { + var e = _s([ + "\n display: flex;\n flex-direction: ", + ";\n height: 100%;\n ", + ]); + return ( + (As = function () { + return e; + }), + e + ); + } + function _s(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + Ps.displayName = "GraphLegend"; + var Ns = Object(i.g)(function (e) { + var t = e.placement; + return { + wrapper: Object(o.css)(As(), "under" === t ? "column" : "row"), + graphContainer: Object(o.css)(Ds()), + legendContainer: Object(o.css)( + Ts(), + "under" === t ? "35%" : "none" + ), + }; + }), + Ms = function (e) { + var t = e.series, + n = e.timeRange, + r = e.width, + o = e.height, + i = e.showBars, + l = e.showLines, + s = e.showPoints, + c = e.sortLegendBy, + u = e.sortLegendDesc, + f = e.isLegendVisible, + d = e.displayMode, + p = e.placement, + h = e.onSeriesAxisToggle, + m = e.onSeriesColorChange, + g = e.onSeriesToggle, + b = e.onToggleSort, + v = e.hideEmpty, + y = e.hideZero, + w = e.isStacked, + O = e.lineWidth, + x = e.onHorizontalRegionSelected, + k = e.timeZone, + j = e.children, + S = Ns(e), + E = S.graphContainer, + C = S.wrapper, + P = S.legendContainer, + T = t.reduce(function (e, t) { + return (function (e) { + var t = + arguments.length > 1 && + void 0 !== arguments[1] && + arguments[1], + n = + arguments.length > 2 && + void 0 !== arguments[2] && + arguments[2], + r = + 0 === + e.reduce(function (e, t) { + return e + (t[1] || 0); + }, 0), + a = !e.reduce(function (e, t) { + return e && null !== t[1]; + }, !0); + return (t && a) || (n && r); + })(t.data, v, y) + ? e + : e.concat([ + { + label: t.label, + color: t.color, + isVisible: t.isVisible, + yAxis: t.yAxis.index, + displayValues: t.info || [], + }, + ]); + }, []); + return a.a.createElement( + "div", + { className: C }, + a.a.createElement( + "div", + { className: E }, + a.a.createElement( + Yl, + { + series: t, + timeRange: n, + timeZone: k, + showLines: l, + showPoints: s, + showBars: i, + width: r, + height: o, + key: f ? "legend-visible" : "legend-invisible", + isStacked: w, + lineWidth: O, + onHorizontalRegionSelected: x, + }, + j + ) + ), + f && + a.a.createElement( + "div", + { className: P }, + a.a.createElement( + _.a, + { hideHorizontalTrack: !0 }, + a.a.createElement(Ps, { + items: T, + displayMode: d, + placement: p, + sortBy: c, + sortDesc: u, + onLabelClick: function (e, t) { + g && g(e.label, t); + }, + onSeriesColorChange: m, + onSeriesAxisToggle: h, + onToggleSort: b, + }) + ) + ) + ); + }, + Is = n("G0UC"); + function Rs(e) { + return (Rs = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Fs(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ls(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Vs(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Bs(e, t) { + return !t || ("object" !== Rs(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function $s(e) { + return ($s = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function qs(e, t) { + return (qs = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Us = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Bs(this, $s(t).call(this, e))).state = { + values: e.getValues(), + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && qs(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e) { + var t = this.props, + n = t.renderCounter, + r = t.source; + (n === e.renderCounter && r === e.source) || + this.setState({ values: this.props.getValues() }); + }, + }, + { + key: "getOrientation", + value: function () { + var e = this.props, + t = e.orientation, + n = e.width, + r = e.height; + return t === Pe.VizOrientation.Auto + ? n > r + ? Pe.VizOrientation.Vertical + : Pe.VizOrientation.Horizontal + : t; + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.renderValue, + n = e.height, + r = e.width, + o = e.itemSpacing, + i = e.getAlignmentFactors, + l = this.state.values, + s = this.getOrientation(), + c = { display: "flex" }, + u = { display: "flex" }, + f = n, + d = r; + s === Pe.VizOrientation.Horizontal + ? ((u.flexDirection = "column"), + (c.marginBottom = "".concat(o, "px")), + (d = r), + (f = n / l.length - o + o / l.length)) + : ((u.flexDirection = "row"), + (u.justifyContent = "space-between"), + (c.marginRight = "".concat(o, "px")), + (f = n), + (d = r / l.length - o + o / l.length)), + (c.width = "".concat(d, "px")), + (c.height = "".concat(f, "px")); + var p = i ? i(l, d, f) : {}; + return a.a.createElement( + "div", + { style: u }, + l.map(function (e, n) { + return a.a.createElement( + "div", + { key: n, style: zs(c, n, l.length) }, + t(e, d, f, p) + ); + }) + ); + }, + }, + ]) && Vs(n.prototype, r), + o && Vs(n, o), + t + ); + })(r.PureComponent); + function zs(e, t, n) { + return t === n - 1 + ? (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Fs(Object(n), !0).forEach(function (t) { + Ls(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Fs(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { marginRight: 0, marginBottom: 0 }) + : e; + } + function Hs(e) { + switch (e) { + case "error": + case "warning": + return "fa fa-exclamation-triangle"; + case "info": + return "fa fa-info-circle"; + case "success": + return "fa fa-check"; + default: + return ""; + } + } + Us.defaultProps = { itemSpacing: 10 }; + var Gs = function (e) { + var t = e.title, + n = e.buttonText, + r = e.onButtonClick, + o = e.onRemove, + i = e.children, + l = e.severity, + s = void 0 === l ? "error" : l, + c = fe()("alert", "alert-".concat(s)); + return a.a.createElement( + "div", + { className: "alert-container" }, + a.a.createElement( + "div", + { className: c }, + a.a.createElement( + "div", + { className: "alert-icon" }, + a.a.createElement("i", { className: Hs(s) }) + ), + a.a.createElement( + "div", + { className: "alert-body" }, + a.a.createElement("div", { className: "alert-title" }, t), + i && a.a.createElement("div", { className: "alert-text" }, i) + ), + o && + a.a.createElement( + "button", + { type: "button", className: "alert-close", onClick: o }, + a.a.createElement("i", { className: "fa fa fa-remove" }) + ), + r && + a.a.createElement( + "button", + { + type: "button", + className: "btn btn-outline-danger", + onClick: r, + }, + n + ) + ) + ); + }, + Ws = n("Y+p1"), + Qs = n.n(Ws); + function Ys(e) { + return (Ys = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ks(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Js(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ks(Object(n), !0).forEach(function (t) { + Zs(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ks(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Zs(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Xs(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ec(e) { + return (ec = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function tc(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function nc(e, t) { + return (nc = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var rc = (function (e) { + function t(e) { + var n, r, a; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (r = this), + ((n = + !(a = ec(t).call(this, e)) || + ("object" !== Ys(a) && "function" != typeof a) + ? tc(r) + : a).onSeriesToggle = n.onSeriesToggle.bind(tc(n))), + (n.state = { hiddenSeries: [], toggledSeries: e.series }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && nc(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e) { + var t = this.props.series; + Qs()(e.series, t) || + this.setState({ hiddenSeries: [], toggledSeries: t }); + }, + }, + { + key: "onSeriesToggle", + value: function (e, t) { + var n = this.props, + r = n.series, + a = n.onHiddenSeriesChanged, + o = this.state.hiddenSeries; + if (t.ctrlKey || t.metaKey || t.shiftKey) { + var i = + o.indexOf(e) > -1 + ? o.filter(function (t) { + return t !== e; + }) + : o.concat([e]), + l = r.map(function (e) { + return Js({}, e, { + isVisible: -1 === i.indexOf(e.label), + }); + }); + this.setState( + { hiddenSeries: i, toggledSeries: l }, + function () { + return a ? a(i) : void 0; + } + ); + } else { + var s = r.map(function (e) { + return e.label; + }), + c = o.length + 1 === s.length ? [] : rr()(s, [e]), + u = r.map(function (e) { + return Js({}, e, { + isVisible: -1 === c.indexOf(e.label), + }); + }); + this.setState( + { hiddenSeries: c, toggledSeries: u }, + function () { + return a ? a(c) : void 0; + } + ); + } + }, + }, + { + key: "render", + value: function () { + var e = this.props.children, + t = this.state.toggledSeries; + return e({ + onSeriesToggle: this.onSeriesToggle, + toggledSeries: t, + }); + }, + }, + ]) && Xs(n.prototype, r), + a && Xs(n, a), + t + ); + })(a.a.Component); + function ac() { + return (ac = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function oc(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function ic(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function lc() { + var e = gc([ + "\n label: collapse__header-label;\n font-weight: ", + ";\n margin-right: ", + ";\n font-size: ", + ";\n ", + ]); + return ( + (lc = function () { + return e; + }), + e + ); + } + function sc() { + var e = gc([ + "\n label: collapse__header-buttons--collapsed;\n display: none;\n ", + ]); + return ( + (sc = function () { + return e; + }), + e + ); + } + function cc() { + var e = gc([ + "\n label: collapse__header-buttons;\n margin-right: ", + ";\n font-size: ", + ";\n line-height: ", + ";\n display: inherit;\n ", + ]); + return ( + (cc = function () { + return e; + }), + e + ); + } + function uc() { + var e = gc([ + "\n label: collapse__header--collapsed;\n cursor: pointer;\n padding: ", + " ", + ";\n ", + ]); + return ( + (uc = function () { + return e; + }), + e + ); + } + function fc() { + var e = gc([ + "\n label: collapse__header;\n padding: ", + " ", + ";\n display: flex;\n cursor: inherit;\n transition: all 0.1s linear;\n cursor: pointer;\n ", + ]); + return ( + (fc = function () { + return e; + }), + e + ); + } + function dc() { + var e = gc([ + "\n label: collapse__loader_active;\n &:after {\n content: ' ';\n display: block;\n width: 25%;\n top: 0;\n top: -50%;\n height: 250%;\n position: absolute;\n animation: loader 2s cubic-bezier(0.17, 0.67, 0.83, 0.67) 500ms;\n animation-iteration-count: 100;\n left: -25%;\n background: ", + ";\n }\n @keyframes loader {\n from {\n left: -25%;\n opacity: 0.1;\n }\n to {\n left: 100%;\n opacity: 1;\n }\n }\n ", + ]); + return ( + (dc = function () { + return e; + }), + e + ); + } + function pc() { + var e = gc([ + "\n label: collapse__loader;\n height: 2px;\n position: relative;\n overflow: hidden;\n background: none;\n margin: ", + ";\n ", + ]); + return ( + (pc = function () { + return e; + }), + e + ); + } + function hc() { + var e = gc(["\n label: collapse__body;\n padding: ", "px;\n "]); + return ( + (hc = function () { + return e; + }), + e + ); + } + function mc() { + var e = gc(["\n label: collapse;\n margin-bottom: ", ";\n "]); + return ( + (mc = function () { + return e; + }), + e + ); + } + function gc(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var bc = Object(jr.a)(function (e) { + return { + collapse: Object(o.css)(mc(), e.spacing.sm), + collapseBody: Object(o.css)(hc(), e.panelPadding), + loader: Object(o.css)(pc(), e.spacing.xs), + loaderActive: Object(o.css)(dc(), e.colors.blue), + header: Object(o.css)(fc(), e.spacing.sm, e.spacing.md), + headerCollapsed: Object(o.css)(uc(), e.spacing.sm, e.spacing.md), + headerButtons: Object(o.css)( + cc(), + e.spacing.sm, + e.typography.size.lg, + e.typography.heading.h6 + ), + headerButtonsCollapsed: Object(o.css)(sc()), + headerLabel: Object(o.css)( + lc(), + e.typography.weight.semibold, + e.spacing.sm, + e.typography.heading.h6 + ), + }; + }), + vc = function (e) { + var t = e.isOpen, + n = e.onToggle, + o = ic(e, ["isOpen", "onToggle"]), + i = oc(Object(r.useState)(t), 2), + l = i[0], + s = i[1]; + return a.a.createElement( + yc, + ac({ isOpen: l }, o, { + onToggle: function () { + s(!l), n && n(!l); + }, + }) + ); + }, + yc = function (e) { + var t = e.isOpen, + n = e.label, + i = e.loading, + l = e.collapsible, + s = e.onToggle, + c = e.children, + u = Object(r.useContext)(Bt.a), + f = bc(u), + d = Object(o.cx)([f.collapse, "panel-container"]), + p = i + ? Object(o.cx)([f.loader, f.loaderActive]) + : Object(o.cx)([f.loader]), + h = l + ? Object(o.cx)([f.header]) + : Object(o.cx)([f.headerCollapsed]), + m = l + ? Object(o.cx)([f.headerButtons]) + : Object(o.cx)([f.headerButtonsCollapsed]); + return a.a.createElement( + "div", + { className: d }, + a.a.createElement( + "div", + { + className: h, + onClick: function () { + s && s(!t); + }, + }, + a.a.createElement( + "div", + { className: m }, + a.a.createElement(Y.a, { name: t ? "caret-up" : "caret-down" }) + ), + a.a.createElement( + "div", + { className: Object(o.cx)([f.headerLabel]) }, + n + ) + ), + t && + a.a.createElement( + "div", + { className: Object(o.cx)([f.collapseBody]) }, + a.a.createElement("div", { className: p }), + c + ) + ); + }; + function wc() { + var e = kc([ + "\n label: logs-label__value;\n display: inline-block;\n max-width: 20em;\n text-overflow: ellipsis;\n overflow: hidden;\n ", + ]); + return ( + (wc = function () { + return e; + }), + e + ); + } + function Oc() { + var e = kc([ + "\n label: logs-label;\n display: flex;\n padding: 0 2px;\n background-color: ", + ";\n border-radius: ", + ";\n margin: 1px 4px 0 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n ", + ]); + return ( + (Oc = function () { + return e; + }), + e + ); + } + function xc() { + var e = kc([ + "\n display: flex;\n flex-wrap: wrap;\n font-size: ", + ";\n ", + ]); + return ( + (xc = function () { + return e; + }), + e + ); + } + function kc(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + yc.displayName = "Collapse"; + var jc = ["level", "lvl", "filename"], + Sc = Object(i.g)(function (e) { + return { + logsLabels: Object(o.css)(xc(), e.typography.size.xs), + logsLabel: Object(o.css)( + Oc(), + Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.dark6 }, + e.type + ), + e.border.radius + ), + logsLabelValue: Object(o.css)(wc()), + }; + }), + Ec = Object(Bt.d)(function (e) { + var t = e.labels, + n = e.theme, + r = Sc(n), + i = Object.keys(t).filter(function (e) { + return !e.startsWith("_") && !jc.includes(e); + }); + return 0 === i.length + ? a.a.createElement( + "span", + { className: Object(o.cx)([r.logsLabels]) }, + a.a.createElement( + "span", + { className: Object(o.cx)([r.logsLabel]) }, + "(no unique labels)" + ) + ) + : a.a.createElement( + "span", + { className: Object(o.cx)([r.logsLabels]) }, + i.map(function (e) { + var n = t[e], + i = "".concat(e, ": ").concat(n); + return a.a.createElement( + "span", + { key: e, className: Object(o.cx)([r.logsLabel]) }, + a.a.createElement( + "span", + { className: Object(o.cx)([r.logsLabelValue]), title: i }, + n + ) + ); + }) + ); + }); + Ec.displayName = "LogLabels"; + var Cc = n("Wwog"); + function Pc() { + var e = Gc([ + "\n label: logs-row-details__row;\n position: relative;\n vertical-align: top;\n cursor: default;\n &:hover {\n background-color: ", + ";\n }\n ", + ]); + return ( + (Pc = function () { + return e; + }), + e + ); + } + function Tc() { + var e = Gc([ + "\n label: logs-row-details__heading;\n font-weight: ", + ";\n padding: ", + " 0 ", + ";\n ", + ]); + return ( + (Tc = function () { + return e; + }), + e + ); + } + function Dc() { + var e = Gc([ + "\n label: logs-row-details__label;\n max-width: 30em;\n min-width: 20em;\n padding: 0 ", + ";\n overflow-wrap: break-word;\n ", + ]); + return ( + (Dc = function () { + return e; + }), + e + ); + } + function Ac() { + var e = Gc([ + "\n label: logs-row-details__icon;\n position: relative;\n padding-right: ", + ";\n color: ", + ";\n ", + ]); + return ( + (Ac = function () { + return e; + }), + e + ); + } + function _c() { + var e = Gc([ + "\n label: logs-row-details-table;\n line-height: 2;\n width: 100%;\n td:last-child {\n width: 100%;\n }\n ", + ]); + return ( + (_c = function () { + return e; + }), + e + ); + } + function Nc() { + var e = Gc([ + "\n label: logs-row-details-table;\n border: 1px solid ", + ";\n padding: 0 ", + " ", + ";\n border-radius: 3px;\n margin: 20px 8px 20px 16px;\n cursor: default;\n ", + ]); + return ( + (Nc = function () { + return e; + }), + e + ); + } + function Mc() { + var e = Gc([ + "\n label: logs-row__message;\n white-space: pre-wrap;\n word-break: break-all;\n ", + ]); + return ( + (Mc = function () { + return e; + }), + e + ); + } + function Ic() { + var e = Gc([ + "\n label: logs-row__labels;\n white-space: nowrap;\n max-width: 22em;\n ", + ]); + return ( + (Ic = function () { + return e; + }), + e + ); + } + function Rc() { + var e = Gc([ + "\n label: logs-row__localtime;\n white-space: nowrap;\n max-width: 12.5em;\n ", + ]); + return ( + (Rc = function () { + return e; + }), + e + ); + } + function Fc() { + var e = Gc([ + "\n label: logs-row-toggle-details__level;\n position: relative;\n font-size: 9px;\n padding-top: 5px;\n max-width: 15px;\n ", + ]); + return ( + (Fc = function () { + return e; + }), + e + ); + } + function Lc() { + var e = Gc([ + "\n label: logs-row__level;\n position: relative;\n max-width: 10px;\n cursor: default;\n &::after {\n content: '';\n display: block;\n position: absolute;\n top: 1px;\n bottom: 1px;\n width: 3px;\n background-color: ", + ";\n }\n ", + ]); + return ( + (Lc = function () { + return e; + }), + e + ); + } + function Vc() { + var e = Gc([ + "\n label: logs-row__duplicates;\n text-align: right;\n width: 4em;\n cursor: default;\n ", + ]); + return ( + (Vc = function () { + return e; + }), + e + ); + } + function Bc() { + var e = Gc([ + "\n label: logs-row;\n width: 100%;\n cursor: pointer;\n vertical-align: top;\n &:hover {\n .", + " {\n visibility: visible;\n z-index: 1;\n margin-left: 10px;\n text-decoration: underline;\n &:hover {\n color: ", + ";\n }\n }\n }\n td:last-child {\n width: 100%;\n }\n\n > td {\n padding-right: ", + ";\n border-top: ", + " solid transparent;\n border-bottom: ", + " solid transparent;\n height: 100%;\n }\n\n &:hover {\n background: ", + ";\n }\n ", + ]); + return ( + (Bc = function () { + return e; + }), + e + ); + } + function $c() { + var e = Gc([ + "\n label: logs-rows__horizontal-scroll;\n overflow: scroll;\n ", + ]); + return ( + ($c = function () { + return e; + }), + e + ); + } + function qc() { + var e = Gc([ + "\n label: logs-rows;\n font-family: ", + ";\n font-size: ", + ";\n width: 100%;\n ", + ]); + return ( + (qc = function () { + return e; + }), + e + ); + } + function Uc() { + var e = Gc([ + "\n label: logs-row__match-highlight--preview;\n background-color: rgba(", + ", 0.2);\n border-bottom-style: dotted;\n ", + ]); + return ( + (Uc = function () { + return e; + }), + e + ); + } + function zc() { + var e = Gc([ + "\n label: logs-row__match-highlight;\n background: inherit;\n padding: inherit;\n color: ", + ";\n background-color: rgba(", + ", 0.1);\n ", + ]); + return ( + (zc = function () { + return e; + }), + e + ); + } + function Hc() { + var e = Gc([ + "\n label: context;\n visibility: hidden;\n white-space: nowrap;\n position: relative;\n ", + ]); + return ( + (Hc = function () { + return e; + }), + e + ); + } + function Gc(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Wc = Object(i.g)(function (e, t) { + var n = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.gray2 }, + e.type + ), + r = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.gray2 }, + e.type + ), + a = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.dark4 }, + e.type + ), + i = Object(o.css)(Hc()); + switch (t) { + case Pe.LogLevel.crit: + case Pe.LogLevel.critical: + n = "#705da0"; + break; + case Pe.LogLevel.error: + case Pe.LogLevel.err: + n = "#e24d42"; + break; + case Pe.LogLevel.warning: + case Pe.LogLevel.warn: + n = e.colors.yellow; + break; + case Pe.LogLevel.info: + n = "#7eb26d"; + break; + case Pe.LogLevel.debug: + n = "#1f78c1"; + break; + case Pe.LogLevel.trace: + n = "#6ed0e0"; + } + return { + logsRowMatchHighLight: Object(o.css)( + zc(), + e.colors.yellow, + e.colors.yellow + ), + logsRowMatchHighLightPreview: Object(o.css)(Uc(), e.colors.yellow), + logsRowsTable: Object(o.css)( + qc(), + e.typography.fontFamily.monospace, + e.typography.size.sm + ), + logsRowsHorizontalScroll: Object(o.css)($c()), + context: i, + logsRow: Object(o.css)( + Bc(), + i, + e.colors.yellow, + e.spacing.sm, + e.border.width.sm, + e.border.width.sm, + e.colors.pageBg + ), + logsRowDuplicates: Object(o.css)(Vc()), + logsRowLevel: Object(o.css)(Lc(), n), + logsRowToggleDetails: Object(o.css)(Fc()), + logsRowLocalTime: Object(o.css)(Rc()), + logsRowLabels: Object(o.css)(Ic()), + logsRowMessage: Object(o.css)(Mc()), + logDetailsContainer: Object(o.css)( + Nc(), + r, + e.spacing.sm, + e.spacing.sm + ), + logDetailsTable: Object(o.css)(_c()), + logsDetailsIcon: Object(o.css)(Ac(), e.spacing.md, e.colors.gray3), + logDetailsLabel: Object(o.css)(Dc(), e.spacing.sm), + logDetailsHeading: Object(o.css)( + Tc(), + e.typography.weight.bold, + e.spacing.sm, + e.spacing.xs + ), + logDetailsValue: Object(o.css)(Pc(), a), + }; + }), + Qc = n("TYy9"), + Yc = n.n(Qc), + Kc = n("aBYM"), + Jc = n.n(Kc); + function Zc(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Xc(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function eu(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Xc(o, r, a, i, l, "next", e); + } + function l(e) { + Xc(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var tu = (function () { + var e = eu( + regeneratorRuntime.mark(function e(t, n, r) { + var a, o; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (a = [ + t(n, { limit: r }), + t(n, { limit: r + 1, direction: "FORWARD" }), + ]), + (e.next = 3), + Promise.all( + a.map(function (e) { + return e.catch(function (e) { + return e; + }); + }) + ) + ); + case 3: + return ( + (o = e.sent), + e.abrupt("return", { + data: o.map(function (e) { + var t = e; + if (!t.data) return []; + for (var r = [], a = 0; a < t.data.length; a++) + for ( + var o = Object(Pe.toDataFrame)(t.data[a]), + i = new Pe.FieldCache(o), + l = i.getFieldByName("ts"), + s = i.getFieldByName("id"), + c = 0; + c < l.values.length; + c++ + ) { + if (s) { + if (s.values.get(c) === n.uid) continue; + } else if ( + parseInt(l.values.get(c), 10) === + n.timeEpochMs + ) + continue; + var u = o.fields + .filter(function (e) { + return "line" === e.name; + })[0] + .values.get(c); + 0 === r.length ? (r[0] = [u]) : r[0].push(u); + } + return r; + }), + errors: o.map(function (e) { + var t = e; + return t.message ? t.message : ""; + }), + }) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n, r) { + return e.apply(this, arguments); + }; + })(), + nu = function (e) { + var t = e.getRowContext, + n = e.row, + a = e.children, + o = Zc(Object(r.useState)(10), 2), + i = o[0], + l = o[1], + s = Zc(Object(r.useState)(null), 2), + c = s[0], + u = s[1], + f = Zc(Object(r.useState)({ before: !0, after: !0 }), 2), + d = f[0], + p = f[1], + h = Jc()( + eu( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), tu(t, n, i); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ), + [i] + ).value; + return ( + Object(r.useEffect)( + function () { + h && + u(function (e) { + var t = !0, + n = !0; + return ( + e && e.data[0].length === h.data[0].length && (t = !1), + e && e.data[1].length === h.data[1].length && (n = !1), + p({ before: t, after: n }), + h + ); + }); + }, + [h] + ), + a({ + result: { + before: c ? Yc()(c.data[0]) : [], + after: c ? Yc()(c.data[1]) : [], + }, + errors: { + before: c ? c.errors[0] : void 0, + after: c ? c.errors[1] : void 0, + }, + hasMoreContextRows: d, + updateLimit: function () { + return l(i + 10); + }, + }) + ); + }; + function ru() { + var e = fu([ + "\n label: logs-stats-row__innerbar;\n height: 4px;\n overflow: hidden;\n background: ", + ";\n background: ", + ";\n ", + ]); + return ( + (ru = function () { + return e; + }), + e + ); + } + function au() { + var e = fu([ + "\n label: logs-stats-row__bar;\n height: 4px;\n overflow: hidden;\n background: ", + ";\n ", + ]); + return ( + (au = function () { + return e; + }), + e + ); + } + function ou() { + var e = fu([ + "\n label: logs-stats-row__percent;\n text-align: right;\n margin-left: 0.5em;\n width: 3em;\n ", + ]); + return ( + (ou = function () { + return e; + }), + e + ); + } + function iu() { + var e = fu([ + "\n label: logs-stats-row__count;\n text-align: right;\n margin-left: 0.5em;\n ", + ]); + return ( + (iu = function () { + return e; + }), + e + ); + } + function lu() { + var e = fu([ + "\n label: logs-stats-row__value;\n flex: 1;\n text-overflow: ellipsis;\n overflow: hidden;\n ", + ]); + return ( + (lu = function () { + return e; + }), + e + ); + } + function su() { + var e = fu([ + "\n label: logs-stats-row__label;\n display: flex;\n margin-bottom: 1px;\n ", + ]); + return ( + (su = function () { + return e; + }), + e + ); + } + function cu() { + var e = fu([ + "\n label: logs-stats-row--active;\n color: ", + ";\n position: relative;\n ", + ]); + return ( + (cu = function () { + return e; + }), + e + ); + } + function uu() { + var e = fu(["\n label: logs-stats-row;\n margin: ", "px 0;\n "]); + return ( + (uu = function () { + return e; + }), + e + ); + } + function fu(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var du = function (e) { + var t = e.active, + n = e.count, + i = e.proportion, + l = e.value, + s = (function (e) { + return { + logsStatsRow: Object(o.css)( + uu(), + parseInt(e.spacing.d, 10) / 1.75 + ), + logsStatsRowActive: Object(o.css)(cu(), e.colors.blue), + logsStatsRowLabel: Object(o.css)(su()), + logsStatsRowValue: Object(o.css)(lu()), + logsStatsRowCount: Object(o.css)(iu()), + logsStatsRowPercent: Object(o.css)(ou()), + logsStatsRowBar: Object(o.css)(au(), e.colors.textFaint), + logsStatsRowInnerBar: Object(o.css)( + ru(), + e.colors.textFaint, + e.colors.blue + ), + }; + })(Object(r.useContext)(Bt.a)), + c = "".concat(Math.round(100 * i), "%"), + u = { width: c }, + f = t + ? Object(o.cx)([s.logsStatsRow, s.logsStatsRowActive]) + : Object(o.cx)([s.logsStatsRow]); + return a.a.createElement( + "div", + { className: f }, + a.a.createElement( + "div", + { className: Object(o.cx)([s.logsStatsRowLabel]) }, + a.a.createElement( + "div", + { className: Object(o.cx)([s.logsStatsRowValue]), title: l }, + l + ), + a.a.createElement( + "div", + { className: Object(o.cx)([s.logsStatsRowCount]) }, + n + ), + a.a.createElement( + "div", + { className: Object(o.cx)([s.logsStatsRowPercent]) }, + c + ) + ), + a.a.createElement( + "div", + { className: Object(o.cx)([s.logsStatsRowBar]) }, + a.a.createElement("div", { + className: Object(o.cx)([s.logsStatsRowInnerBar]), + style: u, + }) + ) + ); + }; + function pu(e) { + return (pu = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function hu() { + return (hu = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function mu(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function gu(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function bu(e, t) { + return !t || ("object" !== pu(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function vu(e) { + return (vu = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function yu(e, t) { + return (yu = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function wu() { + var e = Su([ + "\n label: logs-stats__body;\n padding: 5px 0;\n ", + ]); + return ( + (wu = function () { + return e; + }), + e + ); + } + function Ou() { + var e = Su([ + "\n label: logs-stats__close;\n cursor: pointer;\n ", + ]); + return ( + (Ou = function () { + return e; + }), + e + ); + } + function xu() { + var e = Su([ + "\n label: logs-stats__title;\n font-weight: ", + ";\n padding-right: ", + ";\n display: inline-block;\n white-space: nowrap;\n text-overflow: ellipsis;\n flex-grow: 1;\n ", + ]); + return ( + (xu = function () { + return e; + }), + e + ); + } + function ku() { + var e = Su([ + "\n label: logs-stats__header;\n border-bottom: 1px solid ", + ";\n display: flex;\n ", + ]); + return ( + (ku = function () { + return e; + }), + e + ); + } + function ju() { + var e = Su([ + "\n label: logs-stats;\n column-span: 2;\n background: inherit;\n color: ", + ";\n word-break: break-all;\n ", + ]); + return ( + (ju = function () { + return e; + }), + e + ); + } + function Su(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + du.displayName = "LogLabelStatsRow"; + var Eu = Object(i.g)(function (e) { + var t = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.dark9 }, + e.type + ); + return { + logsStats: Object(o.css)(ju(), e.colors.text), + logsStatsHeader: Object(o.css)(ku(), t), + logsStatsTitle: Object(o.css)( + xu(), + e.typography.weight.semibold, + e.spacing.d + ), + logsStatsClose: Object(o.css)(Ou()), + logsStatsBody: Object(o.css)(wu()), + }; + }), + Cu = (function (e) { + function t() { + return mu(this, t), bu(this, vu(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && yu(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.label, + n = e.rowCount, + r = e.stats, + o = e.value, + i = e.theme, + l = e.isLabel, + s = Eu(i), + c = r.slice(0, 5), + u = c.find(function (e) { + return e.value === o; + }), + f = r.slice(5), + d = !u; + d && + ((u = f.find(function (e) { + return e.value === o; + })), + (f = f.filter(function (e) { + return e.value !== o; + }))); + var p = f.reduce(function (e, t) { + return e + t.count; + }, 0), + h = + c.reduce(function (e, t) { + return e + t.count; + }, 0) + p, + m = p / h; + return a.a.createElement( + "td", + { className: s.logsStats }, + a.a.createElement( + "div", + { className: s.logsStatsHeader }, + a.a.createElement( + "div", + { className: s.logsStatsTitle }, + t, + ": ", + h, + " of ", + n, + " rows have that ", + l ? "label" : "field" + ) + ), + a.a.createElement( + "div", + { className: s.logsStatsBody }, + c.map(function (e) { + return a.a.createElement( + du, + hu({ key: e.value }, e, { active: e.value === o }) + ); + }), + d && + u && + a.a.createElement( + du, + hu({ key: u.value }, u, { active: !0 }) + ), + p > 0 && + a.a.createElement(du, { + key: "__OTHERS__", + count: p, + value: "Other", + proportion: m, + }) + ) + ); + }, + }, + ]) && gu(n.prototype, r), + o && gu(n, o), + t + ); + })(r.PureComponent), + Pu = Object(i.i)(Cu); + function Tu(e) { + return (Tu = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Du(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Au(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function _u(e, t) { + return !t || ("object" !== Tu(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Nu(e) { + return (Nu = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Mu(e, t) { + return (Mu = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Iu() { + var e = Lu([ + "\n label: wordBreakAll;\n word-break: break-all;\n ", + ]); + return ( + (Iu = function () { + return e; + }), + e + ); + } + function Ru() { + var e = Lu([ + "\n label: hoverCursor;\n cursor: pointer;\n ", + ]); + return ( + (Ru = function () { + return e; + }), + e + ); + } + function Fu() { + var e = Lu([ + "\n label: noHoverBackground;\n :hover {\n background-color: transparent;\n }\n ", + ]); + return ( + (Fu = function () { + return e; + }), + e + ); + } + function Lu(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + Pu.displayName = "LogLabelStats"; + var Vu = Object(jr.a)(function (e) { + return { + noHoverBackground: Object(o.css)(Fu()), + hoverCursor: Object(o.css)(Ru()), + wordBreakAll: Object(o.css)(Iu()), + }; + }), + Bu = (function (e) { + function t() { + var e, n; + Du(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = _u( + this, + (e = Nu(t)).call.apply(e, [this].concat(a)) + )).state = { + showFieldsStats: !1, + fieldCount: 0, + fieldStats: null, + }), + (n.filterLabel = function () { + var e = n.props, + t = e.onClickFilterLabel, + r = e.parsedKey, + a = e.parsedValue; + t && t(r, a); + }), + (n.filterOutLabel = function () { + var e = n.props, + t = e.onClickFilterOutLabel, + r = e.parsedKey, + a = e.parsedValue; + t && t(r, a); + }), + (n.showStats = function () { + if (!n.state.showFieldsStats) { + var e = n.props.getStats(), + t = e + ? e.reduce(function (e, t) { + return e + t.count; + }, 0) + : 0; + n.setState({ fieldStats: e, fieldCount: t }); + } + n.toggleFieldsStats(); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Mu(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "toggleFieldsStats", + value: function () { + this.setState(function (e) { + return { showFieldsStats: !e.showFieldsStats }; + }); + }, + }, + { + key: "render", + value: function () { + var e, + t, + n, + r = this.props, + i = r.theme, + l = r.parsedKey, + s = r.parsedValue, + c = r.isLabel, + u = r.links, + f = this.state, + d = f.showFieldsStats, + p = f.fieldStats, + h = f.fieldCount, + m = Vu(i), + g = Wc(i); + return a.a.createElement( + "tr", + { + className: Object(o.cx)( + g.logDetailsValue, + ((e = {}), + (t = m.noHoverBackground), + (n = d), + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e) + ), + }, + a.a.createElement( + "td", + { className: g.logsDetailsIcon, colSpan: c ? void 0 : 3 }, + a.a.createElement("i", { + title: "Ad-hoc statistics", + className: "fa fa-signal ".concat(m.hoverCursor), + onClick: this.showStats, + }) + ), + c && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "td", + { className: g.logsDetailsIcon }, + a.a.createElement("i", { + title: "Filter for value", + className: "fa fa-search-plus ".concat( + m.hoverCursor + ), + onClick: this.filterLabel, + }) + ), + a.a.createElement( + "td", + { className: g.logsDetailsIcon }, + a.a.createElement("i", { + title: "Filter out value", + className: "fa fa-search-minus ".concat( + m.hoverCursor + ), + onClick: this.filterOutLabel, + }) + ) + ), + a.a.createElement( + "td", + { className: g.logDetailsLabel }, + l + ), + a.a.createElement( + "td", + { className: m.wordBreakAll }, + s, + u && + u.map(function (e) { + return a.a.createElement( + "span", + { key: e }, + " ", + a.a.createElement( + "a", + { href: e, target: "_blank" }, + a.a.createElement("i", { + className: "fa fa-external-link", + }) + ) + ); + }), + d && + a.a.createElement(Pu, { + stats: p, + label: l, + value: s, + rowCount: h, + isLabel: c, + }) + ) + ); + }, + }, + ]) && Au(n.prototype, r), + i && Au(n, i), + t + ); + })(r.PureComponent), + $u = Object(i.i)(Bu); + function qu(e) { + return (qu = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Uu(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function zu(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Hu(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? zu(Object(n), !0).forEach(function (t) { + Gu(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : zu(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Gu(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Wu(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Qu(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Yu(e, t) { + return !t || ("object" !== qu(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ku(e) { + return (Ku = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ju(e, t) { + return (Ju = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Zu() { + var e = tf([ + "\n label: logDetailsDefaultCursor;\n cursor: default;\n ", + ]); + return ( + (Zu = function () { + return e; + }), + e + ); + } + function Xu() { + var e = tf([ + "\n label: logs-row__level_details;\n &::after {\n top: -3px;\n }\n ", + ]); + return ( + (Xu = function () { + return e; + }), + e + ); + } + function ef() { + var e = tf([ + "\n label: hoverBackground;\n background-color: ", + ";\n ", + ]); + return ( + (ef = function () { + return e; + }), + e + ); + } + function tf(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + $u.displayName = "LogDetailsRow"; + var nf = Object(jr.a)(function (e) { + var t = Object(Ne.a)( + { light: e.colors.gray7, dark: e.colors.dark2 }, + e.type + ); + return { + hoverBackground: Object(o.css)(ef(), t), + logsRowLevelDetails: Object(o.css)(Xu()), + logDetailsDefaultCursor: Object(o.css)(Zu()), + }; + }), + rf = (function (e) { + function t() { + var e, n; + Wu(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Yu( + this, + (e = Ku(t)).call.apply(e, [this].concat(a)) + )).getParser = Object(Cc.a)(Pe.getParser)), + (n.parseMessage = Object(Cc.a)(function (e) { + var t = n.getParser(e); + return t + ? t.getFields(e).map(function (e) { + return { + key: t.getLabelFromField(e), + value: t.getValueFromField(e), + }; + }) + : []; + })), + (n.getDerivedFields = Object(Cc.a)(function (e) { + return e.dataFrame.fields + .map(function (e, t) { + return Hu({}, e, { index: t }); + }) + .filter(function (t, n) { + return "id" !== t.name && e.entryFieldIndex !== n; + }) + .filter(function (t) { + var n = t.values.get(e.rowIndex); + return null != n; + }) + .map(function (t) { + var r = n.props.getFieldLinks, + a = r ? r(t, e.rowIndex) : []; + return { + key: t.name, + value: t.values.get(e.rowIndex).toString(), + links: a.map(function (e) { + return e.href; + }), + fieldIndex: t.index, + }; + }); + })), + (n.getAllFields = Object(Cc.a)(function (e) { + var t = n.parseMessage(e.entry), + r = n.getDerivedFields(e), + a = [].concat(Uu(r), Uu(t)).reduce(function (e, t) { + var n = t.value.replace(/(^")|("$)/g, ""), + r = "".concat(t.key, "=").concat(n); + return ( + e[r] + ? (e[r].links = [].concat( + Uu(e[r].links || []), + Uu(t.links || []) + )) + : (e[r] = t), + e + ); + }, {}); + return Object.values(a); + })), + (n.getStatsForParsedField = function (e) { + var t = n.getParser(n.props.row.entry).buildMatcher(e); + return Object(Pe.calculateFieldStats)(n.props.getRows(), t); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ju(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.row, + r = t.theme, + i = t.onClickFilterOutLabel, + l = t.onClickFilterLabel, + s = t.getRows, + c = t.showDuplicates, + u = t.className, + f = t.onMouseEnter, + d = t.onMouseLeave, + p = Wc(r, n.logLevel), + h = nf(r), + m = n.labels ? n.labels : {}, + g = Object.keys(m).length > 0, + b = this.getAllFields(n), + v = b && b.length > 0; + return a.a.createElement( + "tr", + { + className: Object(o.cx)(u, h.logDetailsDefaultCursor), + onMouseEnter: f, + onMouseLeave: d, + }, + c && a.a.createElement("td", null), + a.a.createElement("td", { + className: Object(o.cx)( + p.logsRowLevel, + h.logsRowLevelDetails + ), + }), + a.a.createElement( + "td", + { colSpan: 4 }, + a.a.createElement( + "div", + { className: p.logDetailsContainer }, + a.a.createElement( + "table", + { className: p.logDetailsTable }, + a.a.createElement( + "tbody", + null, + g && + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { + colSpan: 5, + className: p.logDetailsHeading, + "aria-label": "Log Labels", + }, + "Log Labels:" + ) + ), + Object.keys(m).map(function (e) { + var t = m[e]; + return a.a.createElement($u, { + key: "".concat(e, "=").concat(t), + parsedKey: e, + parsedValue: t, + isLabel: !0, + getStats: function () { + return Object(Pe.calculateLogsLabelStats)( + s(), + e + ); + }, + onClickFilterOutLabel: i, + onClickFilterLabel: l, + }); + }), + v && + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { + colSpan: 5, + className: p.logDetailsHeading, + "aria-label": "Parsed Fields", + }, + "Parsed Fields:" + ) + ), + b.map(function (t) { + var r = t.key, + o = t.value, + i = t.links, + l = t.fieldIndex; + return a.a.createElement($u, { + key: "".concat(r, "=").concat(o), + parsedKey: r, + parsedValue: o, + links: i, + getStats: function () { + return void 0 === l + ? e.getStatsForParsedField(r) + : Object(Pe.calculateStats)( + n.dataFrame.fields[l].values.toArray() + ); + }, + }); + }), + !v && + !g && + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { colSpan: 5, "aria-label": "No details" }, + "No details available" + ) + ) + ) + ) + ) + ) + ); + }, + }, + ]) && Qu(n.prototype, r), + i && Qu(n, i), + t + ); + })(r.PureComponent), + af = Object(i.i)(rf); + af.displayName = "LogDetails"; + var of = n("WG1l"), + lf = n.n(of), + sf = n("bTeP"); + function cf() { + var e = vf(["\n top: 100%;\n "]); + return ( + (cf = function () { + return e; + }), + e + ); + } + function uf() { + var e = vf(["\n top: -250px;\n "]); + return ( + (uf = function () { + return e; + }), + e + ); + } + function ff() { + var e = vf([ + "\n padding: 5px 0;\n ", + ]); + return ( + (ff = function () { + return e; + }), + e + ); + } + function df(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function pf() { + var e = vf([ + "\n margin-left: 10px;\n &:hover {\n text-decoration: underline;\n cursor: pointer;\n }\n ", + ]); + return ( + (pf = function () { + return e; + }), + e + ); + } + function hf() { + var e = vf(["\n opacity: 0.6;\n "]); + return ( + (hf = function () { + return e; + }), + e + ); + } + function mf() { + var e = vf(["\n height: 220px;\n padding: 10px;\n "]); + return ( + (mf = function () { + return e; + }), + e + ); + } + function gf() { + var e = vf([ + "\n height: 30px;\n padding: 0 10px;\n display: flex;\n align-items: center;\n background: ", + ";\n ", + ]); + return ( + (gf = function () { + return e; + }), + e + ); + } + function bf() { + var e = vf([ + "\n position: absolute;\n width: calc(100% + 20px);\n left: -10px;\n height: 250px;\n z-index: 2;\n overflow: hidden;\n background: ", + ";\n background: linear-gradient(180deg, ", + " 0%, ", + " 104.25%);\n box-shadow: 0px 2px 4px ", + ", 0px 0px 2px ", + ";\n border: 1px solid ", + ";\n border-radius: ", + ";\n ", + ]); + return ( + (bf = function () { + return e; + }), + e + ); + } + function vf(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var yf = function (e) { + var t = Object(Ne.a)( + { light: e.colors.white, dark: e.colors.dark1 }, + e.type + ), + n = Object(Ne.a)( + { light: e.colors.gray7, dark: e.colors.dark2 }, + e.type + ), + r = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.black }, + e.type + ), + a = Object(Ne.a)( + { light: e.colors.gray5, dark: e.colors.dark9 }, + e.type + ); + return { + commonStyles: Object(o.css)( + bf(), + e.colors.pageBg, + t, + n, + r, + r, + a, + e.border.radius.md + ), + header: Object(o.css)(gf(), a), + logs: Object(o.css)(mf()), + }; + }, + wf = function (e) { + e.row; + var t = e.rows, + n = e.onLoadMoreContext, + i = e.canLoadMoreRows, + l = Object(r.useContext)(Bt.a), + s = yf(l).header; + return a.a.createElement( + "div", + { className: s }, + a.a.createElement( + "span", + { className: Object(o.css)(hf()) }, + "Found ", + t.length, + " rows." + ), + (t.length >= 10 || (t.length > 10 && t.length % 10 != 0)) && + i && + a.a.createElement( + "span", + { + className: Object(o.css)(pf()), + onClick: function () { + return n(); + }, + }, + "Load 10 more" + ) + ); + }, + Of = function (e) { + var t = e.row, + n = e.rows, + i = e.error, + l = e.className, + s = e.shouldScrollToBottom, + c = e.canLoadMoreRows, + u = e.onLoadMoreContext, + f = Object(r.useContext)(Bt.a), + d = yf(f), + p = d.commonStyles, + h = d.logs, + m = df(Object(r.useState)(0), 2), + g = m[0], + b = m[1], + v = Object(r.useRef)(); + Object(r.useLayoutEffect)(function () { + s && v.current && b(v.current.offsetHeight); + }); + var y = { row: t, rows: n, onLoadMoreContext: u, canLoadMoreRows: c }; + return a.a.createElement( + "div", + { className: Object(o.cx)(l, p) }, + s && !i && a.a.createElement(wf, y), + a.a.createElement( + "div", + { className: h }, + a.a.createElement( + _.a, + { autoHide: !0, scrollTop: g }, + a.a.createElement( + "div", + { ref: v }, + !i && + a.a.createElement(kr.a, { + items: n, + renderItem: function (e) { + return a.a.createElement( + "div", + { className: Object(o.css)(ff()) }, + e + ); + }, + }), + i && a.a.createElement(Gs, { title: i }) + ) + ) + ), + !s && !i && a.a.createElement(wf, y) + ); + }, + xf = function (e) { + var t = e.row, + n = e.context, + r = e.errors, + i = e.onOutsideClick, + l = e.onLoadMoreContext, + s = e.hasMoreContextRows; + return a.a.createElement( + sf.a, + { onClick: i }, + a.a.createElement( + "div", + null, + n.after && + a.a.createElement(Of, { + rows: n.after, + error: r && r.after, + row: t, + className: Object(o.css)(uf()), + shouldScrollToBottom: !0, + canLoadMoreRows: !!s && s.after, + onLoadMoreContext: l, + }), + n.before && + a.a.createElement(Of, { + onLoadMoreContext: l, + canLoadMoreRows: !!s && s.before, + row: t, + rows: n.before, + error: r && r.before, + className: Object(o.css)(cf()), + }) + ) + ); + }, + kf = n("Kcoi"); + function jf(e) { + return (jf = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Sf(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ef(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Cf(e, t) { + return !t || ("object" !== jf(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Pf(e) { + return (Pf = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Tf(e, t) { + return (Tf = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Df = (function (e) { + function t() { + var e, n; + Sf(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Cf( + this, + (e = Pf(t)).call.apply(e, [this].concat(a)) + )).state = { chunks: [], prevValue: "" }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Tf(e, t); + })(t, e), + (n = t), + (o = [ + { + key: "getDerivedStateFromProps", + value: function (e, t) { + return e.value === t.prevValue + ? null + : { + chunks: kf.a.parse(e.value).spans.map(function (e) { + return e.css + ? { + style: + ((t = e.css), + t.split(/;\s*/).reduce(function (e, t) { + var n = t.match(/([^:\s]+)\s*:\s*(.+)/); + return ( + n && + n[1] && + n[2] && + (e[ + n[1].replace(/-([a-z])/g, function ( + e, + t + ) { + return t.toUpperCase(); + }) + ] = n[2]), + e + ); + }, {})), + text: e.text, + } + : { text: e.text }; + var t; + }), + prevValue: e.value, + }; + }, + }, + ]), + (r = [ + { + key: "render", + value: function () { + return this.state.chunks.map(function (e, t) { + return e.style + ? a.a.createElement( + "span", + { key: t, style: e.style }, + e.text + ) + : e.text; + }); + }, + }, + ]) && Ef(n.prototype, r), + o && Ef(n, o), + t + ); + })(r.PureComponent); + function Af(e) { + return (Af = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function _f(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Nf(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Mf(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function If(e, t) { + return !t || ("object" !== Af(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Rf(e) { + return (Rf = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ff(e, t) { + return (Ff = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Lf() { + var e = qf([ + "\n label: verticalScroll;\n white-space: nowrap;\n ", + ]); + return ( + (Lf = function () { + return e; + }), + e + ); + } + function Vf() { + var e = qf([ + "\n label: whiteSpacePreWrap;\n white-space: pre-wrap;\n ", + ]); + return ( + (Vf = function () { + return e; + }), + e + ); + } + function Bf() { + var e = qf([ + "\n label: rowWithContext;\n z-index: 1;\n outline: 9999px solid\n ", + ";\n ", + ]); + return ( + (Bf = function () { + return e; + }), + e + ); + } + function $f() { + var e = qf([ + "\n label: positionRelative;\n position: relative;\n ", + ]); + return ( + ($f = function () { + return e; + }), + e + ); + } + function qf(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Uf = Object(jr.a)(function (e) { + var t = Object(hr.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.black }, + e.type + ); + return { + positionRelative: Object(o.css)($f()), + rowWithContext: Object(o.css)( + Bf(), + Ue()(t).setAlpha(0.7).toRgbString() + ), + whiteSpacePreWrap: Object(o.css)(Vf()), + horizontalScroll: Object(o.css)(Lf()), + }; + }), + zf = (function (e) { + function t() { + var e, n; + Nf(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = If( + this, + (e = Rf(t)).call.apply(e, [this].concat(a)) + )).onContextToggle = function (e) { + e.stopPropagation(), n.props.onToggleContext(); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ff(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.highlighterExpressions, + n = e.row, + r = e.theme, + i = e.errors, + l = e.hasMoreContextRows, + s = e.updateLimit, + c = e.context, + u = e.showContext, + f = e.wrapLogMessage, + d = e.onToggleContext, + p = Wc(r, n.logLevel), + h = n.entry, + m = n.hasAnsi, + g = n.raw, + b = t && !ga.a.isEqual(t, n.searchWords), + v = b ? t : n.searchWords, + y = v && v.length > 0 && v[0] && v[0].length > 0, + w = b + ? Object(o.cx)([ + p.logsRowMatchHighLight, + p.logsRowMatchHighLightPreview, + ]) + : Object(o.cx)([p.logsRowMatchHighLight]), + O = Uf(r); + return a.a.createElement( + "td", + { className: p.logsRowMessage }, + a.a.createElement( + "div", + { + className: Object(o.cx)( + O.positionRelative, + _f({}, O.horizontalScroll, !f) + ), + }, + u && + c && + a.a.createElement(xf, { + row: n, + context: c, + errors: i, + hasMoreContextRows: l, + onOutsideClick: d, + onLoadMoreContext: function () { + s && s(); + }, + }), + a.a.createElement( + "span", + { + className: Object(o.cx)( + O.positionRelative, + _f({}, O.rowWithContext, u) + ), + }, + y + ? a.a.createElement(lf.a, { + style: O.whiteSpacePreWrap, + textToHighlight: h, + searchWords: v, + findChunks: Pe.findHighlightChunksInText, + highlightClassName: w, + }) + : m + ? a.a.createElement(Df, { value: g }) + : h + ), + n.searchWords && + n.searchWords.length > 0 && + a.a.createElement( + "span", + { + onClick: this.onContextToggle, + className: Object(o.cx)(p.context), + }, + u ? "Hide" : "Show", + " context" + ) + ) + ); + }, + }, + ]) && Mf(n.prototype, r), + i && Mf(n, i), + t + ); + })(r.PureComponent), + Hf = Object(i.i)(zf); + function Gf(e) { + return (Gf = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Wf(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Qf(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Yf(e, t) { + return !t || ("object" !== Gf(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Kf(e) { + return (Kf = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Jf(e, t) { + return (Jf = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function Zf() { + var e = ed([ + "\n label: hoverBackground;\n background-color: ", + ";\n ", + ]); + return ( + (Zf = function () { + return e; + }), + e + ); + } + function Xf() { + var e = ed([ + "\n label: topVerticalAlign;\n vertical-align: top;\n ", + ]); + return ( + (Xf = function () { + return e; + }), + e + ); + } + function ed(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + Hf.displayName = "LogRowMessage"; + var td = Object(jr.a)(function (e) { + var t = Object(Ne.a)( + { light: e.colors.gray7, dark: e.colors.dark2 }, + e.type + ); + return { + topVerticalAlign: Object(o.css)(Xf()), + hoverBackground: Object(o.css)(Zf(), t), + }; + }), + nd = (function (e) { + function t() { + var e, n; + Wf(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Yf( + this, + (e = Kf(t)).call.apply(e, [this].concat(a)) + )).state = { + showContext: !1, + showDetails: !1, + hasHoverBackground: !1, + }), + (n.toggleContext = function () { + n.setState(function (e) { + return { showContext: !e.showContext }; + }); + }), + (n.addHoverBackground = function () { + n.setState({ hasHoverBackground: !0 }); + }), + (n.clearHoverBackground = function () { + n.setState({ hasHoverBackground: !1 }); + }), + (n.toggleDetails = function () { + n.props.allowDetails || + n.setState(function (e) { + return { showDetails: !e.showDetails }; + }); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Jf(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "renderLogRow", + value: function (e, t, n, r) { + var i, + l, + s, + c = this.props, + u = c.getRows, + f = c.onClickFilterLabel, + d = c.onClickFilterOutLabel, + p = c.highlighterExpressions, + h = c.allowDetails, + m = c.row, + g = c.showDuplicates, + b = c.timeZone, + v = c.showLabels, + y = c.showTime, + w = c.wrapLogMessage, + O = c.theme, + x = c.getFieldLinks, + k = this.state, + j = k.showDetails, + S = k.showContext, + E = k.hasHoverBackground, + C = Wc(O, m.logLevel), + P = td(O), + T = "utc" === b, + D = j + ? Object(o.cx)(["fa fa-chevron-down", P.topVerticalAlign]) + : Object(o.cx)([ + "fa fa-chevron-right", + P.topVerticalAlign, + ]), + A = Object(o.cx)( + C.logsRow, + ((i = {}), + (l = P.hoverBackground), + (s = E), + l in i + ? Object.defineProperty(i, l, { + value: s, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (i[l] = s), + i) + ); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "tr", + { + className: A, + onMouseEnter: this.addHoverBackground, + onMouseLeave: this.clearHoverBackground, + onClick: this.toggleDetails, + }, + g && + a.a.createElement( + "td", + { className: C.logsRowDuplicates }, + m.duplicates && m.duplicates > 0 + ? "".concat(m.duplicates + 1, "x") + : null + ), + a.a.createElement("td", { className: C.logsRowLevel }), + !h && + a.a.createElement( + "td", + { + title: j ? "Hide log details" : "See log details", + className: C.logsRowToggleDetails, + }, + a.a.createElement("i", { className: D }) + ), + y && + T && + a.a.createElement( + "td", + { + className: C.logsRowLocalTime, + title: "Local: " + .concat(m.timeLocal, " (") + .concat(m.timeFromNow, ")"), + }, + m.timeUtc + ), + y && + !T && + a.a.createElement( + "td", + { + className: C.logsRowLocalTime, + title: "" + .concat(m.timeUtc, " (") + .concat(m.timeFromNow, ")"), + }, + m.timeLocal + ), + v && + m.uniqueLabels && + a.a.createElement( + "td", + { className: C.logsRowLabels }, + a.a.createElement(Ec, { labels: m.uniqueLabels }) + ), + a.a.createElement(Hf, { + highlighterExpressions: p, + row: m, + getRows: u, + errors: t, + hasMoreContextRows: n, + updateLimit: r, + context: e, + showContext: S, + wrapLogMessage: w, + onToggleContext: this.toggleContext, + }) + ), + this.state.showDetails && + a.a.createElement(af, { + className: A, + onMouseEnter: this.addHoverBackground, + onMouseLeave: this.clearHoverBackground, + showDuplicates: g, + getFieldLinks: x, + onClickFilterLabel: f, + onClickFilterOutLabel: d, + getRows: u, + row: m, + }) + ); + }, + }, + { + key: "render", + value: function () { + var e = this; + return this.state.showContext + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + nu, + { + row: this.props.row, + getRowContext: this.props.getRowContext, + }, + function (t) { + var n = t.result, + r = t.errors, + o = t.hasMoreContextRows, + i = t.updateLimit; + return a.a.createElement( + a.a.Fragment, + null, + e.renderLogRow(n, r, o, i) + ); + } + ) + ) + : this.renderLogRow(); + }, + }, + ]) && Qf(n.prototype, r), + i && Qf(n, i), + t + ); + })(r.PureComponent), + rd = Object(i.i)(nd); + function ad(e) { + return (ad = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function od(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function id(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ld(e, t) { + return !t || ("object" !== ad(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function sd(e) { + return (sd = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function cd(e, t) { + return (cd = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + rd.displayName = "LogRow"; + var ud = (function (e) { + function t() { + var e, n; + od(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ld( + this, + (e = sd(t)).call.apply(e, [this].concat(a)) + )).renderAllTimer = null), + (n.state = { renderAll: !1 }), + (n.makeGetRows = Object(Cc.a)(function (e) { + return function () { + return e; + }; + })), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && cd(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this, + t = this.props, + n = t.logRows, + r = t.previewLimit, + a = (n ? n.length : 0) <= 2 * r; + a + ? this.setState({ renderAll: a }) + : (this.renderAllTimer = window.setTimeout(function () { + return e.setState({ renderAll: !0 }); + }, 2e3)); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.renderAllTimer && clearTimeout(this.renderAllTimer); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.dedupStrategy, + n = e.showLabels, + r = e.showTime, + o = e.wrapLogMessage, + i = e.logRows, + l = e.deduplicatedRows, + s = e.highlighterExpressions, + c = e.timeZone, + u = e.onClickFilterLabel, + f = e.onClickFilterOutLabel, + d = e.rowLimit, + p = e.theme, + h = e.allowDetails, + m = e.previewLimit, + g = e.getFieldLinks, + b = this.state.renderAll, + v = Wc(p), + y = v.logsRowsTable, + w = v.logsRowsHorizontalScroll, + O = l || i, + x = i && i.length > 0, + k = O + ? O.reduce(function (e, t) { + return t.duplicates ? e + t.duplicates : e; + }, 0) + : 0, + j = t !== Pe.LogsDedupStrategy.none && k > 0, + S = o ? "" : w, + E = O || [], + C = E.slice(0, m), + P = Math.min(E.length, d), + T = E.slice(m, P), + D = this.makeGetRows(E), + A = this.props.getRowContext + ? this.props.getRowContext + : function () { + return Promise.resolve([]); + }; + return a.a.createElement( + "div", + { className: S }, + a.a.createElement( + "table", + { className: y }, + a.a.createElement( + "tbody", + null, + x && + C.map(function (e, t) { + return a.a.createElement(rd, { + key: e.uid, + getRows: D, + getRowContext: A, + highlighterExpressions: s, + row: e, + showDuplicates: j, + showLabels: n, + showTime: r, + wrapLogMessage: o, + timeZone: c, + allowDetails: h, + onClickFilterLabel: u, + onClickFilterOutLabel: f, + getFieldLinks: g, + }); + }), + x && + b && + T.map(function (e, t) { + return a.a.createElement(rd, { + key: e.uid, + getRows: D, + getRowContext: A, + row: e, + showDuplicates: j, + showLabels: n, + showTime: r, + wrapLogMessage: o, + timeZone: c, + allowDetails: h, + onClickFilterLabel: u, + onClickFilterOutLabel: f, + getFieldLinks: g, + }); + }), + x && + !b && + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { colSpan: 5 }, + "Rendering ", + P - m, + " rows..." + ) + ) + ) + ) + ); + }, + }, + ]) && id(n.prototype, r), + o && id(n, o), + t + ); + })(r.PureComponent); + ud.defaultProps = { previewLimit: 100, rowLimit: 500 }; + var fd = Object(i.i)(ud); + function dd(e) { + return (dd = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function pd(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function hd(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function md(e, t) { + return !t || ("object" !== dd(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function gd(e) { + return (gd = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function bd(e, t) { + return (bd = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + fd.displayName = "LogsRows"; + var vd = (function (e) { + function t() { + return pd(this, t), md(this, gd(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && bd(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t, + n, + r = this.props, + o = r.children, + i = r.label, + l = r.transparent, + s = r.width, + c = fe()( + "gf-form-label", + ((e = { "gf-form-label--transparent": l }), + (t = "width-".concat(s)), + (n = s), + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e) + ), + u = fe()("toggle-button-group", { + "toggle-button-group--transparent": l, + "toggle-button-group--padded": s, + }); + return a.a.createElement( + "div", + { className: "gf-form gf-form--align-center" }, + i && a.a.createElement("label", { className: c }, i), + a.a.createElement("div", { className: u }, o) + ); + }, + }, + ]) && hd(n.prototype, r), + o && hd(n, o), + t + ); + })(r.PureComponent), + yd = function (e) { + var t = e.children, + n = e.selected, + r = e.className, + o = void 0 === r ? "" : r, + i = e.value, + l = void 0 === i ? null : i, + s = e.tooltip, + c = e.onChange, + u = "btn ".concat(o).concat(n ? " active" : ""), + f = a.a.createElement( + "button", + { + className: u, + onClick: function (e) { + e.stopPropagation(), !n && c && c(l); + }, + }, + a.a.createElement("span", null, t) + ); + return s + ? a.a.createElement(P.b, { content: s, placement: "bottom" }, f) + : f; + }; + function wd() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n display: flex;\n\n button {\n flex-grow: 1;\n justify-content: center;\n }\n\n > * {\n flex-grow: 1;\n }\n\n label {\n flex-grow: 1;\n text-align: center;\n }\n ", + ]); + return ( + (wd = function () { + return e; + }), + e + ); + } + var Od = function (e) { + var t = e.className, + n = e.children, + r = xd(); + return a.a.createElement("div", { className: Object(o.cx)(r, t) }, n); + }, + xd = Object(i.g)(function () { + return Object(o.css)(wd()); + }); + function kd(e) { + return (kd = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function jd(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Sd(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ed(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Sd(Object(n), !0).forEach(function (t) { + Cd(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Sd(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Cd(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Pd(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Td(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Dd(e, t) { + return !t || ("object" !== kd(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ad(e) { + return (Ad = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function _d(e, t) { + return (_d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Nd = 100, + Md = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Dd( + this, + Ad(t).call(this, e) + )).onAddThresholdAfter = function (e) { + var t = n.state.steps, + r = void 0, + a = void 0, + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = t[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value; + if (r && r.key === e.key) { + a = u; + break; + } + r = u; + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + var f = r && isFinite(r.value) ? r.value : 0, + d = { + value: + f + ((a && isFinite(a.value) ? a.value : 100) - f) / 2, + color: Ge.o.filter(function (e) { + return !t.some(function (t) { + return t.color === e; + }); + })[1], + key: Nd++, + }, + p = [].concat(Pd(t), [d]); + Object(Pe.sortThresholds)(p), + n.setState({ steps: p }, function () { + return n.onChange(); + }); + }), + (n.onRemoveThreshold = function (e) { + var t = n.state.steps; + t.length && + e.key !== t[0].key && + n.setState( + { + steps: t.filter(function (t) { + return t.key !== e.key; + }), + }, + function () { + return n.onChange(); + } + ); + }), + (n.onChangeThresholdValue = function (e, t) { + var r = e.target.value.replace(/,/g, "."), + a = parseFloat(r), + o = isNaN(a) ? "" : a, + i = n.state.steps.map(function (e) { + return e.key === t.key && (e = Ed({}, e, { value: o })), e; + }); + i.length && (i[0].value = -1 / 0), n.setState({ steps: i }); + }), + (n.onChangeThresholdColor = function (e, t) { + var r = n.state.steps.map(function (n) { + return n.key === e.key && (n = Ed({}, n, { color: t })), n; + }); + n.setState({ steps: r }, function () { + return n.onChange(); + }); + }), + (n.onBlur = function () { + var e = Pd(n.state.steps); + Object(Pe.sortThresholds)(e), + n.setState({ steps: e }, function () { + return n.onChange(); + }); + }), + (n.onChange = function () { + var e, t, r; + n.props.onChange( + ((e = n.props.thresholds), + (t = n.state.steps), + (e = Id(e)), + { + mode: + null !== (r = e.mode) && void 0 !== r + ? r + : Pe.ThresholdsMode.Absolute, + steps: t.map(function (e) { + return e.key, jd(e, ["key"]); + }), + }) + ); + }), + (n.onModeChanged = function (e) { + e.value && + n.props.onChange( + Ed({}, Id(n.props.thresholds), { mode: e.value }) + ); + }), + (n.renderInput = function (e) { + var t = + Id(n.props.thresholds).mode === Pe.ThresholdsMode.Percentage; + return a.a.createElement( + "div", + { className: "thresholds-row-input-inner" }, + a.a.createElement("span", { + className: "thresholds-row-input-inner-arrow", + }), + a.a.createElement( + "div", + { className: "thresholds-row-input-inner-color" }, + e.color && + a.a.createElement( + "div", + { + className: + "thresholds-row-input-inner-color-colorpicker", + }, + a.a.createElement(fn, { + color: e.color, + onChange: function (t) { + return n.onChangeThresholdColor(e, t); + }, + enableNamedColors: !0, + }) + ) + ), + isFinite(e.value) + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "thresholds-row-input-inner-value" }, + a.a.createElement(lt, { + type: "number", + step: "0.0001", + onChange: function (t) { + return n.onChangeThresholdValue(t, e); + }, + value: e.value, + onBlur: n.onBlur, + }) + ), + t && + a.a.createElement( + "div", + { + className: Object(o.css)( + "margin-left:-20px; margin-top:5px;" + ), + }, + a.a.createElement("i", { + className: "fa fa-percent", + }) + ), + a.a.createElement( + "div", + { + className: "thresholds-row-input-inner-remove", + onClick: function () { + return n.onRemoveThreshold(e); + }, + }, + a.a.createElement("i", { className: "fa fa-times" }) + ) + ) + : a.a.createElement( + "div", + { className: "thresholds-row-input-inner-value" }, + a.a.createElement(lt, { + type: "text", + value: "Base", + readOnly: !0, + }) + ) + ); + }); + var r = (function (e) { + var t = (e = Id(e)).steps || []; + e.steps && + 0 === e.steps.length && + (t = [{ value: -1 / 0, color: "green" }]); + return t.map(function (e) { + return { + color: e.color, + value: null === e.value ? -1 / 0 : e.value, + key: Nd++, + }; + }); + })(e.thresholds); + return (r[0].value = -1 / 0), (n.state = { steps: r }), n; + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && _d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.state.steps; + return a.a.createElement( + pn, + { title: "Thresholds" }, + a.a.createElement(Bt.a.Consumer, null, function (n) { + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "thresholds" }, + t + .slice(0) + .reverse() + .map(function (t) { + return a.a.createElement( + "div", + { + className: "thresholds-row", + key: "".concat(t.key), + }, + a.a.createElement( + "div", + { + className: "thresholds-row-add-button", + onClick: function () { + return e.onAddThresholdAfter(t); + }, + }, + a.a.createElement("i", { + className: "fa fa-plus", + }) + ), + a.a.createElement("div", { + className: "thresholds-row-color-indicator", + style: { + backgroundColor: Object( + Pe.getColorFromHexRgbOrName + )(t.color, n.type), + }, + }), + a.a.createElement( + "div", + { className: "thresholds-row-input" }, + e.renderInput(t) + ) + ); + }) + ) + ); + }) + ); + }, + }, + ]) && Td(n.prototype, r), + i && Td(n, i), + t + ); + })(r.PureComponent); + function Id(e) { + return null != e ? e : { steps: [], mode: Pe.ThresholdsMode.Absolute }; + } + function Rd(e) { + return (Rd = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Fd(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ld(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Fd(Object(n), !0).forEach(function (t) { + Vd(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Fd(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Vd(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Bd(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function $d(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function qd(e, t) { + return !t || ("object" !== Rd(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ud(e) { + return (Ud = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function zd(e, t) { + return (zd = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Hd = [ + { + value: !0, + label: "All Values", + description: "Each row in the response data", + }, + { + value: !1, + label: "Calculation", + description: "Calculate a value based on the response", + }, + ], + Gd = (function (e) { + function t() { + var e, n; + Bd(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = qd( + this, + (e = Ud(t)).call.apply(e, [this].concat(a)) + )).onShowValuesChange = function (e) { + var t = !0 === e.value; + n.props.onChange(Ld({}, n.props.value, { values: t })); + }), + (n.onCalcsChange = function (e) { + n.props.onChange(Ld({}, n.props.value, { calcs: e })); + }), + (n.onDefaultsChange = function (e) { + n.props.onChange(Ld({}, n.props.value, { defaults: e })); + }), + (n.onLimitChange = function (e) { + n.props.onChange( + Ld({}, n.props.value, { + limit: Object(Pe.toIntegerOrUndefined)(e.target.value), + }) + ); + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && zd(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.value, + t = e.calcs, + n = e.values, + r = e.limit, + o = this.props.labelWidth || 5; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(he, { width: o }, "Show"), + a.a.createElement(z.c, { + options: Hd, + value: n ? Hd[0] : Hd[1], + onChange: this.onShowValuesChange, + }) + ), + n + ? a.a.createElement(be, { + label: "Limit", + labelWidth: o, + placeholder: "".concat( + Pe.DEFAULT_FIELD_DISPLAY_VALUES_LIMIT + ), + onChange: this.onLimitChange, + value: Object(Pe.toNumberString)(r), + type: "number", + }) + : a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(he, { width: o }, "Calc"), + a.a.createElement(ur, { + width: 12, + placeholder: "Choose Stat", + defaultStat: Pe.ReducerID.mean, + allowMultiple: !1, + stats: t, + onChange: this.onCalcsChange, + }) + ) + ); + }, + }, + ]) && $d(n.prototype, r), + o && $d(n, o), + t + ); + })(r.PureComponent); + function Wd(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Qd(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Wd(Object(n), !0).forEach(function (t) { + Yd(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Wd(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Yd(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Kd(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var Jd = function (e) { + var t = e.value, + n = e.onChange, + o = e.showMinMax, + i = e.showTitle, + l = t.unit, + s = t.title, + c = Kd( + Object(r.useState)( + void 0 !== t.decimals && null !== t.decimals + ? t.decimals.toString() + : "" + ), + 2 + ), + u = c[0], + f = c[1], + d = Kd(Object(r.useState)(Object(Pe.toNumberString)(t.min)), 2), + p = d[0], + h = d[1], + m = Kd(Object(r.useState)(Object(Pe.toNumberString)(t.max)), 2), + g = m[0], + b = m[1], + v = Object(r.useCallback)( + function (e) { + f(e.target.value); + }, + [t.decimals, n] + ), + y = Object(r.useCallback)( + function (e) { + h(e.target.value); + }, + [t.min, n] + ), + w = Object(r.useCallback)( + function (e) { + b(e.target.value); + }, + [t.max, n] + ), + O = Object(r.useCallback)( + function () { + n( + Qd({}, t, { + decimals: Object(Pe.toIntegerOrUndefined)(u), + min: Object(Pe.toFloatOrUndefined)(p), + max: Object(Pe.toFloatOrUndefined)(g), + }) + ); + }, + [p, g, u, t] + ), + x = a.a.createElement( + "div", + null, + "Template Variables:", + a.a.createElement("br", null), + "${" + Pe.VAR_SERIES_NAME + "}", + a.a.createElement("br", null), + "${" + Pe.VAR_FIELD_NAME + "}", + a.a.createElement("br", null), + "$" + Pe.VAR_CELL_PREFIX + "{N}", + " / ", + "$" + Pe.VAR_CALC + ); + return a.a.createElement( + a.a.Fragment, + null, + i && + a.a.createElement(be, { + label: "Title", + labelWidth: 6, + onChange: function (e) { + n(Qd({}, t, { title: e.target.value })); + }, + value: s, + tooltip: x, + placeholder: "Auto", + "aria-label": "Field properties editor title input", + }), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(he, { width: 6 }, "Unit"), + a.a.createElement(Xn, { + value: l, + onChange: function (e) { + n(Qd({}, t, { unit: e })); + }, + }) + ), + o && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(be, { + label: "Min", + labelWidth: 6, + onChange: y, + onBlur: O, + value: p, + placeholder: "Auto", + type: "number", + "aria-label": "Field properties editor min input", + }), + a.a.createElement(be, { + label: "Max", + labelWidth: 6, + onChange: w, + onBlur: O, + value: g, + type: "number", + placeholder: "Auto", + "aria-label": "Field properties editor max input", + }) + ), + a.a.createElement(be, { + label: "Decimals", + labelWidth: 6, + placeholder: "auto", + onChange: v, + onBlur: O, + value: u, + type: "number", + }) + ); + }, + Zd = n("BkRI"), + Xd = n.n(Zd); + function ep(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function tp(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ep(Object(n), !0).forEach(function (t) { + np(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ep(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function np(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function rp(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var ap = ["fieldOptions", "orientation"]; + function op(e, t, n) { + if ("singlestat" === t && n.angular) { + var r = n.angular, + a = Pe.fieldReducers.getIfExists(r.valueName), + o = { + fieldOptions: { + defaults: {}, + overrides: [], + calcs: [a ? a.id : Pe.ReducerID.mean], + }, + orientation: Pe.VizOrientation.Horizontal, + }, + i = o.fieldOptions.defaults; + if ( + (r.format && (i.unit = r.format), + r.nullPointMode && (i.nullValueMode = r.nullPointMode), + r.nullText && (i.noValue = r.nullText), + (r.decimals || 0 === r.decimals) && (i.decimals = r.decimals), + r.thresholds && r.colors) + ) { + var l = r.thresholds.split(",").map(function (e) { + return Number(e.trim()); + }), + s = [], + c = !0, + u = !1, + f = void 0; + try { + for ( + var d, p = r.colors[Symbol.iterator](); + !(c = (d = p.next()).done); + c = !0 + ) { + var h = d.value, + m = s.length - 1; + m >= 0 + ? s.push({ value: l[m], color: h }) + : s.push({ value: -1 / 0, color: h }); + } + } catch (e) { + (u = !0), (f = e); + } finally { + try { + c || null == p.return || p.return(); + } finally { + if (u) throw f; + } + } + i.thresholds = { mode: Pe.ThresholdsMode.Absolute, steps: s }; + } + var g = sp(r); + return ( + g && g.length && (i.mappings = g), + r.gauge && + r.gauge.show && + ((i.min = r.gauge.minValue), (i.max = r.gauge.maxValue)), + o + ); + } + var b = !0, + v = !1, + y = void 0; + try { + for ( + var w, O = ap[Symbol.iterator](); + !(b = (w = O.next()).done); + b = !0 + ) { + var x = w.value; + n.hasOwnProperty(x) && (e[x] = Xd()(n[x])); + } + } catch (e) { + (v = !0), (y = e); + } finally { + try { + b || null == O.return || O.return(); + } finally { + if (v) throw y; + } + } + return e; + } + function ip(e) { + if (!e.options) return {}; + var t = parseFloat(e.pluginVersion || "6.1"), + n = e.options; + if ( + (t < 6.2 && + (n = (function (e) { + var t = e.valueOptions; + if (!t) return e; + var n = {}, + r = {}; + if ( + ((n.mappings = e.valueMappings), + (n.thresholds = e.thresholds), + (n.defaults = r), + (r.unit = t.unit), + (r.decimals = t.decimals), + t.stat) + ) { + var a = Pe.fieldReducers.get(t.stat); + a && (n.calcs = [a.id]); + } + (r.min = e.minValue), (r.max = e.maxValue); + var o = tp({}, e, { fieldOptions: n }); + return ye()( + o, + "valueMappings", + "thresholds", + "valueOptions", + "minValue", + "maxValue" + ); + })(n)), + t < 6.3 && + (n = (function (e) { + var t = e.fieldOptions; + if (!t) return e; + var n = e.fieldOptions, + r = n.mappings, + a = rp(n, ["mappings"]), + o = void 0; + e.thresholds && + (o = { + mode: Pe.ThresholdsMode.Absolute, + steps: lp(e.thresholds), + }); + return tp({}, e, { + fieldOptions: tp({}, a, { + defaults: tp({}, t.defaults, { mappings: r, thresholds: o }), + }), + }); + })(n)), + t < 6.6) + ) { + var r, + a = n.fieldOptions; + if (a && a.override) { + var o = n.fieldOptions; + o.override; + n = tp({}, n, { + fieldOptions: tp({}, rp(o, ["override"]), { overrides: [] }), + }); + } + var i = + null == a + ? void 0 + : null === (r = a.defaults) || void 0 === r + ? void 0 + : r.thresholds; + i + ? delete a.defaults.thresholds + : ((i = null == a ? void 0 : a.thresholds), delete a.thresholds), + i && + (a.defaults.thresholds = { + mode: Pe.ThresholdsMode.Absolute, + steps: i, + }); + var l = a.defaults; + l.color && + "string" == typeof l.color && + (l.color = { mode: Pe.FieldColorMode.Fixed, fixedColor: l.color }), + Object(Pe.validateFieldConfig)(l); + } + return n; + } + function lp(e) { + if (e && e.length) { + var t = e.map(function (e) { + return { + value: null === e.value ? -1 / 0 : e.value, + color: e.color, + }; + }); + return Object(Pe.sortThresholds)(t), (t[0].value = -1 / 0), t; + } + } + function sp(e) { + var t = [], + n = e.mappingType; + if ( + (e.mappingType || + (e.valueMaps && e.valueMaps.length + ? (n = 1) + : e.rangeMaps && e.rangeMaps.length && (n = 2)), + 1 === n) + ) + for (var r = 0; r < e.valueMaps.length; r++) { + var a = e.valueMaps[r]; + t.push(tp({}, a, { id: r, type: Pe.MappingType.ValueToText })); + } + else if (2 === n) + for (var o = 0; o < e.rangeMaps.length; o++) { + var i = e.rangeMaps[o]; + t.push(tp({}, i, { id: o, type: Pe.MappingType.RangeToText })); + } + return t; + } + function cp() { + var e = dp(["\n margin-top: ", ";\n "]); + return ( + (cp = function () { + return e; + }), + e + ); + } + function up() { + var e = dp(["\n margin-bottom: ", ";\n font-style: italic;\n "]); + return ( + (up = function () { + return e; + }), + e + ); + } + function fp() { + var e = dp([ + "\n label: call-to-action-card;\n padding: ", + ";\n background: ", + ";\n border-radius: ", + ";\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n ", + ]); + return ( + (fp = function () { + return e; + }), + e + ); + } + function dp(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var pp = Object(i.g)(function (e) { + return { + wrapper: Object(o.css)( + fp(), + e.spacing.lg, + Object(Ne.a)( + { light: e.colors.gray6, dark: e.colors.grayBlue }, + e.type + ), + e.border.radius.md + ), + message: Object(o.css)(up(), e.spacing.lg), + footer: Object(o.css)(cp(), e.spacing.lg), + }; + }), + hp = function (e) { + var t = e.message, + n = e.callToActionElement, + r = e.footer, + i = e.theme, + l = e.className, + s = pp(i); + return a.a.createElement( + "div", + { className: Object(o.cx)([s.wrapper, l]) }, + t && a.a.createElement("div", { className: s.message }, t), + n, + r && a.a.createElement("div", { className: s.footer }, r) + ); + }, + mp = n("wZee"), + gp = n.n(mp), + bp = n("xBDI"), + vp = n.n(bp); + function yp() { + return (yp = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function wp(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Op() { + var e = Pp(["\n margin-top: ", ";\n color: ", ";\n "]); + return ( + (Op = function () { + return e; + }), + e + ); + } + function xp() { + var e = Pp([ + "\n font-family: ", + ";\n font-size: ", + ";\n ", + ]); + return ( + (xp = function () { + return e; + }), + e + ); + } + function kp() { + var e = Pp([ + "\n background: ", + ";\n &:hover {\n background: ", + ";\n }\n ", + ]); + return ( + (kp = function () { + return e; + }), + e + ); + } + function jp() { + var e = Pp(["\n color: ", ";\n "]); + return ( + (jp = function () { + return e; + }), + e + ); + } + function Sp() { + var e = Pp([ + "\n background: none;\n padding: 2px 8px;\n color: ", + ";\n cursor: pointer;\n &:hover {\n background: ", + ";\n }\n ", + ]); + return ( + (Sp = function () { + return e; + }), + e + ); + } + function Ep() { + var e = Pp([ + "\n background: ", + ";\n z-index: 1;\n width: 250px;\n box-shadow: 0 5px 10px 0 ", + ";\n ", + ]); + return ( + (Ep = function () { + return e; + }), + e + ); + } + function Cp() { + var e = Pp([ + "\n border-bottom: 1px solid ", + ";\n &:last-child {\n border: none;\n }\n ", + ]); + return ( + (Cp = function () { + return e; + }), + e + ); + } + function Pp(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Tp = Object(i.g)(function (e) { + var t = Object(hr.selectThemeVariant)( + { light: e.colors.white, dark: e.colors.dark2 }, + e.type + ), + n = Object(hr.selectThemeVariant)( + { light: e.colors.gray5, dark: e.colors.black }, + e.type + ), + r = Object(hr.selectThemeVariant)( + { light: e.colors.black, dark: e.colors.white }, + e.type + ), + a = Object(hr.selectThemeVariant)( + { light: e.colors.dark3, dark: e.colors.gray2 }, + e.type + ), + i = Object(hr.selectThemeVariant)( + { light: e.colors.gray5, dark: e.colors.dark7 }, + e.type + ), + l = Object(hr.selectThemeVariant)( + { light: e.colors.gray6, dark: e.colors.dark9 }, + e.type + ), + s = Object(hr.selectThemeVariant)( + { + light: Ue()(t.toString()).darken(10).toString(), + dark: Ue()(t.toString()).lighten(10).toString(), + }, + e.type + ); + return { + list: Object(o.css)(Cp(), s), + wrapper: Object(o.css)(Ep(), t, n), + item: Object(o.css)(Sp(), r, i), + label: Object(o.css)(jp(), e.colors.textWeak), + activeItem: Object(o.css)(kp(), l, l), + itemValue: Object(o.css)( + xp(), + e.typography.fontFamily.monospace, + e.typography.size.sm + ), + itemDocs: Object(o.css)(Op(), e.spacing.xs, a), + }; + }), + Dp = function (e) { + var t = e.suggestions, + n = wp(e, ["suggestions"]), + o = Object(r.useRef)(null), + i = Object(r.useContext)(hr.ThemeContext); + bl()(o, function () { + n.onClose && n.onClose(); + }); + var l = Object(r.useMemo)( + function () { + return ga.a.groupBy(t, function (e) { + return e.origin; + }); + }, + [t] + ), + s = Tp(i); + return a.a.createElement( + "div", + { ref: o, className: s.wrapper }, + Object.keys(l).map(function (e, t) { + var r = + 0 === t + ? 0 + : Object.keys(l).reduce(function (e, n, r) { + return r >= t ? e : e + l[n].length; + }, 0); + return a.a.createElement( + Ap, + yp({}, n, { + suggestions: l[e], + label: "".concat(ga.a.capitalize(e)), + activeIndex: n.activeIndex, + activeIndexOffset: r, + key: e, + }) + ); + }) + ); + }; + Dp.displayName = "DataLinkSuggestions"; + var Ap = a.a.memo(function (e) { + var t = e.activeIndex, + n = e.activeIndexOffset, + i = e.label, + l = (e.onClose, e.onSuggestionSelect), + s = e.suggestions, + c = Object(r.useContext)(hr.ThemeContext), + u = Tp(c); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(kr.a, { + className: u.list, + items: s, + renderItem: function (e, r) { + return a.a.createElement( + "div", + { + className: Object(o.cx)(u.item, r + n === t && u.activeItem), + onClick: function () { + l(e); + }, + title: e.documentation, + }, + a.a.createElement( + "span", + { className: u.itemValue }, + a.a.createElement("span", { className: u.label }, i), + " ", + e.label + ) + ); + }, + }) + ); + }); + function _p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Ap.displayName = "DataLinkSuggestionsList"; + var Np = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getBoundingClientRect", + value: function () { + var e = window.getSelection(), + t = e && e.anchorNode; + return t && t.parentElement + ? t.parentElement.getBoundingClientRect() + : { + top: 0, + left: 0, + bottom: 0, + right: 0, + width: 0, + height: 0, + }; + }, + }, + { + key: "clientWidth", + get: function () { + return this.getBoundingClientRect().width; + }, + }, + { + key: "clientHeight", + get: function () { + return this.getBoundingClientRect().height; + }, + }, + ]) && _p(t.prototype, n), + r && _p(t, r), + e + ); + })(), + Mp = n("I7VN"), + Ip = n("zp0N"); + function Rp() { + var e = Vp([ + "\n position: relative;\n height: auto;\n ", + ]); + return ( + (Rp = function () { + return e; + }), + e + ); + } + function Fp(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Lp() { + var e = Vp([ + "\n .token.builtInVariable {\n color: ", + ";\n }\n .token.variable {\n color: ", + ";\n }\n ", + ]); + return ( + (Lp = function () { + return e; + }), + e + ); + } + function Vp(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Bp = [ + Object(ya.h)({ + onlyIn: function (e) { + return "code_block" === e.type; + }, + getSyntax: function () { + return "links"; + }, + }), + ], + $p = Object(i.g)(function (e) { + return { + editor: Object(o.css)( + Lp(), + e.colors.queryGreen, + e.colors.queryKeyword + ), + }; + }), + qp = Object(r.memo)(function (e) { + var t = e.value, + n = e.onChange, + i = e.suggestions, + l = e.placeholder, + s = + void 0 === l + ? "http://your-grafana.com/d/000000010/annotations" + : l, + c = Object(r.useRef)(), + u = Object(r.useContext)(hr.ThemeContext), + f = $p(u), + d = Fp(Object(r.useState)(!1), 2), + p = d[0], + h = d[1], + m = Fp(Object(r.useState)(0), 2), + g = m[0], + b = m[1], + v = Fp(Object(r.useState)(Object(hr.makeValue)(t)), 2), + y = v[0], + w = v[1], + O = vp()(y), + x = Object(r.useRef)({ + showingSuggestions: p, + suggestions: i, + suggestionsIndex: g, + linkUrl: y, + onChange: n, + }); + x.current = { + showingSuggestions: p, + suggestions: i, + suggestionsIndex: g, + linkUrl: y, + onChange: n, + }; + var k = Object(r.useMemo)( + function () { + return new Np(); + }, + [h, y] + ), + j = a.a.useCallback(function (e, t) { + if (!x.current.showingSuggestions) + return "=" === e.key || + "$" === e.key || + (32 === e.keyCode && e.ctrlKey) + ? h(!0) + : t(); + switch (e.key) { + case "Backspace": + case "Escape": + return h(!1), b(0); + case "Enter": + return ( + e.preventDefault(), + E(x.current.suggestions[x.current.suggestionsIndex]) + ); + case "ArrowDown": + case "ArrowUp": + e.preventDefault(); + var n = "ArrowDown" === e.key ? 1 : -1; + return b(function (e) { + return ( + (t = e + n), + (r = x.current.suggestions.length), + t - r * Math.floor(t / r) + ); + var t, r; + }); + default: + return t(); + } + }, []); + Object(r.useEffect)( + function () { + O && + O.selection.isFocused && + !y.selection.isFocused && + x.current.onChange(va.a.serialize(y)); + }, + [y, O] + ); + var S = a.a.useCallback(function (e) { + var t = e.value; + w(t); + }, []), + E = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : c.current, + n = "$" !== va.a.serialize(t.value).slice(-1); + e.origin !== Pe.VariableOrigin.Template || + e.value === hr.DataLinkBuiltInVars.includeVars + ? t.insertText( + "".concat(n ? "$" : "", "{").concat(e.value, "}") + ) + : t.insertText( + "var-".concat(e.value, "=${").concat(e.value, "}") + ), + w(t.value), + h(!1), + b(0), + x.current.onChange(va.a.serialize(t.value)); + }; + return a.a.createElement( + "div", + { className: Object(o.cx)("gf-form-input", Object(o.css)(Rp())) }, + a.a.createElement( + "div", + { className: "slate-query-field" }, + p && + a.a.createElement( + A.a, + null, + a.a.createElement( + Mp.b, + { + referenceElement: k, + placement: "top-end", + modifiers: { + preventOverflow: { + enabled: !0, + boundariesElement: "window", + }, + arrow: { enabled: !1 }, + offset: { offset: 250 }, + }, + }, + function (e) { + var t = e.ref, + n = e.style, + r = e.placement; + return a.a.createElement( + "div", + { ref: t, style: n, "data-placement": r }, + a.a.createElement(Dp, { + suggestions: x.current.suggestions, + onSuggestionSelect: E, + onClose: function () { + return h(!1); + }, + activeIndex: g, + }) + ); + } + ) + ), + a.a.createElement(ba.a, { + schema: Ip.a, + ref: c, + placeholder: s, + value: x.current.linkUrl, + onChange: S, + onKeyDown: function (e, t, n) { + return j(e, n); + }, + plugins: Bp, + className: f.editor, + }) + ) + ); + }); + function Up() { + var e = Yp(["\n width: 100%;\n "]); + return ( + (Up = function () { + return e; + }), + e + ); + } + function zp(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Hp(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? zp(Object(n), !0).forEach(function (t) { + Gp(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : zp(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Gp(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Wp() { + var e = Yp([ + "\n padding-bottom: ", + ";\n margin-left: 66px;\n color: ", + ";\n ", + ]); + return ( + (Wp = function () { + return e; + }), + e + ); + } + function Qp() { + var e = Yp(["\n margin-bottom: ", ";\n "]); + return ( + (Qp = function () { + return e; + }), + e + ); + } + function Yp(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + qp.displayName = "DataLinkInput"; + var Kp = Object(i.g)(function (e) { + return { + listItem: Object(o.css)(Qp(), e.spacing.sm), + infoText: Object(o.css)(Wp(), e.spacing.md, e.colors.textWeak), + }; + }), + Jp = a.a.memo(function (e) { + var t = e.index, + n = e.value, + l = e.onChange, + s = e.onRemove, + c = e.suggestions, + u = e.isLast, + f = Object(r.useContext)(i.a), + d = Kp(f); + return a.a.createElement( + "div", + { className: d.listItem }, + a.a.createElement( + "div", + { className: "gf-form gf-form--inline" }, + a.a.createElement(be, { + className: "gf-form--grow", + label: "Title", + value: n.title, + onChange: function (e) { + l(t, Hp({}, n, { title: e.target.value })); + }, + inputWidth: 0, + labelWidth: 5, + placeholder: "Show details", + }), + a.a.createElement(Vt, { + label: "Open in new tab", + checked: n.targetBlank || !1, + onChange: function () { + l(t, Hp({}, n, { targetBlank: !n.targetBlank })); + }, + }), + a.a.createElement( + "button", + { + className: "gf-form-label gf-form-label--btn", + onClick: function () { + s(n); + }, + title: "Remove link", + }, + a.a.createElement("i", { className: "fa fa-times" }) + ) + ), + a.a.createElement(be, { + label: "URL", + labelWidth: 5, + inputEl: a.a.createElement(qp, { + value: n.url, + onChange: function (e, r) { + l(t, Hp({}, n, { url: e }), r); + }, + suggestions: c, + }), + className: Object(o.css)(Up()), + }), + u && + a.a.createElement( + "div", + { className: d.infoText }, + "With data links you can reference data variables like series name, labels and values. Type CMD+Space, CTRL+Space, or $ to open variable suggestions." + ) + ); + }); + function Zp() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-bottom: ", ";\n "]); + return ( + (Zp = function () { + return e; + }), + e + ); + } + function Xp(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + Jp.displayName = "DataLinkEditor"; + var eh = a.a.memo(function (e) { + var t = e.value, + n = void 0 === t ? [] : t, + r = e.onChange, + i = e.suggestions, + s = e.maxLinks, + c = Object(Bt.c)(); + gp.a.languages.links = { builtInVariable: { pattern: /(\${\S+?})/ } }; + var u = function (e, t, a) { + r( + n.map(function (n, r) { + return e === r ? t : n; + }), + a + ); + }, + f = function (e) { + r( + n.filter(function (t) { + return t !== e; + }) + ); + }; + return a.a.createElement( + a.a.Fragment, + null, + n && + n.length > 0 && + a.a.createElement( + "div", + { className: Object(o.css)(Zp(), c.spacing.sm) }, + n.map(function (e, t) { + return a.a.createElement(Jp, { + key: t.toString(), + index: t, + isLast: t === n.length - 1, + value: e, + onChange: u, + onRemove: f, + suggestions: i, + }); + }) + ), + (!n || (n && n.length < (s || 1 / 0))) && + a.a.createElement( + l.a, + { + variant: "inverse", + icon: "fa fa-plus", + onClick: function () { + r( + n + ? [].concat(Xp(n), [{ url: "", title: "" }]) + : [{ url: "", title: "" }] + ); + }, + }, + "Add link" + ) + ); + }); + function th(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + eh.displayName = "DataLinksEditor"; + var nh = function (e) { + var t = e.children, + n = e.getContextMenuItems, + o = th(Object(r.useState)(!1), 2), + i = o[0], + l = o[1], + s = th(Object(r.useState)({ x: 0, y: 0 }), 2), + c = s[0], + u = s[1]; + return a.a.createElement( + a.a.Fragment, + null, + t({ + openMenu: function (e) { + l(!0), u({ x: e.pageX, y: e.pageY }); + }, + }), + i && + a.a.createElement(Cl, { + onClose: function () { + return l(!1); + }, + x: c.x, + y: c.y, + items: n(), + }) + ); + }, + rh = n("nfvv"); + function ah() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n cursor: context-menu;\n "]); + return ( + (ah = function () { + return e; + }), + e + ); + } + var oh = function (e) { + var t = e.children, + n = e.links; + if (!n) return t({}); + var r = Object(o.css)(ah()); + return a.a.createElement( + nh, + { + getContextMenuItems: function () { + return [{ items: Object(rh.b)(n), label: "Data links" }]; + }, + }, + function (e) { + var n = e.openMenu; + return t({ openMenu: n, targetClassName: r }); + } + ); + }; + function ih(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function lh(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var sh = { + id: Pe.DataTransformerID.reduce, + component: function (e) { + var t = e.options, + n = e.onChange; + e.input; + return a.a.createElement(ur, { + width: 25, + placeholder: "Choose Stat", + allowMultiple: !0, + stats: t.reducers || [], + onChange: function (e) { + n( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ih(Object(n), !0).forEach(function (t) { + lh(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : ih(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, t, { reducers: e }) + ); + }, + }); + }, + transformer: Pe.transformersRegistry.get(Pe.DataTransformerID.reduce), + name: "Reduce", + description: "UI for reduce transformation", + }; + function ch(e) { + return (ch = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function uh() { + var e = ph(["\n margin-right: 4px;\n "]); + return ( + (uh = function () { + return e; + }), + e + ); + } + function fh() { + var e = ph([ + "\n padding: ", + " ", + ";\n color: white;\n background: ", + ";\n border-radius: 16px;\n display: inline-block;\n cursor: pointer;\n ", + ]); + return ( + (fh = function () { + return e; + }), + e + ); + } + function dh() { + var e = ph([ + "\n margin-right: ", + ";\n ", + ]); + return ( + (dh = function () { + return e; + }), + e + ); + } + function ph(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function hh(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function mh(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function gh(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function bh(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function vh(e, t) { + return !t || ("object" !== ch(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function yh(e) { + return (yh = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function wh(e, t) { + return (wh = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Oh = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = vh(this, yh(t).call(this, e))).onFieldToggle = function ( + e + ) { + var t = n.state.selected; + t.indexOf(e) > -1 + ? n.onChange( + t.filter(function (t) { + return t !== e; + }) + ) + : n.onChange([].concat(gh(t), [e])); + }), + (n.onChange = function (e) { + n.setState({ selected: e }), + n.props.onChange( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? hh(Object(n), !0).forEach(function (t) { + mh(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : hh(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, n.props.options, { include: e.join("|") }) + ); + }), + (n.state = { + include: e.options.include || "", + options: [], + selected: [], + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && wh(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.initOptions(); + }, + }, + { + key: "initOptions", + value: function () { + var e = this.props, + t = e.input, + n = e.options, + r = n.include ? n.include.split("|") : [], + a = [], + o = {}, + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = t[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = c.value, + d = !0, + p = !1, + h = void 0; + try { + for ( + var m, g = f.fields[Symbol.iterator](); + !(d = (m = g.next()).done); + d = !0 + ) { + var b = m.value, + v = o[b.name]; + v || + ((v = o[b.name] = { name: b.name, count: 0 }), + a.push(v)), + v.count++; + } + } catch (e) { + (p = !0), (h = e); + } finally { + try { + d || null == g.return || g.return(); + } finally { + if (p) throw h; + } + } + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + if (r.length) { + var y = [], + w = [], + O = !0, + x = !1, + k = void 0; + try { + for ( + var j, S = a[Symbol.iterator](); + !(O = (j = S.next()).done); + O = !0 + ) { + var E = j.value; + r.includes(E.name) && w.push(E), y.push(E); + } + } catch (e) { + (x = !0), (k = e); + } finally { + try { + O || null == S.return || S.return(); + } finally { + if (x) throw k; + } + } + this.setState({ + options: y, + selected: w.map(function (e) { + return e.name; + }), + }); + } else this.setState({ options: a, selected: [] }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.options, + r = t.selected; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(ts.a, { + items: n, + renderItem: function (t, i) { + var l = "" + .concat(t.name) + .concat(t.count > 1 ? " (" + t.count + ")" : ""); + return a.a.createElement( + "span", + { + className: Object(o.css)( + dh(), + i === n.length - 1 ? "0" : "10px" + ), + }, + a.a.createElement(xh, { + onClick: function () { + e.onFieldToggle(t.name); + }, + label: l, + selected: r.indexOf(t.name) > -1, + }) + ); + }, + }) + ); + }, + }, + ]) && bh(n.prototype, r), + i && bh(n, i), + t + ); + })(a.a.PureComponent), + xh = function (e) { + var t = e.label, + n = e.selected, + i = e.onClick, + l = Object(r.useContext)(Bt.a); + return a.a.createElement( + "div", + { + className: Object(o.css)( + fh(), + l.spacing.xxs, + l.spacing.sm, + n ? l.colors.blueLight : l.colors.blueShade + ), + onClick: i, + }, + n && + a.a.createElement("i", { + className: Object(o.cx)("fa fa-check", Object(o.css)(uh())), + }), + t + ); + }, + kh = { + id: Pe.DataTransformerID.filterFieldsByName, + component: Oh, + transformer: Pe.transformersRegistry.get( + Pe.DataTransformerID.filterFieldsByName + ), + name: "Filter by name", + description: "UI for filter by name transformation", + }; + function jh(e) { + return (jh = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Sh() { + var e = Ph(["\n margin-right: 4px;\n "]); + return ( + (Sh = function () { + return e; + }), + e + ); + } + function Eh() { + var e = Ph([ + "\n padding: ", + " ", + ";\n color: white;\n background: ", + ";\n border-radius: 16px;\n display: inline-block;\n cursor: pointer;\n ", + ]); + return ( + (Eh = function () { + return e; + }), + e + ); + } + function Ch() { + var e = Ph([ + "\n margin-right: ", + ";\n ", + ]); + return ( + (Ch = function () { + return e; + }), + e + ); + } + function Ph(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function Th(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Dh(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Ah(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function _h(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Nh(e, t) { + return !t || ("object" !== jh(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Mh(e) { + return (Mh = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Ih(e, t) { + return (Ih = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Rh = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Nh(this, Mh(t).call(this, e))).onFieldToggle = function ( + e + ) { + var t = n.state.selected; + t.indexOf(e) > -1 + ? n.onChange( + t.filter(function (t) { + return t !== e; + }) + ) + : n.onChange([].concat(Ah(t), [e])); + }), + (n.onChange = function (e) { + n.setState({ selected: e }), + n.props.onChange( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Th(Object(n), !0).forEach(function (t) { + Dh(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Th(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, n.props.options, { include: e.join("|") }) + ); + }), + (n.state = { + include: e.options.include || "", + options: [], + selected: [], + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Ih(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.initOptions(); + }, + }, + { + key: "initOptions", + value: function () { + var e = this.props, + t = e.input, + n = e.options, + r = n.include ? n.include.split("|") : [], + a = [], + o = {}, + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = t[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = c.value; + if (f.refId) { + var d = o[f.refId]; + d || + ((d = o[f.refId] = { refId: f.refId, count: 0 }), + a.push(d)), + d.count++; + } + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + if (r.length) { + var p = [], + h = [], + m = !0, + g = !1, + b = void 0; + try { + for ( + var v, y = a[Symbol.iterator](); + !(m = (v = y.next()).done); + m = !0 + ) { + var w = v.value; + r.includes(w.refId) && h.push(w), p.push(w); + } + } catch (e) { + (g = !0), (b = e); + } finally { + try { + m || null == y.return || y.return(); + } finally { + if (g) throw b; + } + } + this.setState({ + options: p, + selected: h.map(function (e) { + return e.refId; + }), + }); + } else this.setState({ options: a, selected: [] }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.options, + r = t.selected; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(ts.a, { + items: n, + renderItem: function (t, i) { + var l = "" + .concat(t.refId) + .concat(t.count > 1 ? " (" + t.count + ")" : ""); + return a.a.createElement( + "span", + { + className: Object(o.css)( + Ch(), + i === n.length - 1 ? "0" : "10px" + ), + }, + a.a.createElement(Fh, { + onClick: function () { + e.onFieldToggle(t.refId); + }, + label: l, + selected: r.indexOf(t.refId) > -1, + }) + ); + }, + }) + ); + }, + }, + ]) && _h(n.prototype, r), + i && _h(n, i), + t + ); + })(a.a.PureComponent), + Fh = function (e) { + var t = e.label, + n = e.selected, + i = e.onClick, + l = Object(r.useContext)(Bt.a); + return a.a.createElement( + "div", + { + className: Object(o.css)( + Eh(), + l.spacing.xxs, + l.spacing.sm, + n ? l.colors.blueLight : l.colors.blueShade + ), + onClick: i, + }, + n && + a.a.createElement("i", { + className: Object(o.cx)("fa fa-check", Object(o.css)(Sh())), + }), + t + ); + }, + Lh = { + id: Pe.DataTransformerID.filterByRefId, + component: Rh, + transformer: Pe.transformersRegistry.get( + Pe.DataTransformerID.filterByRefId + ), + name: "Filter by refId", + description: "Filter results by refId", + }, + Vh = new Pe.Registry(function () { + return [sh, kh, Lh]; + }); + function Bh(e) { + return (Bh = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function $h(e) { + var t = Bh(e); + return !!e && "object" === t; + } + function qh(e) { + if (void 0 === e) return ""; + if (null === e) return "Object"; + if ("object" === Bh(e) && !e.constructor) return "Object"; + var t = /function ([^(]*)/.exec(e.constructor.toString()); + return t && t.length > 1 ? t[1] : ""; + } + function Uh(e) { + return null === e ? "null" : Bh(e); + } + function zh(e, t) { + var n = Uh(e); + return "null" === n || "undefined" === n + ? n + : ("string" === n && (t = '"' + t.replace('"', '"') + '"'), + "function" === n + ? e + .toString() + .replace(/[\r\n]/g, "") + .replace(/\{.*\}/, "") + "{…}" + : t); + } + function Hh(e) { + return "json-formatter-".concat(e); + } + function Gh(e, t, n) { + var r = document.createElement(e); + return ( + t && r.classList.add(Hh(t)), + void 0 !== n && + (n instanceof Node + ? r.appendChild(n) + : r.appendChild(document.createTextNode(String(n)))), + r + ); + } + function Wh(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Qh(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Yh = /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/, + Kh = /\d{2}:\d{2}:\d{2} GMT-\d{4}/, + Jh = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/, + Zh = + window.requestAnimationFrame || + function (e) { + return e(), 0; + }, + Xh = { animateOpen: !0, animateClose: !0 }, + em = (function () { + function e(t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 1, + r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : Xh, + a = arguments.length > 3 ? arguments[3] : void 0; + Wh(this, e), + (this.json = t), + (this.open = n), + (this.config = r), + (this.key = a), + (this._isOpen = null), + (this.element = null), + (this.skipChildren = !1); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "toggleOpen", + value: function () { + (this.isOpen = !this.isOpen), + this.element && + (this.isOpen + ? this.appendChildren(this.config.animateOpen) + : this.removeChildren(this.config.animateClose), + this.element.classList.toggle(Hh("open"))); + }, + }, + { + key: "openAtDepth", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 1; + e < 0 || + ((this.open = e), + (this.isOpen = 0 !== e), + this.element && + (this.removeChildren(!1), + 0 === e + ? this.element.classList.remove(Hh("open")) + : (this.appendChildren(this.config.animateOpen), + this.element.classList.add(Hh("open"))))); + }, + }, + { + key: "isNumberArray", + value: function () { + return ( + this.json.length > 0 && + this.json.length < 4 && + (ga.a.isNumber(this.json[0]) || ga.a.isNumber(this.json[1])) + ); + }, + }, + { + key: "renderArray", + value: function () { + var e = Gh("span"); + return ( + e.appendChild(Gh("span", "bracket", "[")), + this.isNumberArray() + ? (this.json.forEach(function (t, n) { + n > 0 && + e.appendChild(Gh("span", "array-comma", ",")), + e.appendChild(Gh("span", "number", t)); + }), + (this.skipChildren = !0)) + : e.appendChild(Gh("span", "number", this.json.length)), + e.appendChild(Gh("span", "bracket", "]")), + e + ); + }, + }, + { + key: "render", + value: function () { + var e = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0]; + this.element = Gh("div", "row"); + var t = Gh("a", "toggler-link"), + n = Gh("span", "toggler"); + if ( + (this.isObject && t.appendChild(n), + this.hasKey && + t.appendChild( + Gh("span", "key", "".concat(this.key, ":")) + ), + this.isObject) + ) { + var r = Gh("span", "value"), + a = Gh("span"), + o = Gh("span", "constructor-name", this.constructorName); + if ((a.appendChild(o), this.isArray)) { + var i = this.renderArray(); + a.appendChild(i); + } + r.appendChild(a), t.appendChild(r); + } else { + var l = this.isUrl ? Gh("a") : Gh("span"); + l.classList.add(Hh(this.type)), + this.isDate && l.classList.add(Hh("date")), + this.isUrl && + (l.classList.add(Hh("url")), + l.setAttribute("href", this.json)); + var s = zh(this.json, this.json); + l.appendChild(document.createTextNode(s)), t.appendChild(l); + } + var c = Gh("div", "children"); + return ( + this.isObject && c.classList.add(Hh("object")), + this.isArray && c.classList.add(Hh("array")), + this.isEmpty && c.classList.add(Hh("empty")), + this.config && + this.config.theme && + this.element.classList.add(Hh(this.config.theme)), + this.isOpen && this.element.classList.add(Hh("open")), + e || this.element.appendChild(t), + this.skipChildren + ? t.removeChild(n) + : this.element.appendChild(c), + this.isObject && this.isOpen && this.appendChildren(), + this.isObject && + t.addEventListener("click", this.toggleOpen.bind(this)), + this.element + ); + }, + }, + { + key: "appendChildren", + value: function () { + var t = this, + n = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0], + r = + this.element && + this.element.querySelector("div.".concat(Hh("children"))); + if (r && !this.isEmpty) + if (n) { + var a = 0, + o = function n() { + var o = t.keys[a], + i = new e(t.json[o], t.open - 1, t.config, o); + r.appendChild(i.render()), + (a += 1) < t.keys.length && (a > 10 ? n() : Zh(n)); + }; + Zh(o); + } else + this.keys.forEach(function (n) { + var a = new e(t.json[n], t.open - 1, t.config, n); + r.appendChild(a.render()); + }); + }, + }, + { + key: "removeChildren", + value: function () { + var e = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0], + t = + this.element && + this.element.querySelector("div.".concat(Hh("children"))); + if (e) { + var n = 0, + r = function e() { + t && + t.children.length && + (t.removeChild(t.children[0]), + (n += 1) > 10 ? e() : Zh(e)); + }; + Zh(r); + } else t && (t.innerHTML = ""); + }, + }, + { + key: "isOpen", + get: function () { + return null !== this._isOpen ? this._isOpen : this.open > 0; + }, + set: function (e) { + this._isOpen = e; + }, + }, + { + key: "isDate", + get: function () { + return ( + "string" === this.type && + (Yh.test(this.json) || + Jh.test(this.json) || + Kh.test(this.json)) + ); + }, + }, + { + key: "isUrl", + get: function () { + return ( + "string" === this.type && 0 === this.json.indexOf("http") + ); + }, + }, + { + key: "isArray", + get: function () { + return Array.isArray(this.json); + }, + }, + { + key: "isObject", + get: function () { + return $h(this.json); + }, + }, + { + key: "isEmptyObject", + get: function () { + return !this.keys.length && !this.isArray; + }, + }, + { + key: "isEmpty", + get: function () { + return ( + this.isEmptyObject || + (this.keys && !this.keys.length && this.isArray) + ); + }, + }, + { + key: "hasKey", + get: function () { + return void 0 !== this.key; + }, + }, + { + key: "constructorName", + get: function () { + return qh(this.json); + }, + }, + { + key: "type", + get: function () { + return Uh(this.json); + }, + }, + { + key: "keys", + get: function () { + return this.isObject + ? Object.keys(this.json).map(function (e) { + return e || '""'; + }) + : []; + }, + }, + ]) && Qh(t.prototype, n), + r && Qh(t, r), + e + ); + })(); + function tm(e) { + return (tm = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function nm(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function rm(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function am(e, t) { + return !t || ("object" !== tm(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function om(e) { + return (om = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function im(e, t) { + return (im = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var lm = (function (e) { + function t() { + var e, n; + nm(this, t); + for (var a = arguments.length, o = new Array(a), i = 0; i < a; i++) + o[i] = arguments[i]; + return ( + ((n = am( + this, + (e = om(t)).call.apply(e, [this].concat(o)) + )).wrapperRef = Object(r.createRef)()), + (n.renderJson = function () { + var e = n.props, + t = e.json, + r = e.config, + a = e.open, + o = e.onDidRender, + i = n.wrapperRef.current, + l = new em(t, a, r); + i.hasChildNodes() + ? i.replaceChild(l.render(), i.lastChild) + : i.appendChild(l.render()), + o && o(l.json); + }), + n + ); + } + var n, o, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && im(e, t); + })(t, e), + (n = t), + (o = [ + { + key: "componentDidMount", + value: function () { + this.renderJson(); + }, + }, + { + key: "componentDidUpdate", + value: function () { + this.renderJson(); + }, + }, + { + key: "render", + value: function () { + var e = this.props.className; + return a.a.createElement("div", { + className: e, + ref: this.wrapperRef, + }); + }, + }, + ]) && rm(n.prototype, o), + i && rm(n, i), + t + ); + })(r.PureComponent); + function sm() { + var e = mm(["\n margin-bottom: 10px;\n "]); + return ( + (sm = function () { + return e; + }), + e + ); + } + function cm(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function um() { + var e = mm([ + "\n border: 2px dashed ", + ";\n border-top: none;\n border-radius: 0 0 4px 4px;\n padding: 8px;\n ", + ]); + return ( + (um = function () { + return e; + }), + e + ); + } + function fm() { + var e = mm([ + "\n background: transparent;\n border: none;\n box-shadow: none;\n cursor: pointer;\n color: ", + ";\n margin-left: ", + ";\n &:hover {\n color: ", + ";\n }\n ", + ]); + return ( + (fm = function () { + return e; + }), + e + ); + } + function dm() { + var e = mm(["\n display: flex;\n "]); + return ( + (dm = function () { + return e; + }), + e + ); + } + function pm() { + var e = mm(["\n font-weight: ", ";\n color: ", ";\n "]); + return ( + (pm = function () { + return e; + }), + e + ); + } + function hm() { + var e = mm([ + "\n display: flex;\n padding: 4px 8px 4px 8px;\n position: relative;\n height: 35px;\n background: ", + ";\n border-radius: 4px 4px 0 0;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n ", + ]); + return ( + (hm = function () { + return e; + }), + e + ); + } + function mm(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + lm.defaultProps = { open: 3, config: { animateOpen: !0 } }; + var gm = function (e) { + var t = e.onRemove, + n = e.editor, + i = e.name, + l = e.input, + s = Object(r.useContext)(Bt.a), + c = cm(Object(r.useState)(!1), 2), + u = c[0], + f = c[1], + d = (function (e) { + return { + title: Object(o.css)(hm(), e.colors.textFaint), + name: Object(o.css)( + pm(), + e.typography.weight.semibold, + e.colors.blue + ), + iconRow: Object(o.css)(dm()), + icon: Object(o.css)( + fm(), + e.colors.textWeak, + e.spacing.sm, + e.colors.text + ), + editor: Object(o.css)(um(), e.colors.textFaint), + }; + })(s); + return a.a.createElement( + "div", + { className: Object(o.css)(sm()) }, + a.a.createElement( + "div", + { className: d.title }, + a.a.createElement("div", { className: d.name }, i), + a.a.createElement( + "div", + { className: d.iconRow }, + a.a.createElement( + "div", + { + onClick: function () { + return f(!u); + }, + className: d.icon, + }, + a.a.createElement("i", { className: "fa fa-fw fa-bug" }) + ), + a.a.createElement( + "div", + { onClick: t, className: d.icon }, + a.a.createElement("i", { className: "fa fa-fw fa-trash" }) + ) + ) + ), + a.a.createElement( + "div", + { className: d.editor }, + n, + u && + a.a.createElement("div", null, a.a.createElement(lm, { json: l })) + ) + ); + }; + function bm(e) { + return (bm = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function vm(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ym(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? vm(Object(n), !0).forEach(function (t) { + wm(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : vm(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function wm(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Om() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n margin-bottom: 10px;\n "]); + return ( + (Om = function () { + return e; + }), + e + ); + } + function xm(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function km(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function jm(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Sm(e, t) { + return !t || ("object" !== bm(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Em(e) { + return (Em = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Cm(e, t) { + return (Cm = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Pm = (function (e) { + function t() { + var e, n; + km(this, t); + for (var r = arguments.length, i = new Array(r), l = 0; l < r; l++) + i[l] = arguments[l]; + return ( + ((n = Sm( + this, + (e = Em(t)).call.apply(e, [this].concat(i)) + )).state = { updateCounter: 0 }), + (n.onTransformationAdd = function () { + var e = n.props, + t = e.transformations; + (0, e.onChange)( + [].concat(xm(t), [ + { id: Pe.DataTransformerID.noop, options: {} }, + ]) + ), + n.setState({ updateCounter: n.state.updateCounter + 1 }); + }), + (n.onTransformationChange = function (e, t) { + var r = n.props, + a = r.transformations, + o = r.onChange; + (a[e] = t), + o(a), + n.setState({ updateCounter: n.state.updateCounter + 1 }); + }), + (n.onTransformationRemove = function (e) { + var t = n.props, + r = t.transformations, + a = t.onChange; + r.splice(e, 1), + a(r), + n.setState({ updateCounter: n.state.updateCounter + 1 }); + }), + (n.renderTransformationEditors = function () { + var e = n.props, + t = e.transformations, + r = e.dataFrames, + i = t.length > 0, + l = r; + if (i) { + var s = Vh.list().map(function (e) { + return { value: e.transformer.id, label: e.transformer.name }; + }); + return a.a.createElement( + a.a.Fragment, + null, + t.map(function (e, r) { + var i, c; + if (e.id === Pe.DataTransformerID.noop) + return a.a.createElement(z.b, { + className: Object(o.css)(Om()), + key: "".concat(e.id, "-").concat(r), + options: s, + placeholder: "Select transformation", + onChange: function (e) { + n.onTransformationChange(r, { + id: e.value, + options: {}, + }); + }, + }); + var u = Vh.getIfExists(e.id); + return ( + (c = Object(Pe.transformDataFrame)(t.slice(0, r), l)), + u && + (i = a.a.createElement(u.component, { + options: ym( + {}, + u.transformer.defaultOptions, + {}, + e.options + ), + input: c, + onChange: function (t) { + n.onTransformationChange(r, { + id: e.id, + options: t, + }); + }, + })), + a.a.createElement(gm, { + key: "".concat(e.id, "-").concat(r), + input: c || [], + onRemove: function () { + return n.onTransformationRemove(r); + }, + editor: i, + name: u ? u.name : "", + description: u ? u.description : "", + }) + ); + }) + ); + } + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Cm(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return a.a.createElement( + a.a.Fragment, + null, + this.renderTransformationEditors(), + a.a.createElement( + l.a, + { + variant: "inverse", + icon: "fa fa-plus", + onClick: this.onTransformationAdd, + }, + "Add transformation" + ) + ); + }, + }, + ]) && jm(n.prototype, r), + i && jm(n, i), + t + ); + })(a.a.PureComponent); + function Tm() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: 500px;\n margin: 64px auto;\n "]); + return ( + (Tm = function () { + return e; + }), + e + ); + } + var Dm = Object(i.g)(function () { + return Object(o.css)(Tm()); + }), + Am = function (e) { + var t = e.error, + n = e.errorInfo, + r = e.title; + return a.a.createElement( + "div", + { className: Dm() }, + a.a.createElement("h2", null, r), + a.a.createElement( + "details", + { style: { whiteSpace: "pre-wrap" } }, + t && t.toString(), + a.a.createElement("br", null), + n && n.componentStack + ) + ); + }; + function _m(e) { + return (_m = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Nm(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Mm(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Im(e, t, n) { + return t && Mm(e.prototype, t), n && Mm(e, n), e; + } + function Rm(e, t) { + return !t || ("object" !== _m(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Fm(e) { + return (Fm = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Lm(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Vm(e, t); + } + function Vm(e, t) { + return (Vm = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + Am.displayName = "ErrorWithStack"; + var Bm = (function (e) { + function t() { + var e, n; + Nm(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Rm( + this, + (e = Fm(t)).call.apply(e, [this].concat(a)) + )).state = { error: null, errorInfo: null }), + n + ); + } + return ( + Lm(t, e), + Im(t, [ + { + key: "componentDidCatch", + value: function (e, t) { + this.setState({ error: e, errorInfo: t }); + }, + }, + { + key: "render", + value: function () { + var e = this.props.children, + t = this.state; + return e({ error: t.error, errorInfo: t.errorInfo }); + }, + }, + ]), + t + ); + })(r.PureComponent), + $m = (function (e) { + function t() { + return Nm(this, t), Rm(this, Fm(t).apply(this, arguments)); + } + return ( + Lm(t, e), + Im(t, [ + { + key: "render", + value: function () { + var e = this.props, + t = e.title, + n = e.children, + r = e.style; + return a.a.createElement(Bm, null, function (e) { + var o = e.error, + i = e.errorInfo; + return i + ? "alertbox" === r + ? a.a.createElement( + Gs, + { title: t || "" }, + a.a.createElement( + "details", + { style: { whiteSpace: "pre-wrap" } }, + o && o.toString(), + a.a.createElement("br", null), + i.componentStack + ) + ) + : a.a.createElement(Am, { + title: t || "", + error: o, + errorInfo: i, + }) + : n; + }); + }, + }, + ]), + t + ); + })(r.PureComponent); + function qm() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n background: linear-gradient(to bottom, ", + ", ", + ");\n color: ", + ";\n white-space: nowrap;\n border-radius: 3px;\n text-shadow: none;\n font-size: 13px;\n padding: 4px 8px;\n cursor: help;\n display: inline-block;\n ", + ]); + return ( + (qm = function () { + return e; + }), + e + ); + } + $m.defaultProps = { + title: "An unexpected error happened", + style: "alertbox", + }; + var Um = function (e) { + var t = e.state, + n = e.text, + i = e.className, + l = + n || + "This feature is a work in progress and updates may include breaking changes", + s = Object(r.useContext)(hr.ThemeContext), + c = Object(o.cx)( + i, + Object(o.css)( + qm(), + s.colors.blueBase, + s.colors.blueShade, + s.colors.gray7 + ) + ); + return a.a.createElement( + "div", + { className: c, title: l }, + a.a.createElement("i", { className: "fa fa-warning" }), + " ", + t + ); + }; + function zm(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Hm(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? zm(Object(n), !0).forEach(function (t) { + Gm(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : zm(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Gm(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Wm = function (e) { + var t = e.dataSourceConfig, + n = e.onChange, + r = t.secureJsonData ? t.secureJsonData.basicAuthPassword : ""; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(be, { + label: "User", + labelWidth: 10, + inputWidth: 18, + placeholder: "user", + value: t.basicAuthUser, + onChange: function (e) { + return n(Hm({}, t, { basicAuthUser: e.currentTarget.value })); + }, + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(Se, { + isConfigured: + !!t.basicAuthPassword || + !(!t.secureJsonFields || !t.secureJsonFields.basicAuthPassword), + value: r || "", + inputWidth: 18, + labelWidth: 10, + onReset: function () { + n( + Hm({}, t, { + basicAuthPassword: "", + secureJsonData: Hm({}, t.secureJsonData, { + basicAuthPassword: "", + }), + secureJsonFields: Hm({}, t.secureJsonFields, { + basicAuthPassword: !1, + }), + }) + ); + }, + onChange: function (e) { + n( + Hm({}, t, { + secureJsonData: Hm({}, t.secureJsonData, { + basicAuthPassword: e.currentTarget.value, + }), + }) + ); + }, + }) + ) + ); + }; + function Qm(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ym(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Qm(Object(n), !0).forEach(function (t) { + Km(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Qm(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Km(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Jm = function (e) { + var t = e.dataSourceConfig, + n = e.onChange; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement(Vt, { + label: "TLS Client Auth", + labelClass: "width-13", + checked: t.jsonData.tlsAuth || !1, + onChange: function (e) { + return n( + Ym({}, t.jsonData, { tlsAuth: e.currentTarget.checked }) + ); + }, + }), + a.a.createElement(Vt, { + label: "With CA Cert", + labelClass: "width-13", + checked: t.jsonData.tlsAuthWithCACert || !1, + onChange: function (e) { + return n( + Ym({}, t.jsonData, { + tlsAuthWithCACert: e.currentTarget.checked, + }) + ); + }, + tooltip: "Needed for verifying self-signed TLS Certs", + }) + ), + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement(Vt, { + label: "Skip TLS Verify", + labelClass: "width-13", + checked: t.jsonData.tlsSkipVerify || !1, + onChange: function (e) { + return n( + Ym({}, t.jsonData, { + tlsSkipVerify: e.currentTarget.checked, + }) + ); + }, + }) + ), + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement(Vt, { + label: "Forward OAuth Identity", + labelClass: "width-13", + checked: t.jsonData.oauthPassThru || !1, + onChange: function (e) { + return n( + Ym({}, t.jsonData, { + oauthPassThru: e.currentTarget.checked, + }) + ); + }, + tooltip: + "Forward the user's upstream OAuth identity to the data source (Their access token gets passed along).", + }) + ) + ); + }, + Zm = function (e) { + var t = e.hasCert, + n = e.label, + r = e.onChange, + o = e.onClick, + i = e.placeholder; + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form gf-form--v-stretch" }, + a.a.createElement( + "label", + { className: "gf-form-label width-7" }, + n + ) + ), + !t && + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("textarea", { + rows: 7, + className: "gf-form-input gf-form-textarea", + onChange: r, + placeholder: i, + required: !0, + }) + ), + t && + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement("input", { + type: "text", + className: "gf-form-input max-width-12", + disabled: !0, + value: "configured", + }), + a.a.createElement( + "a", + { className: "btn btn-secondary gf-form-btn", onClick: o }, + "reset" + ) + ) + ); + }; + function Xm() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n align-items: baseline;\n "]); + return ( + (Xm = function () { + return e; + }), + e + ); + } + function eg(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function tg(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? eg(Object(n), !0).forEach(function (t) { + ng(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : eg(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function ng(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var rg = function (e) { + var t = e.dataSourceConfig, + n = e.onChange, + r = t.secureJsonFields && t.secureJsonFields.tlsCACert, + i = t.secureJsonFields && t.secureJsonFields.tlsClientCert, + l = t.secureJsonFields && t.secureJsonFields.tlsClientKey, + s = function (e) { + return function (r) { + r.preventDefault(); + var a = tg({}, t.secureJsonFields); + (a[e] = !1), n(tg({}, t, { secureJsonFields: a })); + }; + }, + c = function (e) { + return function (r) { + var a = tg({}, t.secureJsonData); + (a[e] = r.currentTarget.value), + n(tg({}, t, { secureJsonData: a })); + }; + }; + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: Object(o.cx)("gf-form", Object(o.css)(Xm())) }, + a.a.createElement("h6", null, "TLS Auth Details"), + a.a.createElement( + P.b, + { + placement: "right-end", + content: + "TLS Certs are encrypted and stored in the Grafana database.", + theme: "info", + }, + a.a.createElement( + "div", + { + className: + "gf-form-help-icon gf-form-help-icon--right-normal", + }, + a.a.createElement("i", { className: "fa fa-info-circle" }) + ) + ) + ), + a.a.createElement( + "div", + null, + t.jsonData.tlsAuthWithCACert && + a.a.createElement(Zm, { + hasCert: !!r, + onChange: c("tlsCACert"), + placeholder: "Begins with -----BEGIN CERTIFICATE-----", + label: "CA Cert", + onClick: s("tlsCACert"), + }), + t.jsonData.tlsAuth && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(Zm, { + hasCert: !!i, + label: "Client Cert", + onChange: c("tlsClientCert"), + placeholder: "Begins with -----BEGIN CERTIFICATE-----", + onClick: s("tlsClientCert"), + }), + a.a.createElement(Zm, { + hasCert: !!l, + label: "Client Key", + placeholder: "Begins with -----BEGIN RSA PRIVATE KEY-----", + onChange: c("tlsClientKey"), + onClick: s("tlsClientKey"), + }) + ) + ) + ); + }; + function ag(e) { + return (ag = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function og(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function ig(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function lg(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function sg(e, t) { + return !t || ("object" !== ag(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function cg(e) { + return (cg = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ug(e, t) { + return (ug = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function fg(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function dg(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? fg(Object(n), !0).forEach(function (t) { + pg(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : fg(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function pg(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function hg() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n display: flex;\n align-items: center;\n margin-bottom: 4px;\n > * {\n margin-left: 4px;\n margin-bottom: 0;\n height: 100%;\n &:first-child,\n &:last-child {\n margin-left: 0;\n }\n }\n ", + ]); + return ( + (hg = function () { + return e; + }), + e + ); + } + var mg = Object(i.g)(function () { + return { layout: Object(o.css)(hg()) }; + }), + gg = function (e) { + var t = e.header, + n = e.onBlur, + r = e.onChange, + o = e.onRemove, + i = e.onReset, + s = mg(); + return a.a.createElement( + "div", + { className: s.layout }, + a.a.createElement(be, { + label: "Header", + name: "name", + placeholder: "X-Custom-Header", + labelWidth: 5, + value: t.name || "", + onChange: function (e) { + return r(dg({}, t, { name: e.target.value })); + }, + onBlur: n, + }), + a.a.createElement(Se, { + label: "Value", + name: "value", + isConfigured: t.configured, + value: t.value, + labelWidth: 5, + inputWidth: t.configured ? 11 : 12, + placeholder: "Header Value", + onReset: function () { + return i(t.id); + }, + onChange: function (e) { + return r(dg({}, t, { value: e.target.value })); + }, + onBlur: n, + }), + a.a.createElement( + l.a, + { + variant: "transparent", + size: "xs", + onClick: function (e) { + return o(t.id); + }, + }, + a.a.createElement("i", { className: "fa fa-trash" }) + ) + ); + }; + gg.displayName = "CustomHeaderRow"; + var bg = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = sg(this, cg(t).call(this, e))).state = { headers: [] }), + (n.updateSettings = function () { + var e = n.state.headers, + t = n.props.dataSourceConfig.jsonData, + r = n.props.dataSourceConfig.secureJsonData || {}, + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = e.entries()[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = ig(l.value, 2), + u = c[0], + f = c[1]; + (t["httpHeaderName".concat(u + 1)] = f.name), + f.configured || + (r["httpHeaderValue".concat(u + 1)] = f.value), + Object.keys(t) + .filter(function (t) { + return ( + t.startsWith("httpHeaderName") && + parseInt(t.substring("httpHeaderName".length), 10) > + e.length + ); + }) + .forEach(function (e) { + delete t[e]; + }); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + n.props.onChange( + dg({}, n.props.dataSourceConfig, { + jsonData: t, + secureJsonData: r, + }) + ); + }), + (n.onHeaderAdd = function () { + n.setState(function (e) { + return { + headers: [].concat(og(e.headers), [ + { id: _t()(), name: "", value: "", configured: !1 }, + ]), + }; + }, n.updateSettings); + }), + (n.onHeaderChange = function (e, t) { + n.setState(function (n) { + return { + headers: n.headers.map(function (n, r) { + return e !== r ? n : dg({}, t); + }), + }; + }); + }), + (n.onHeaderReset = function (e) { + n.setState(function (t) { + return { + headers: t.headers.map(function (t, n) { + return t.id !== e + ? t + : dg({}, t, { value: "", configured: !1 }); + }), + }; + }); + }), + (n.onHeaderRemove = function (e) { + n.setState(function (t) { + return { + headers: t.headers.filter(function (t) { + return t.id !== e; + }), + }; + }, n.updateSettings); + }); + var r = n.props.dataSourceConfig, + a = r.jsonData, + o = r.secureJsonData, + i = r.secureJsonFields; + return ( + (n.state = { + headers: Object.keys(a) + .sort() + .filter(function (e) { + return e.startsWith("httpHeaderName"); + }) + .map(function (e, t) { + return { + id: _t()(), + name: a[e], + value: void 0 !== o ? o[e] : "", + configured: (i && i["httpHeaderValue".concat(t + 1)]) || !1, + }; + }), + }), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ug(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this, + t = this.state.headers; + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement("h6", null, "Custom HTTP Headers") + ), + a.a.createElement( + "div", + null, + t.map(function (t, n) { + return a.a.createElement(gg, { + key: t.id, + header: t, + onChange: function (t) { + e.onHeaderChange(n, t); + }, + onBlur: e.updateSettings, + onRemove: e.onHeaderRemove, + onReset: e.onHeaderReset, + }); + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + l.a, + { + variant: "inverse", + size: "xs", + onClick: function (t) { + e.onHeaderAdd(); + }, + }, + "Add Header" + ) + ) + ); + }, + }, + ]) && lg(n.prototype, r), + o && lg(n, o), + t + ); + })(r.PureComponent); + function vg() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n box-shadow: inset 0 0px 5px ", ";\n "]); + return ( + (vg = function () { + return e; + }), + e + ); + } + function yg(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function wg(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? yg(Object(n), !0).forEach(function (t) { + Og(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : yg(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Og(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function xg(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var kg = [ + { label: "Server (default)", value: "proxy" }, + { label: "Browser", value: "direct" }, + ], + jg = { label: "Server (default)", value: "proxy" }, + Sg = function () { + return a.a.createElement( + "div", + { className: "grafana-info-box m-t-2" }, + a.a.createElement( + "p", + null, + "Access mode controls how requests to the data source will be handled.", + a.a.createElement( + "strong", + null, + a.a.createElement("i", null, "Server") + ), + " ", + "should be the preferred way if nothing else stated." + ), + a.a.createElement( + "div", + { className: "alert-title" }, + "Server access mode (Default):" + ), + a.a.createElement( + "p", + null, + "All requests will be made from the browser to Grafana backend/server which in turn will forward the requests to the data source and by that circumvent possible Cross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the grafana backend/server if you select this access mode." + ), + a.a.createElement( + "div", + { className: "alert-title" }, + "Browser access mode:" + ), + a.a.createElement( + "p", + null, + "All requests will be made from the browser directly to the data source and may be subject to Cross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the browser if you select this access mode." + ) + ); + }, + Eg = function (e) { + var t, + n, + l = e.defaultUrl, + s = e.dataSourceConfig, + c = e.onChange, + u = e.showAccessOptions, + f = xg(Object(r.useState)(!1), 2), + d = f[0], + p = f[1], + h = Object(i.h)(), + m = Object(r.useCallback)( + function (e) { + c(wg({}, s, {}, e)); + }, + [s] + ); + switch (s.access) { + case "direct": + n = a.a.createElement( + a.a.Fragment, + null, + "Your access method is ", + a.a.createElement("em", null, "Browser"), + ", this means the URL needs to be accessible from the browser." + ); + break; + case "proxy": + n = a.a.createElement( + a.a.Fragment, + null, + "Your access method is ", + a.a.createElement("em", null, "Server"), + ", this means the URL needs to be accessible from the grafana backend/server." + ); + break; + default: + n = + "Specify a complete HTTP URL (for example http://your_server:8080)"; + } + var g = a.a.createElement(z.b, { + width: 20, + options: kg, + value: + kg.filter(function (e) { + return e.value === s.access; + })[0] || jg, + onChange: function (e) { + return m({ access: e.value }); + }, + }), + b = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/.test( + s.url + ), + v = Object(o.css)(vg(), h.colors.red), + y = Object(o.cx)((Og((t = {}), "width-20", !0), Og(t, v, !b), t)), + w = a.a.createElement(lt, { + className: y, + placeholder: l, + value: s.url, + onChange: function (e) { + return m({ url: e.currentTarget.value }); + }, + }); + return a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("h3", { className: "page-heading" }, "HTTP"), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(be, { + label: "URL", + labelWidth: 11, + tooltip: n, + inputEl: w, + }) + ), + u && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(be, { + label: "Access", + labelWidth: 11, + inputWidth: 20, + inputEl: g, + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { + className: "gf-form-label query-keyword pointer", + onClick: function () { + return p(function (e) { + return !e; + }); + }, + }, + "Help ", + a.a.createElement("i", { + className: "fa fa-caret-".concat( + d ? "down" : "right" + ), + }) + ) + ) + ), + d && a.a.createElement(Sg, null) + ), + "proxy" === s.access && + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + he, + { + width: 11, + tooltip: + "Grafana Proxy deletes forwarded cookies by default. Specify cookies by name that should be forwarded to the data source.", + }, + "Whitelisted Cookies" + ), + a.a.createElement(zr, { + tags: s.jsonData.keepCookies, + onChange: function (e) { + return m({ + jsonData: wg({}, s.jsonData, { keepCookies: e }), + }); + }, + width: 20, + }) + ) + ) + ), + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("h3", { className: "page-heading" }, "Auth"), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement(Vt, { + label: "Basic auth", + labelClass: "width-13", + checked: s.basicAuth, + onChange: function (e) { + m({ basicAuth: e.currentTarget.checked }); + }, + }), + a.a.createElement(Vt, { + label: "With Credentials", + labelClass: "width-13", + checked: s.withCredentials, + onChange: function (e) { + m({ withCredentials: e.currentTarget.checked }); + }, + tooltip: + "Whether credentials such as cookies or auth headers should be sent with cross-site requests.", + }) + ), + "proxy" === s.access && + a.a.createElement(Jm, { + dataSourceConfig: s, + onChange: function (e) { + return m({ jsonData: e }); + }, + }) + ), + s.basicAuth && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("h6", null, "Basic Auth Details"), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(Wm, e) + ) + ), + (s.jsonData.tlsAuth || s.jsonData.tlsAuthWithCACert) && + a.a.createElement(rg, { dataSourceConfig: s, onChange: c }), + a.a.createElement(bg, { dataSourceConfig: s, onChange: c }) + ) + ); + }, + Cg = n("AWKi"), + Pg = n("VtFO"), + Tg = n("Al41"); + function Dg(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Ag(e) { + var t = e.options, + n = e.value, + r = e.onChange, + i = e.Component, + l = e.className, + s = e.allowCustomValue, + c = e.placeholder, + u = Dg(qg(!1), 4), + f = u[0], + d = u[1], + p = u[2], + h = u[3]; + if (!p) { + var m = ga.a.isObject(n) ? n.label : n; + return a.a.createElement(f, { + Component: + i || + a.a.createElement( + "a", + { + className: Object(o.cx)( + "gf-form-label", + "query-part", + !n && c && "query-placeholder", + l + ), + }, + m || c + ), + }); + } + return a.a.createElement(Ng, { + value: n && !ga.a.isObject(n) ? { value: n } : n, + options: t, + width: d, + onClickOutside: function () { + return h(!1); + }, + allowCustomValue: s, + onChange: function (e) { + h(!1), r(e); + }, + }); + } + function _g() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: ", "px;\n "]); + return ( + (_g = function () { + return e; + }), + e + ); + } + function Ng(e) { + var t = e.value, + n = e.options, + i = void 0 === n ? [] : n, + l = e.onChange, + s = e.onClickOutside, + c = e.width, + u = e.noOptionsMessage, + f = void 0 === u ? "" : u, + d = e.allowCustomValue, + p = void 0 !== d && d, + h = Object(r.useRef)(null); + return ( + bl()(h, function () { + if (h && h.current) { + var e = h.current.querySelector('input[id^="react-select-"]'); + e && e.value ? l({ value: e.value, label: e.value }) : s(); + } + }), + a.a.createElement( + "div", + { ref: h }, + a.a.createElement(z.b, { + className: Object(o.cx)(Object(o.css)(_g(), c > 120 ? c : 120)), + noOptionsMessage: function () { + return f; + }, + placeholder: "", + autoFocus: !0, + isOpen: !0, + onChange: l, + options: i, + value: t, + allowCustomValue: p, + }) + ) + ); + } + function Mg(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Ig(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Mg(o, r, a, i, l, "next", e); + } + function l(e) { + Mg(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Rg(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Fg(e) { + var t = e.value, + n = e.onChange, + i = e.loadOptions, + l = e.Component, + s = e.className, + c = e.allowCustomValue, + u = e.placeholder, + f = Rg(Object(r.useState)(""), 2), + d = f[0], + p = f[1], + h = Rg(Object(r.useState)([]), 2), + m = h[0], + g = h[1], + b = Rg(qg(!1), 4), + v = b[0], + y = b[1], + w = b[2], + O = b[3]; + if (!w) { + var x = ga.a.isObject(t) ? t.label : t; + return a.a.createElement(v, { + onClick: Ig( + regeneratorRuntime.mark(function e() { + var t; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return p("Loading options..."), (e.next = 3), i(); + case 3: + (t = e.sent), + g(t), + p(t.length ? "" : "No options found"); + case 6: + case "end": + return e.stop(); + } + }, e); + }) + ), + Component: + l || + a.a.createElement( + "a", + { + className: Object(o.cx)( + "gf-form-label", + "query-part", + !t && u && "query-placeholder", + s + ), + }, + x || u + ), + }); + } + return a.a.createElement(Ng, { + value: t && !ga.a.isObject(t) ? { value: t } : t, + options: m, + width: y, + noOptionsMessage: d, + allowCustomValue: c, + onClickOutside: function () { + p(""), g([]), O(!1); + }, + onChange: function (e) { + p(""), g([]), O(!1), n(e); + }, + }); + } + function Lg() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: ", "px;\n "]); + return ( + (Lg = function () { + return e; + }), + e + ); + } + function Vg(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function Bg(e) { + var t = e.value, + n = e.onChange, + i = e.Component, + l = e.className, + s = e.placeholder, + c = e.autofocus, + u = void 0 !== c && c, + f = Object(r.useRef)(null), + d = Vg(Object(r.useState)(t), 2), + p = d[0], + h = d[1], + m = Vg( + Object(r.useState)(Object(ho.b)((t || "").toString(), 14).width), + 2 + ), + g = m[0], + b = m[1], + v = Vg(qg(u), 4), + y = v[0], + w = v[2], + O = v[3]; + if ( + (bl()(f, function () { + O(!1), n(p); + }), + !w) + ) + return a.a.createElement(y, { + Component: + i || + a.a.createElement( + "a", + { + className: Object(o.cx)( + "gf-form-label", + "query-part", + !p && s && "query-placeholder", + l + ), + }, + t || s + ), + }); + var x = Object(o.css)(Lg(), Math.max(g + 20, 32)); + return a.a.createElement("input", { + ref: f, + autoFocus: !0, + className: Object(o.cx)("gf-form gf-form-input", x), + value: p, + onChange: function (e) { + var t = Object(ho.b)(e.target.value, 14).width; + b(t), h(e.target.value); + }, + onBlur: function () { + O(!1), n(p); + }, + onKeyDown: function (e) { + [13, 27].includes(e.keyCode) && (O(!1), n(p)); + }, + }); + } + n("THR+"); + function $g(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var qg = function (e) { + var t = Object(r.useRef)(null), + n = $g(Object(r.useState)(e), 2), + o = n[0], + i = n[1], + l = $g(Object(r.useState)(), 2), + s = l[0], + c = l[1]; + return [ + function (e) { + var n = e.Component, + r = e.onClick; + return a.a.createElement( + "div", + { + className: "gf-form", + ref: t, + onClick: function () { + i(!0), + t && t.current && c(1.25 * t.current.clientWidth), + r && r(); + }, + }, + n + ); + }, + s, + o, + i, + ]; + }, + Ug = { Tooltip: Zi }, + zg = n("fcSX"); + function Hg() { + var e = Yg([ + "\n padding: ", + ";\n flex-grow: 1;\n overflow: ", + ";\n z-index: 0;\n ", + ]); + return ( + (Hg = function () { + return e; + }), + e + ); + } + function Gg() { + var e = Yg([ + "\n cursor: pointer;\n width: ", + ";\n height: 100%;\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n ", + ]); + return ( + (Gg = function () { + return e; + }), + e + ); + } + function Wg() { + var e = Yg([ + "\n font-size: ", + ";\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n border-bottom: 1px solid ", + ";\n padding: ", + " 0 ", + " ", + ";\n background-color: ", + ";\n top: 0;\n z-index: 1;\n flex-grow: 0;\n ", + ]); + return ( + (Wg = function () { + return e; + }), + e + ); + } + function Qg() { + var e = Yg([ + "\n .drawer-content {\n background-color: ", + ";\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n ", + ]); + return ( + (Qg = function () { + return e; + }), + e + ); + } + function Yg(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Kg = Object(i.g)(function (e, t) { + var n = Object(i.e)( + { light: e.colors.gray4, dark: e.colors.dark9 }, + e.type + ); + return { + drawer: Object(o.css)(Qg(), e.colors.bodyBg), + titleWrapper: Object(o.css)( + Wg(), + e.typography.size.lg, + n, + e.spacing.sm, + e.spacing.sm, + e.spacing.md, + e.colors.bodyBg + ), + close: Object(o.css)(Gg(), "50px"), + content: Object(o.css)(Hg(), e.spacing.md, t ? "auto" : "hidden"), + }; + }), + Jg = function (e) { + var t = e.children, + n = e.inline, + r = void 0 !== n && n, + o = e.onClose, + l = e.closeOnMaskClick, + s = void 0 !== l && l, + c = e.scrollableContent, + u = void 0 !== c && c, + f = e.title, + d = e.width, + p = void 0 === d ? "40%" : d, + h = Object(i.h)(), + m = Kg(h, u); + return a.a.createElement( + zg.a, + { + level: null, + handler: !1, + open: !0, + onClose: o, + maskClosable: s, + placement: "right", + width: p, + getContainer: !r && "body", + style: { position: "".concat(r && "absolute") }, + className: m.drawer, + }, + "string" == typeof f && + a.a.createElement( + "div", + { className: m.titleWrapper }, + a.a.createElement("div", null, f), + a.a.createElement( + "div", + { className: m.close, onClick: o }, + a.a.createElement("i", { className: "fa fa-close" }) + ) + ), + "function" == typeof f && f(), + a.a.createElement( + "div", + { className: m.content }, + u ? a.a.createElement(_.b, null, t) : t + ) + ); + }, + Zg = n("siax"), + Xg = n("qKvR"); + function eb() { + var e = ab([ + "\n body {\n .rc-slider-tooltip {\n cursor: grab;\n user-select: none;\n }\n\n .rc-slider-tooltip-inner {\n color: ", + ";\n background-color: transparent !important;\n border-radius: 0;\n box-shadow: none;\n }\n\n .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {\n display: none;\n }\n\n .rc-slider-tooltip-placement-top {\n padding: 0;\n }\n }\n ", + ]); + return ( + (eb = function () { + return e; + }), + e + ); + } + function tb() { + var e = ab([ + "\n .rc-slider-vertical .rc-slider-handle {\n margin-top: -10px;\n }\n .rc-slider-handle {\n border: solid 2px ", + ";\n background-color: ", + ";\n }\n .rc-slider-handle:hover {\n border-color: ", + ";\n }\n .rc-slider-handle:focus {\n border-color: ", + ";\n box-shadow: none;\n }\n .rc-slider-handle:active {\n border-color: ", + ";\n box-shadow: none;\n }\n .rc-slider-handle-click-focused:focus {\n border-color: ", + ";\n }\n .rc-slider-dot-active {\n border-color: ", + ";\n }\n .rc-slider-track {\n background-color: ", + ";\n }\n .rc-slider-rail {\n background-color: ", + ";\n border: 1px solid ", + ";\n }\n ", + ]); + return ( + (tb = function () { + return e; + }), + e + ); + } + function nb() { + var e = ab([ + "\n height: 100%;\n margin: ", + " ", + " ", + " ", + ";\n ", + ]); + return ( + (nb = function () { + return e; + }), + e + ); + } + function rb() { + var e = ab([ + "\n width: 100%;\n margin: ", + " ", + " ", + " ", + ";\n ", + ]); + return ( + (rb = function () { + return e; + }), + e + ); + } + function ab(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var ob = Object(i.g)(function (e, t) { + var n = e.isLight ? e.colors.gray5 : e.colors.dark6; + return { + container: t + ? Object(o.css)( + rb(), + e.spacing.lg, + e.spacing.sm, + e.spacing.sm, + e.spacing.sm + ) + : Object(o.css)( + nb(), + e.spacing.sm, + e.spacing.lg, + e.spacing.sm, + e.spacing.sm + ), + slider: Object(o.css)( + tb(), + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + e.colors.blue77, + n, + n + ), + tooltip: Object(Xg.d)(eb(), e.colors.text), + }; + }), + ib = function (e) { + var t = e.min, + n = e.max, + r = e.onChange, + i = e.onAfterChange, + l = e.orientation, + s = void 0 === l ? "horizontal" : l, + c = e.reverse, + u = e.formatTooltipResult, + f = e.value, + d = e.tooltipAlwaysVisible, + p = void 0 === d || d, + h = "horizontal" === s, + m = Object(Bt.c)(), + g = ob(m, h), + b = Object(Zg.b)(Zg.a); + return a.a.createElement( + "div", + { className: Object(o.cx)(g.container, g.slider) }, + a.a.createElement(Xg.c, { styles: g.tooltip }), + a.a.createElement(b, { + tipProps: { visible: p, placement: h ? "top" : "right" }, + min: t, + max: n, + defaultValue: f || [t, n], + tipFormatter: function (e) { + return u ? u(e) : e; + }, + onChange: r, + onAfterChange: i, + vertical: !h, + reverse: c, + }) + ); + }; + ib.displayName = "Slider"; + var lb = function (e, t, n) { + return n.expandTemplateVars && t.replaceVariables + ? t.replaceVariables(e, t.field.config.scopedVars) + : "".concat(e); + }, + sb = function (e) { + var t = e.value, + n = e.onChange; + return a.a.createElement(s.b.Input, { + value: t || "", + onChange: function (e) { + return n(e.currentTarget.value); + }, + }); + }, + cb = function (e) { + var t = e.value, + n = e.onChange; + return a.a.createElement(s.b.Input, { + value: t || "", + onChange: function (e) { + return n(e.currentTarget.value); + }, + }); + }, + ub = function (e, t, n) { + var r = parseFloat("".concat(e)); + return n.max && n.max, r; + }, + fb = function (e) { + var t = e.value, + n = e.onChange, + r = e.item.settings; + return a.a.createElement(s.b.Input, { + value: isNaN(t) ? "" : t, + min: r.min, + max: r.max, + type: "number", + step: r.step, + placeholder: r.placeholder, + onChange: function (e) { + n( + r.integer + ? Object(Pe.toIntegerOrUndefined)(e.currentTarget.value) + : Object(Pe.toFloatOrUndefined)(e.currentTarget.value) + ); + }, + }); + }, + db = function (e) { + var t = e.value, + n = e.onChange, + r = e.item.settings; + return a.a.createElement(s.b.Input, { + value: isNaN(t) ? "" : t, + min: r.min, + max: r.max, + type: "number", + step: r.step, + placeholder: r.placeholder, + onChange: function (e) { + n( + r.integer + ? Object(Pe.toIntegerOrUndefined)(e.currentTarget.value) + : Object(Pe.toFloatOrUndefined)(e.currentTarget.value) + ); + }, + }); + }, + pb = function (e, t, n) { + return e; + }, + hb = function (e) { + var t = e.item, + n = e.value, + r = e.onChange; + return a.a.createElement(s.b.Select, { + value: n || "", + onChange: function (e) { + return r(e.value); + }, + options: t.settings.options, + }); + }, + mb = function (e) { + var t = e.item, + n = e.value, + r = e.onChange; + return a.a.createElement(s.b.Select, { + value: n || "", + onChange: function (e) { + return r(e.value); + }, + options: t.settings.options, + }); + }, + gb = n("oEIk"); + function bb(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function vb(e) { + var t = e.label, + n = e.icon, + o = e.options, + i = e.onChange, + l = e.variant, + s = bb(Object(r.useState)(!1), 2), + c = s[0], + u = s[1]; + return a.a.createElement( + a.a.Fragment, + null, + !c && + a.a.createElement( + Od, + null, + a.a.createElement( + gb.a, + { + size: "sm", + icon: "fa fa-".concat(n || "plus"), + onClick: function () { + return u(!0); + }, + variant: l, + }, + t + ) + ), + c && + a.a.createElement(X.b, { + placeholder: t, + options: o, + isOpen: !0, + onCloseMenu: function () { + return u(!1); + }, + autoFocus: !0, + onChange: function (e) { + u(!1), i(e); + }, + }) + ); + } + function yb(e) { + return (yb = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function wb(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ob(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function xb(e, t) { + return !t || ("object" !== yb(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function kb(e) { + return (kb = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function jb(e, t) { + return (jb = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Sb = (function (e) { + function t() { + return wb(this, t), xb(this, kb(t).apply(this, arguments)); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && jb(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.data, + n = e.options, + r = e.onChange, + o = new Set(), + i = !0, + l = !1, + c = void 0; + try { + for ( + var u, f = t[Symbol.iterator](); + !(i = (u = f.next()).done); + i = !0 + ) { + var d = u.value, + p = !0, + h = !1, + m = void 0; + try { + for ( + var g, b = d.fields[Symbol.iterator](); + !(p = (g = b.next()).done); + p = !0 + ) { + var v = g.value; + o.add(v.name); + } + } catch (e) { + (h = !0), (m = e); + } finally { + try { + p || null == b.return || b.return(); + } finally { + if (h) throw m; + } + } + } + } catch (e) { + (l = !0), (c = e); + } finally { + try { + i || null == f.return || f.return(); + } finally { + if (l) throw c; + } + } + n && o.add(n); + var y = Array.from(o).map(function (e) { + return { value: e, label: e }; + }), + w = y.find(function (e) { + return e.value === n; + }); + return a.a.createElement(s.b.Select, { + allowCustomValue: !0, + value: w, + options: y, + onChange: function (e) { + return r(e.value); + }, + }); + }, + }, + ]) && Ob(n.prototype, r), + o && Ob(n, o), + t + ); + })(a.a.PureComponent), + Eb = { + id: Pe.FieldMatcherID.byName, + component: Sb, + matcher: Pe.fieldMatchers.get(Pe.FieldMatcherID.byName), + name: "Filter by name", + description: "Set properties for fields matching the name", + }, + Cb = new Pe.Registry(function () { + return [Eb]; + }), + Pb = function (e) { + var t = e.value, + n = e.onChange; + return a.a.createElement(Xn, { + value: t, + onChange: n, + useNewForms: !0, + }); + }, + Tb = function (e) { + var t = e.value, + n = e.onChange; + return a.a.createElement(Xn, { + value: t, + onChange: n, + useNewForms: !0, + }); + }, + Db = n("NnAq"), + Ab = n("DR0N"); + function _b(e) { + return (_b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Nb() { + var e = $b([ + "\n color: ", + ";\n cursor: pointer;\n\n &:hover {\n color: ", + ";\n }\n ", + ]); + return ( + (Nb = function () { + return e; + }), + e + ); + } + function Mb() { + var e = $b([ + "\n display: flex;\n align-items: center;\n ", + ]); + return ( + (Mb = function () { + return e; + }), + e + ); + } + function Ib() { + var e = $b([ + "\n font-size: ", + ";\n color: ", + ";\n ", + ]); + return ( + (Ib = function () { + return e; + }), + e + ); + } + function Rb() { + var e = $b(["\n margin-bottom: ", ";\n "]); + return ( + (Rb = function () { + return e; + }), + e + ); + } + function Fb() { + var e = $b(["\n padding: 0 ", ";\n "]); + return ( + (Fb = function () { + return e; + }), + e + ); + } + function Lb() { + var e = $b([ + "\n margin-bottom: ", + ";\n\n &:last-child {\n margin-bottom: 0;\n }\n ", + ]); + return ( + (Lb = function () { + return e; + }), + e + ); + } + function Vb() { + var e = $b([ + "\n display: flex;\n flex-direction: column;\n margin-bottom: ", + "px;\n ", + ]); + return ( + (Vb = function () { + return e; + }), + e + ); + } + function Bb() { + var e = $b([ + "\n display: flex;\n flex-direction: column;\n margin-bottom: -", + "px;\n ", + ]); + return ( + (Bb = function () { + return e; + }), + e + ); + } + function $b(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function qb(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Ub(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function zb(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ub(Object(n), !0).forEach(function (t) { + Hb(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Ub(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function Hb(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function Gb(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function Wb(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Qb(e, t) { + return !t || ("object" !== _b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Yb(e) { + return (Yb = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Kb(e, t) { + return (Kb = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Jb = [ + { + value: Pe.ThresholdsMode.Absolute, + label: "Absolute", + description: "Pick thresholds based on the absolute values", + }, + { + value: Pe.ThresholdsMode.Percentage, + label: "Percentage", + description: "Pick threshold based on the percent between min/max", + }, + ], + Zb = (function (e) { + function t(e) { + var n; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = Qb( + this, + Yb(t).call(this, e) + )).onAddThreshold = function () { + var e = n.state.steps, + t = 0; + e.length > 1 && (t = e[e.length - 1].value + 10); + var r = { + value: t, + color: Ge.o.filter(function (t) { + return !e.some(function (e) { + return e.color === t; + }); + })[1], + key: Xb++, + }, + a = [].concat(Gb(e), [r]); + Object(Pe.sortThresholds)(a), + n.setState({ steps: a }, n.onChange); + }), + (n.onRemoveThreshold = function (e) { + var t = n.state.steps; + t.length && + e.key !== t[0].key && + n.setState( + { + steps: t.filter(function (t) { + return t.key !== e.key; + }), + }, + n.onChange + ); + }), + (n.onChangeThresholdValue = function (e, t) { + var r = e.target.value.replace(/,/g, "."), + a = parseFloat(r), + o = isNaN(a) ? "" : a, + i = n.state.steps.map(function (e) { + return e.key === t.key && (e = zb({}, e, { value: o })), e; + }); + i.length && (i[0].value = -1 / 0), + Object(Pe.sortThresholds)(i), + n.setState({ steps: i }); + }), + (n.onChangeThresholdColor = function (e, t) { + var r = n.state.steps.map(function (n) { + return n.key === e.key && (n = zb({}, n, { color: t })), n; + }); + n.setState({ steps: r }, n.onChange); + }), + (n.onBlur = function () { + var e = Gb(n.state.steps); + Object(Pe.sortThresholds)(e), + n.setState({ steps: e }, n.onChange); + }), + (n.onChange = function () { + var e, t, r; + n.props.onChange( + ((e = n.props.thresholds), + (t = n.state.steps), + { + mode: + null !== (r = e.mode) && void 0 !== r + ? r + : Pe.ThresholdsMode.Absolute, + steps: t.map(function (e) { + return e.key, qb(e, ["key"]); + }), + }) + ); + }), + (n.onModeChanged = function (e) { + n.props.onChange(zb({}, n.props.thresholds, { mode: e })); + }); + var r = (function (e) { + (e && 0 !== e.length) || + (e = [{ value: -1 / 0, color: "green" }]); + return e.map(function (e) { + return { + color: e.color, + value: null === e.value ? -1 / 0 : e.value, + key: Xb++, + }; + }); + })(e.thresholds.steps); + return (r[0].value = -1 / 0), (n.state = { steps: r }), n; + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Kb(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "renderInput", + value: function (e, t) { + var n = this, + r = + this.props.thresholds.mode === + Pe.ThresholdsMode.Percentage; + return isFinite(e.value) + ? a.a.createElement(ee.a, { + type: "number", + step: "0.0001", + key: r.toString(), + onChange: function (t) { + return n.onChangeThresholdValue(t, e); + }, + value: e.value, + onBlur: this.onBlur, + prefix: a.a.createElement( + "div", + { className: t.inputPrefix }, + e.color && + a.a.createElement( + "div", + { className: t.colorPicker }, + a.a.createElement(fn, { + color: e.color, + onChange: function (t) { + return n.onChangeThresholdColor(e, t); + }, + enableNamedColors: !0, + }) + ), + r && + a.a.createElement( + "div", + { className: t.percentIcon }, + "%" + ) + ), + suffix: a.a.createElement(Y.a, { + className: t.trashIcon, + name: "trash", + onClick: function () { + return n.onRemoveThreshold(e); + }, + }), + }) + : a.a.createElement(ee.a, { + type: "text", + value: "Base", + disabled: !0, + prefix: + e.color && + a.a.createElement( + "div", + { className: t.colorPicker }, + a.a.createElement(fn, { + color: e.color, + onChange: function (t) { + return n.onChangeThresholdColor(e, t); + }, + enableNamedColors: !0, + }) + ), + }); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props.thresholds, + n = this.state.steps; + return a.a.createElement(Bt.a.Consumer, null, function (r) { + var o = ev(r); + return a.a.createElement( + "div", + { className: o.wrapper }, + a.a.createElement( + Od, + { className: o.addButton }, + a.a.createElement( + gb.a, + { + size: "sm", + icon: "fa fa-plus", + onClick: function () { + return e.onAddThreshold(); + }, + }, + "Add threshold" + ) + ), + a.a.createElement( + "div", + { className: o.thresholds }, + n + .slice(0) + .reverse() + .map(function (t) { + return a.a.createElement( + "div", + { className: o.item, key: "".concat(t.key) }, + e.renderInput(t, o) + ); + }) + ), + a.a.createElement( + Ab.a, + { label: "Threshold mode" }, + a.a.createElement( + Od, + null, + a.a.createElement(Db.a, { + size: "sm", + options: Jb, + onChange: e.onModeChanged, + value: t.mode, + }) + ) + ) + ); + }); + }, + }, + ]) && Wb(n.prototype, r), + o && Wb(n, o), + t + ); + })(r.PureComponent), + Xb = 100; + var ev = Object(i.g)(function (e) { + return { + wrapper: Object(o.css)(Bb(), 2 * e.spacing.formSpacingBase), + thresholds: Object(o.css)(Vb(), 2 * e.spacing.formSpacingBase), + item: Object(o.css)(Lb(), e.spacing.sm), + colorPicker: Object(o.css)(Fb(), e.spacing.sm), + addButton: Object(o.css)(Rb(), e.spacing.sm), + percentIcon: Object(o.css)( + Ib(), + e.typography.size.sm, + e.colors.textWeak + ), + inputPrefix: Object(o.css)(Mb()), + trashIcon: Object(o.css)(Nb(), e.colors.textWeak, e.colors.text), + }; + }); + function tv(e) { + return (tv = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function nv(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function rv(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function av(e, t, n) { + return t && rv(e.prototype, t), n && rv(e, n), e; + } + function ov(e, t) { + return !t || ("object" !== tv(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function iv(e) { + return (iv = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function lv(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && sv(e, t); + } + function sv(e, t) { + return (sv = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var cv, + uv = function (e, t, n) { + return e; + }, + fv = (function (e) { + function t(e) { + return nv(this, t), ov(this, iv(t).call(this, e)); + } + return ( + lv(t, e), + av(t, [ + { + key: "render", + value: function () { + var e = this.props.onChange, + t = this.props.value; + return ( + t || + (t = { mode: Pe.ThresholdsMode.Percentage, steps: [] }), + a.a.createElement(Zb, { thresholds: t, onChange: e }) + ); + }, + }, + ]), + t + ); + })(a.a.PureComponent), + dv = (function (e) { + function t(e) { + return nv(this, t), ov(this, iv(t).call(this, e)); + } + return ( + lv(t, e), + av(t, [ + { + key: "render", + value: function () { + return a.a.createElement( + "div", + null, + "THRESHOLDS OVERRIDE EDITOR ", + this.props.item.name + ); + }, + }, + ]), + t + ); + })(a.a.PureComponent); + function pv() { + var e = mv([ + "\n margin-bottom: ", + ";\n margin-right: ", + ";\n\n &:last-child {\n margin-bottom: 0;\n margin-right: 0;\n }\n ", + ]); + return ( + (pv = function () { + return e; + }), + e + ); + } + function hv() { + var e = mv([ + "\n display: flex;\n flex-direction: ", + ";\n justify-content: ", + ";\n height: 100%;\n ", + ]); + return ( + (hv = function () { + return e; + }), + e + ); + } + function mv(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + !(function (e) { + (e[(e.Horizontal = 0)] = "Horizontal"), + (e[(e.Vertical = 1)] = "Vertical"); + })(cv || (cv = {})); + var gv = function (e) { + var t = e.children, + n = e.orientation, + r = void 0 === n ? cv.Horizontal : n, + o = e.spacing, + l = void 0 === o ? "sm" : o, + s = e.justify, + c = void 0 === s ? "flex-start" : s, + u = Object(i.h)(), + f = yv(u, r, l, c); + return a.a.createElement( + "div", + { className: f.layout }, + a.a.Children.map(t, function (e, t) { + return a.a.createElement( + "div", + { className: f.buttonWrapper }, + e + ); + }) + ); + }, + bv = function (e) { + var t = e.children, + n = e.spacing, + r = e.justify; + return a.a.createElement( + gv, + { spacing: n, justify: r, orientation: cv.Horizontal }, + t + ); + }, + vv = function (e) { + var t = e.children, + n = e.spacing, + r = e.justify; + return a.a.createElement( + gv, + { spacing: n, justify: r, orientation: cv.Vertical }, + t + ); + }, + yv = Object(i.g)(function (e, t, n, r) { + return { + layout: Object(o.css)( + hv(), + t === cv.Vertical ? "column" : "row", + r + ), + buttonWrapper: Object(o.css)( + pv(), + t === cv.Horizontal ? 0 : e.spacing[n], + t === cv.Horizontal ? e.spacing[n] : 0 + ), + }; + }); + function wv() { + var e = Sv(["\n color: ", ";\n "]); + return ( + (wv = function () { + return e; + }), + e + ); + } + function Ov() { + var e = Sv(["\n font-size: ", ";\n "]); + return ( + (Ov = function () { + return e; + }), + e + ); + } + function xv() { + var e = Sv(["\n font-style: italic;\n "]); + return ( + (xv = function () { + return e; + }), + e + ); + } + function kv() { + var e = Sv(["\n cursor: pointer;\n "]); + return ( + (kv = function () { + return e; + }), + e + ); + } + function jv() { + var e = Sv([ + "\n border-bottom: 1px dashed ", + ";\n padding: ", + ";\n transition: background 0.5s cubic-bezier(0.19, 1, 0.22, 1);\n &:last-child {\n border-bottom: 0;\n }\n &:hover {\n background: ", + ";\n }\n ", + ]); + return ( + (jv = function () { + return e; + }), + e + ); + } + function Sv(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var Ev = function (e) { + e.index; + var t = e.link, + n = (e.data, e.onChange, e.suggestions, e.isEditing, e.onEdit), + r = e.onRemove, + l = Object(i.h)(), + s = Cv(l), + c = "" !== t.title.trim(), + u = "" !== t.url.trim(); + return a.a.createElement( + "div", + { className: s.wrapper }, + a.a.createElement( + bv, + { justify: "space-between" }, + a.a.createElement( + "div", + null, + a.a.createElement( + "div", + { className: Object(o.cx)(!c && s.notConfigured) }, + c ? t.title : "No data link provided" + ), + a.a.createElement( + "div", + { className: Object(o.cx)(!u && s.notConfigured, s.url) }, + u ? t.url : "No url provided" + ) + ), + a.a.createElement( + bv, + null, + a.a.createElement( + "div", + { onClick: n, className: s.action }, + a.a.createElement(Y.a, { name: "pencil" }) + ), + a.a.createElement( + "div", + { onClick: r, className: Object(o.cx)(s.action, s.remove) }, + a.a.createElement(Y.a, { name: "trash" }) + ) + ) + ) + ); + }, + Cv = Object(i.g)(function (e) { + var t = Object(i.e)( + { light: e.colors.gray85, dark: e.colors.dark9 }, + e.type + ), + n = Object(i.e)( + { light: e.colors.white, dark: e.colors.dark1 }, + e.type + ); + return { + wrapper: Object(o.css)(jv(), t, e.spacing.sm, n), + action: Object(o.css)(kv()), + notConfigured: Object(o.css)(xv()), + url: Object(o.css)(Ov(), e.typography.size.sm), + remove: Object(o.css)(wv(), e.colors.red88), + }; + }); + function Pv(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var Tv = function (e) { + var t = e.link, + n = e.index, + o = e.suggestions, + i = e.onChange, + l = e.onClose, + c = Pv(Object(r.useState)(t), 2), + u = c[0], + f = c[1]; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement(Jp, { + value: u, + index: n, + isLast: !1, + suggestions: o, + onChange: function (e, t) { + f(t); + }, + onRemove: function () {}, + }), + a.a.createElement( + bv, + null, + a.a.createElement( + s.b.Button, + { + onClick: function () { + i(n, u), l(); + }, + }, + "Save" + ), + a.a.createElement( + s.b.Button, + { + variant: "secondary", + onClick: function () { + return l(); + }, + }, + "Cancel" + ) + ) + ); + }; + function Dv() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n border: 1px dashed ", + ";\n margin-bottom: ", + ";\n transition: box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1);\n box-shadow: none;\n\n &:hover {\n box-shadow: 0 0 10px ", + ";\n }\n ", + ]); + return ( + (Dv = function () { + return e; + }), + e + ); + } + function Av(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var _v = function (e) { + var t = e.links, + n = e.onChange, + o = e.suggestions, + l = e.data, + c = Object(i.h)(), + u = Av(Object(r.useState)(), 2), + f = u[0], + d = u[1], + p = null != f, + h = Nv(c), + m = function (e, r) { + var a = Xd()(t); + (a[e] = r), n(a); + }; + return a.a.createElement( + a.a.Fragment, + null, + t && + a.a.createElement( + "div", + { className: h.wrapper }, + t.map(function (e, r) { + return a.a.createElement(Ev, { + key: "".concat(e.title, "/").concat(r), + index: r, + link: e, + onChange: m, + onEdit: function () { + return d(r); + }, + onRemove: function () { + return (e = r), (a = Xd()(t)).splice(e, 1), void n(a); + var e, a; + }, + data: l, + suggestions: o, + }); + }) + ), + p && + a.a.createElement( + sa, + { + title: "Edit data link", + isOpen: p, + onDismiss: function () { + d(null); + }, + }, + a.a.createElement(Tv, { + index: f, + link: t[f], + data: l, + onChange: m, + onClose: function () { + return d(null); + }, + suggestions: o, + }) + ), + a.a.createElement( + Od, + null, + a.a.createElement( + s.b.Button, + { + size: "sm", + icon: "fa fa-plus", + onClick: function () { + var e = Xd()(t); + e + ? e.push({ title: "", url: "" }) + : (e = [{ title: "", url: "" }]), + d(e.length - 1), + n(e); + }, + }, + "Add data link" + ) + ) + ); + }, + Nv = Object(i.g)(function (e) { + var t = Object(i.e)( + { light: e.colors.gray85, dark: e.colors.dark9 }, + e.type + ), + n = Object(i.e)( + { light: e.colors.gray85, dark: e.colors.black }, + e.type + ); + return { wrapper: Object(o.css)(Dv(), t, e.spacing.md, n) }; + }), + Mv = function (e, t, n) { + return e; + }, + Iv = function (e) { + var t = e.value, + n = e.onChange, + r = e.context; + return a.a.createElement(_v, { + links: t, + onChange: n, + data: r.data, + suggestions: r.getSuggestions ? r.getSuggestions() : [], + }); + }, + Rv = function (e) { + var t = e.value, + n = e.onChange, + r = e.context; + return a.a.createElement(_v, { + links: t, + onChange: n, + data: r.data, + suggestions: r.getSuggestions ? r.getSuggestions() : [], + }); + }; + function Fv(e) { + return (Fv = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Lv(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Vv(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Bv(e, t, n) { + return t && Vv(e.prototype, t), n && Vv(e, n), e; + } + function $v(e, t) { + return !t || ("object" !== Fv(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function qv(e) { + return (qv = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Uv(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && zv(e, t); + } + function zv(e, t) { + return (zv = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Hv = function (e, t, n) { + return e; + }, + Gv = (function (e) { + function t(e) { + return Lv(this, t), $v(this, qv(t).call(this, e)); + } + return ( + Uv(t, e), + Bv(t, [ + { + key: "render", + value: function () { + var e = this.props.onChange, + t = this.props.value; + return ( + t || (t = []), + a.a.createElement(Mn, { valueMappings: t, onChange: e }) + ); + }, + }, + ]), + t + ); + })(a.a.PureComponent), + Wv = (function (e) { + function t(e) { + return Lv(this, t), $v(this, qv(t).call(this, e)); + } + return ( + Uv(t, e), + Bv(t, [ + { + key: "render", + value: function () { + return a.a.createElement( + "div", + null, + "VALUE MAPPINGS OVERRIDE EDITOR ", + this.props.item.name + ); + }, + }, + ]), + t + ); + })(a.a.PureComponent), + Qv = function () { + return [ + { + id: "unit", + name: "Unit", + description: "value units", + editor: Pb, + override: Tb, + process: lb, + settings: { placeholder: "none" }, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "min", + name: "Min", + description: "Minimum expected value", + editor: fb, + override: db, + process: ub, + settings: { placeholder: "auto" }, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "max", + name: "Max", + description: "Maximum expected value", + editor: fb, + override: db, + process: ub, + settings: { placeholder: "auto" }, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "decimals", + name: "Decimals", + description: + "How many decimal places should be shown on a number", + editor: fb, + override: db, + process: ub, + settings: { placeholder: "auto", min: 0, max: 15, integer: !0 }, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "thresholds", + name: "Thresholds", + description: "Manage Thresholds", + editor: fv, + override: dv, + process: uv, + settings: {}, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "mappings", + name: "Value mappings", + description: "Manage value mappings", + editor: Gv, + override: Wv, + process: Hv, + settings: {}, + shouldApply: function (e) { + return e.type === Pe.FieldType.number; + }, + }, + { + id: "title", + name: "Title", + description: "The field title", + editor: sb, + override: cb, + process: lb, + settings: { placeholder: "auto", expandTemplateVars: !0 }, + shouldApply: function (e) { + return e.type !== Pe.FieldType.time; + }, + }, + { + id: "noValue", + name: "No Value", + description: "What to show when there is no value", + editor: sb, + override: cb, + process: lb, + settings: { placeholder: "-" }, + shouldApply: function () { + return !0; + }, + }, + { + id: "links", + name: "DataLinks", + description: "Manage date links", + editor: Iv, + override: Rv, + process: Mv, + settings: { placeholder: "-" }, + shouldApply: function () { + return !0; + }, + }, + ]; + }; + n.d(t, "x", function () { + return E; + }), + n.d(t, "J", function () { + return C; + }), + n.d(t, "Bc", function () { + return P.b; + }), + n.d(t, "Ob", function () { + return P.PopoverContent; + }), + n.d(t, "Pb", function () { + return T.a; + }), + n.d(t, "Nb", function () { + return D.a; + }), + n.d(t, "Qb", function () { + return A.a; + }), + n.d(t, "E", function () { + return _.a; + }), + n.d(t, "l", function () { + return l.a; + }), + n.d(t, "tb", function () { + return l.b; + }), + n.d(t, "u", function () { + return U; + }), + n.d(t, "Yb", function () { + return z.b; + }), + n.d(t, "d", function () { + return z.a; + }), + n.d(t, "gb", function () { + return H.a; + }), + n.d(t, "Fb", function () { + return G.a; + }), + n.d(t, "Oc", function () { + return W.a; + }), + n.d(t, "n", function () { + return Q.a; + }), + n.d(t, "m", function () { + return Z; + }), + n.d(t, "q", function () { + return ce; + }), + n.d(t, "r", function () {}), + n.d(t, "T", function () { + return he; + }), + n.d(t, "S", function () { + return be; + }), + n.d(t, "Tb", function () { + return Se; + }), + n.d(t, "vb", function () { + return Ce; + }), + n.d(t, "w", function () { + return fn; + }), + n.d(t, "cc", function () { + return dn; + }), + n.d(t, "dc", function () { + return Qt; + }), + n.d(t, "ec", function () { + return Yt; + }), + n.d(t, "Kb", function () { + return pn; + }), + n.d(t, "Jb", function () { + return hn; + }), + n.d(t, "Fc", function () { + return Mn; + }), + n.d(t, "pc", function () { + return Vt; + }), + n.d(t, "L", function () { + return In; + }), + n.d(t, "Lb", function () { + return Hn; + }), + n.d(t, "Mb", function () { + return Nn; + }), + n.d(t, "Ec", function () { + return Xn; + }), + n.d(t, "lc", function () { + return ur; + }), + n.d(t, "hb", function () { + return lt; + }), + n.d(t, "ib", function () { + return Re; + }), + n.d(t, "Sb", function () { + return fr.a; + }), + n.d(t, "yc", function () { + return dr.a; + }), + n.d(t, "xc", function () { + return Or; + }), + n.d(t, "ub", function () { + return kr.a; + }), + n.d(t, "vc", function () { + return zr; + }), + n.d(t, "y", function () { + return ha; + }), + n.d(t, "Rb", function () { + return Ea; + }), + n.d(t, "yb", function () { + return sa; + }), + n.d(t, "zb", function () { + return ea; + }), + n.d(t, "Cb", function () { + return Fa; + }), + n.d(t, "Bb", function () { + return La; + }), + n.d(t, "Eb", function () { + return Ha; + }), + n.d(t, "Ab", function () { + return Ga; + }), + n.d(t, "Db", function () { + return Wa; + }), + n.d(t, "gc", function () { + return oo; + }), + n.d(t, "sc", function () { + return Yo; + }), + n.d(t, "tc", function () { + return ti; + }), + n.d(t, "uc", function () { + return Aa; + }), + n.d(t, "qc", function () { + return Ra; + }), + n.d(t, "rc", function () { + return ii; + }), + n.d(t, "g", function () { + return Ai; + }), + n.d(t, "h", function () { + return bi; + }), + n.d(t, "k", function () {}), + n.d(t, "i", function () { + return vi; + }), + n.d(t, "j", function () { + return yi; + }), + n.d(t, "W", function () { + return Bi; + }), + n.d(t, "X", function () { + return Yl; + }), + n.d(t, "Z", function () { + return Ps; + }), + n.d(t, "db", function () { + return Ms; + }), + n.d(t, "Y", function () { + return Ll; + }), + n.d(t, "e", function () { + return ko; + }), + n.d(t, "f", function () { + return Oo; + }), + n.d(t, "cb", function () { + return Is.GraphTooltipOptions; + }), + n.d(t, "Ic", function () { + return Us; + }), + n.d(t, "pb", function () { + return Kl.LegendOptions; + }), + n.d(t, "lb", function () { + return Kl.LegendBasicOptions; + }), + n.d(t, "rb", function () { + return Kl.LegendRenderOptions; + }), + n.d(t, "ob", function () { + return Kl.d; + }), + n.d(t, "sb", function () { + return Kl.h; + }), + n.d(t, "nb", function () { + return Kl.LegendItem; + }), + n.d(t, "qb", function () { + return Kl.LegendPlacement; + }), + n.d(t, "mb", function () { + return Kl.b; + }), + n.d(t, "a", function () { + return Gs; + }), + n.d(t, "b", function () {}), + n.d(t, "ab", function () { + return rc; + }), + n.d(t, "bb", function () {}), + n.d(t, "v", function () { + return yc; + }), + n.d(t, "D", function () { + return vc; + }), + n.d(t, "wb", function () { + return Ec; + }), + n.d(t, "xb", function () { + return fd; + }), + n.d(t, "Lc", function () { + return Wc; + }), + n.d(t, "Ac", function () { + return vd; + }), + n.d(t, "zc", function () { + return yd; + }), + n.d(t, "V", function () { + return Od; + }), + n.d(t, "wc", function () { + return Md; + }), + n.d(t, "t", function () { + return sf.a; + }), + n.d(t, "Q", function () { + return Gd; + }), + n.d(t, "R", function () { + return Jd; + }), + n.d(t, "hc", function () {}), + n.d(t, "Rc", function () { + return op; + }), + n.d(t, "Qc", function () { + return ip; + }), + n.d(t, "Jc", function () { + return sp; + }), + n.d(t, "p", function () { + return hp; + }), + n.d(t, "z", function () { + return Cl; + }), + n.d(t, "B", function () {}), + n.d(t, "A", function () {}), + n.d(t, "C", function () {}), + n.d(t, "H", function () { + return eh; + }), + n.d(t, "F", function () { + return qp; + }), + n.d(t, "G", function () { + return oh; + }), + n.d(t, "fc", function () { + return Xi; + }), + n.d(t, "Tc", function () { + return Vh; + }), + n.d(t, "Cc", function () { + return gm; + }), + n.d(t, "Dc", function () { + return Pm; + }), + n.d(t, "jb", function () { + return lm; + }), + n.d(t, "kb", function () { + return em; + }), + n.d(t, "M", function () { + return Bm; + }), + n.d(t, "N", function () { + return $m; + }), + n.d(t, "O", function () { + return Am; + }), + n.d(t, "c", function () { + return Um; + }), + n.d(t, "I", function () { + return Eg; + }), + n.d(t, "kc", function () { + return Cg.a; + }), + n.d(t, "P", function () { + return Pg.a; + }), + n.d(t, "ic", function () { + return Tg.a; + }), + n.d(t, "Ub", function () { + return Ag; + }), + n.d(t, "Vb", function () { + return Fg; + }), + n.d(t, "Wb", function () { + return Bg; + }), + n.d(t, "Xb", function () { + return Ng; + }), + n.d(t, "s", function () { + return Ug; + }), + n.d(t, "fb", function () { + return Y.a; + }), + n.d(t, "K", function () { + return Jg; + }), + n.d(t, "jc", function () { + return ib; + }), + n.d(t, "oc", function () { + return sb; + }), + n.d(t, "nc", function () { + return cb; + }), + n.d(t, "Sc", function () { + return lb; + }), + n.d(t, "mc", function () {}), + n.d(t, "Ib", function () { + return fb; + }), + n.d(t, "Hb", function () { + return db; + }), + n.d(t, "Nc", function () { + return ub; + }), + n.d(t, "Gb", function () {}), + n.d(t, "Pc", function () { + return pb; + }), + n.d(t, "bc", function () { + return hb; + }), + n.d(t, "ac", function () { + return mb; + }), + n.d(t, "Zb", function () {}), + n.d(t, "U", function () { + return s.b; + }), + n.d(t, "o", function () { + return s.a; + }), + n.d(t, "Gc", function () { + return vb; + }), + n.d(t, "Kc", function () { + return Cb; + }), + n.d(t, "Mc", function () { + return Qv; + }), + n.d(t, "eb", function () { + return bv; + }), + n.d(t, "Hc", function () { + return vv; + }); + }, + aWP2: function (e, t, n) { + "use strict"; + var r = {}; + n.r(r), + n.d(r, "getPreviousCousin", function () { + return L; + }), + n.d(r, "getNextCharacter", function () { + return V; + }); + var a = n("3WF5"), + o = n.n(a), + i = n("xweI"), + l = n.n(i), + s = n("mRsi"), + c = n.n(s), + u = n("kcif"), + f = n.n(u), + d = n("xrec"), + p = n.n(d), + h = n("Zss7"), + m = n.n(h); + function g(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var b = [ + "#7EB26D", + "#EAB839", + "#6ED0E0", + "#EF843C", + "#E24D42", + "#1F78C1", + "#BA43A9", + "#705DA0", + "#508642", + "#CCA300", + "#447EBC", + "#C15C17", + "#890F02", + "#0A437C", + "#6D1F62", + "#584477", + "#B7DBAB", + "#F4D598", + "#70DBED", + "#F9BA8F", + "#F29191", + "#82B5D8", + "#E5A8E2", + "#AEA2E0", + "#629E51", + "#E5AC0E", + "#64B0C8", + "#E0752D", + "#BF1B00", + "#0A50A1", + "#962D82", + "#614D93", + "#9AC48A", + "#F2C96D", + "#65C5DB", + "#F9934E", + "#EA6460", + "#5195CE", + "#D683CE", + "#806EB7", + "#3F6833", + "#967302", + "#2F575E", + "#99440A", + "#58140C", + "#052B51", + "#511749", + "#3F2B5B", + "#E0F9D7", + "#FCEACA", + "#CFFAFF", + "#F9E2D2", + "#FCE2DE", + "#BADFF4", + "#F9D9F9", + "#DEDAF7", + ]; + function v(e) { + return m()(e).toHsl(); + } + function y(e) { + return m()(e).toHexString(); + } + var w, + O, + x, + k, + j, + S, + E, + C = + ((w = b), + (O = o()(w, v)), + (x = l()(O, ["h"])), + (k = f()(x, 4)), + (j = o()(k, function (e) { + return l()(e, "l"); + })), + (S = c()(p.a.apply(void 0, g(j)))), + o()(S, y)); + !(function (e) { + (e.onBlur = "onBlur"), + (e.onFocus = "onFocus"), + (e.onChange = "onChange"); + })(E || (E = {})); + var P = function (e, t) { + var n = t.reduce(function (t, n) { + return n.rule(e) ? t : t.concat(n.errorMessage); + }, []); + return n.length > 0 ? n : null; + }, + T = function (e, t) { + return t && t[e]; + }, + D = function (e, t) { + return { + rule: function (t) { + return !!t.match(e); + }, + errorMessage: t || "Value is not valid", + }; + }, + A = n("zp0N"), + _ = n("nfvv"), + N = [ + "#D32D20", + "#1E72B8", + "#B240A2", + "#705DA0", + "#466803", + "#497A3C", + "#3D71AA", + "#B15415", + "#890F02", + "#6E6E6E", + "#0A437C", + "#6D1F62", + "#584477", + "#4C7A3F", + "#2F4F4F", + "#BF1B00", + "#7662B1", + "#8A2EB8", + "#517A00", + "#000000", + "#3F6833", + "#2F575E", + "#99440A", + "#AE561A", + "#0E4AB4", + "#58140C", + "#052B51", + "#511749", + "#3F2B5B", + ], + M = [ + "#FF7368", + "#459EE7", + "#E069CF", + "#9683C6", + "#6C8E29", + "#76AC68", + "#6AA4E2", + "#E7823D", + "#AF3528", + "#9B9B9B", + "#3069A2", + "#934588", + "#7E6A9D", + "#88C477", + "#557575", + "#E54126", + "#A694DD", + "#B054DE", + "#8FC426", + "#262626", + "#658E59", + "#557D84", + "#BF6A30", + "#FF9B53", + "#3470DA", + "#7E3A32", + "#2B5177", + "#773D6F", + "#655181", + ]; + function I(e) { + var t = (function (e) { + for (var t = 5381, n = 0; n < e.length; n++) + t = (t << 5) + t + e.charCodeAt(n); + return t; + })(e.toLowerCase()); + return { + color: N[Math.abs(t % N.length)], + borderColor: M[Math.abs(t % M.length)], + }; + } + var R = n("AZV9"), + F = n("Kcoi"); + function L(e, t) { + for (var n, r = e.parentElement.previousSibling; r; ) { + if ((n = r.querySelector(t))) return n; + r = r.previousSibling; + } + } + function V(e) { + var t = (e || window).getSelection(); + if (!t || !t.anchorNode) return null; + var n = t.getRangeAt(0), + r = t.anchorNode.textContent, + a = n.startOffset; + return r.substr(a, 1); + } + "Element" in window && + !Element.prototype.closest && + (Element.prototype.closest = function (e) { + var t, + n = (this.document || this.ownerDocument).querySelectorAll(e), + r = this; + do { + for (t = n.length; --t >= 0 && n.item(t) !== r; ); + r = r.parentElement; + } while (t < 0 && r); + return r; + }), + n.d(t, "i", function () { + return 4; + }), + n.d(t, "h", function () { + return 14; + }), + n.d(t, "b", function () { + return "rgba(0, 211, 255, 1)"; + }), + n.d(t, "g", function () { + return "rgba(11, 237, 50, 1)"; + }), + n.d(t, "a", function () { + return "rgba(237, 46, 24, 1)"; + }), + n.d(t, "f", function () { + return "rgba(150, 150, 150, 1)"; + }), + n.d(t, "j", function () { + return "rgba(247, 149, 32, 1)"; + }), + n.d(t, "k", function () { + return 0.09; + }), + n.d(t, "o", function () { + return b; + }), + n.d(t, "w", function () { + return C; + }), + n.d(t, "e", function () { + return E; + }), + n.d(t, "x", function () { + return P; + }), + n.d(t, "q", function () { + return T; + }), + n.d(t, "v", function () { + return D; + }), + n.d(t, "l", function () { + return A.a; + }), + n.d(t, "s", function () { + return A.b; + }), + n.d(t, "t", function () { + return A.c; + }), + n.d(t, "d", function () { + return _.a; + }), + n.d(t, "r", function () { + return _.b; + }), + n.d(t, "p", function () { + return I; + }), + n.d(t, "u", function () { + return R.b; + }), + n.d(t, "n", function () { + return R.a; + }), + n.d(t, "m", function () { + return F.a; + }), + n.d(t, "c", function () { + return r; + }); + }, + atUN: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return w; + }); + var r = n("q1tI"), + a = n("51gB"), + o = n.n(a), + i = n("Obii"), + l = n("/MKj"), + s = n("GQ3c"), + c = n("Xmxp"), + u = n("UIT+"), + f = n("13X4"), + d = n("NXk7"); + function p(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function h(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function m(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? h(Object(n), !0).forEach(function (t) { + g(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : h(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function g(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function b(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function v(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + b(o, r, a, i, l, "next", e); + } + function l(e) { + b(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var y = (function () { + var e = v( + regeneratorRuntime.mark(function e(t, n, r) { + var a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (a = + n.folderId >= 0 + ? n.folderId + : r.meta.folderId || t.folderId), + (e.next = 3), + Object(d.c)().saveDashboard( + t, + m({}, n, { folderId: a }) + ) + ); + case 3: + return e.abrupt("return", e.sent); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n, r) { + return e.apply(this, arguments); + }; + })(), + w = function (e) { + var t = Object(l.useSelector)(function (e) { + return e.location; + }), + n = Object(l.useDispatch)(), + a = p( + o()( + (function () { + var e = v( + regeneratorRuntime.mark(function e(t, n, r) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), y(t, n, r); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n, r) { + return e.apply(this, arguments); + }; + })(), + [] + ), + 2 + ), + d = a[0], + h = a[1]; + return ( + Object(r.useEffect)( + function () { + if (d.value) { + (e.version = d.value.version), + c.b.emit(s.CoreEvents.dashboardSaved, e), + c.b.emit(i.AppEvents.alertSuccess, ["Dashboard saved"]); + var r = u.b.stripBaseFromUrl(d.value.url); + r !== t.path && + n(Object(f.b)({ path: r, replace: !0, query: {} })); + } + }, + [d] + ), + { state: d, onDashboardSave: h } + ); + }; + }, + "b+mb": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("KgU3"), + a = function (e, t) { + var n = e.reduce(function (e, n) { + return ( + n.type === r.MappingType.ValueToText + ? (e = (function (e, t, n) { + if (void 0 === t.value) return e; + if (null === n && i(t)) return e.concat(t); + var r = parseFloat(n), + a = parseFloat(t.value); + return isNaN(r) || isNaN(a) ? e : r !== a ? e : e.concat(t); + })(e, n, t)) + : n.type === r.MappingType.RangeToText && + (e = (function (e, t, n) { + if (void 0 === t.from || void 0 === t.to || void 0 === n) + return e; + if ( + null === n && + t.from && + t.to && + "null" === t.from.toLowerCase() && + "null" === t.to.toLowerCase() + ) + return e.concat(t); + var r = parseFloat(n), + a = parseFloat(t.from), + o = parseFloat(t.to); + return isNaN(r) || isNaN(a) || isNaN(o) + ? e + : r >= a && r <= o + ? e.concat(t) + : e; + })(e, n, t)), + e + ); + }, []); + return ( + n.sort(function (e, t) { + return e.id - t.id; + }), + n + ); + }, + o = function (e, t) { + return a(e, t)[0]; + }, + i = function (e) { + return !(!e || !e.value) && "null" === e.value.toLowerCase(); + }; + }, + "bDa/": function (e, t) { + var n = "public/app/features/panel/panellinks/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n\t<div class=gf-form-group ng-repeat="link in panel.links">\n\t\t<div class=section>\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<span class="gf-form-label width-7">Type</span>\n\t\t\t\t<div class="gf-form-select-wrapper gf-form--grow">\n\t\t\t\t\t<select class=gf-form-input ng-model=link.type ng-options="f for f in [\'dashboard\',\'absolute\']"></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<span class="gf-form-label width-7" ng-show="link.type === \'dashboard\'">Dashboard</span>\n\t\t\t\t<input ng-show="link.type === \'dashboard\'" type=text ng-model=link.dashboard bs-typeahead=searchDashboards class=gf-form-input ng-blur=dashboardChanged(link)>\n\n\t\t\t\t<span class="gf-form-label width-7" ng-show="link.type === \'absolute\'">Url</span>\n\t\t\t\t<input ng-show="link.type === \'absolute\'" type=text ng-model=link.url class="gf-form-input max-width-14">\n\t\t\t</div>\n\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<div class="gf-form-label width-7">Title</div>\n\t\t\t\t<input type=text ng-model=link.title class=gf-form-input>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-10">Url params</span>\n\t\t\t\t<input type=text ng-model=link.params class="gf-form-input width-10">\n\t\t\t</div>\n\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Include time range" checked=link.keepTime></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Include variables" checked=link.includeVars></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Open in new tab " checked=link.targetBlank></gf-form-switch>\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<button class="btn btn-inverse gf-form-btn" ng-click=deleteLink(link)><i class="fa fa-trash"></i> Remove Link</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=editor-row>\n\t<button class="btn btn-inverse" ng-click=addLink()><i class="fa fa-plus"></i> Add link</button>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + bDvK: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("E5F5"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function c(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function u(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function f(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function d(e) { + return (d = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function p(e, t) { + return (p = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var h = (function (e) { + function t() { + var e, n; + c(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = f( + this, + (e = d(t)).call.apply(e, [this].concat(a)) + )).onChange = function (e) { + (0, n.props.onChange)(e); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && p(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e, + t = this.props, + n = t.className, + r = t.options, + i = t.value, + c = t.label, + u = t.iconClass, + f = t.components, + d = t.maxMenuHeight, + p = t.tooltipContent, + h = t.isMenuOpen, + m = t.onOpenMenu, + g = t.onCloseMenu, + b = t.tabSelectsValue, + v = t.autoFocus, + y = void 0 === v || v, + w = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : l(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, f, { + Control: + ((e = { label: c, className: n, iconClass: u }), + function (t) { + var n = e.label, + r = e.className, + o = e.iconClass; + return a.a.createElement( + "div", + { + ref: t.innerRef, + className: "btn navbar-button navbar-button--tight ".concat( + r + ), + onClick: t.selectProps.menuIsOpen + ? t.selectProps.onMenuClose + : t.selectProps.onMenuOpen, + onBlur: t.selectProps.onMenuClose, + tabIndex: 0, + }, + a.a.createElement( + "div", + { className: "select-button" }, + o && + a.a.createElement("i", { + className: "select-button-icon ".concat(o), + }), + a.a.createElement( + "span", + { className: "select-button-value" }, + n || "" + ), + !t.menuIsOpen && + a.a.createElement("i", { + className: "fa fa-caret-down fa-fw", + }), + t.menuIsOpen && + a.a.createElement("i", { + className: "fa fa-caret-up fa-fw", + }) + ) + ); + }), + }); + return a.a.createElement(o.c, { + autoFocus: y, + backspaceRemovesValue: !1, + isClearable: !1, + isSearchable: !1, + options: r, + onChange: this.onChange, + value: i, + isOpen: h, + onOpenMenu: m, + onCloseMenu: g, + maxMenuHeight: d, + components: w, + className: "gf-form-select-box-button-select", + tooltipContent: p, + tabSelectsValue: b, + }); + }, + }, + ]) && u(n.prototype, r), + i && u(n, i), + t + ); + })(r.PureComponent); + }, + bMS5: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return i; + }), + n.d(t, "a", function () { + return l; + }); + var r = n("LvDl"), + a = n.n(r); + function o(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var i = function (e) { + return a.a.find("ABCDEFGHIJKLMNOPQRSTUVWXYZ", function (t) { + return a.a.every(e, function (e) { + return e.refId !== t; + }); + }); + }; + function l(e, t) { + var n = t || {}; + return (n.refId = i(e)), [].concat(o(e), [n]); + } + }, + "bR/a": function (e, t) { + var n = + "public/app/plugins/datasource/elasticsearch/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=true>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<label class="gf-form-label query-keyword width-7">Query</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder="Lucene query" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<label class="gf-form-label query-keyword">Alias</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="alias patterns" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t</div>\n\n\t<div ng-repeat="agg in ctrl.target.metrics">\n\t\t<elastic-metric-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated() es-version=ctrl.esVersion>\n\t\t</elastic-metric-agg>\n\t</div>\n\n\t<div ng-repeat="agg in ctrl.target.bucketAggs">\n\t\t<elastic-bucket-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated()>\n\t\t</elastic-bucket-agg>\n\t</div>\n\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + bTeP: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }); + var r = n("q1tI"), + a = n("i8i4"), + o = n.n(a); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) ? f(e) : t; + } + function u(e) { + return (u = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function f(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = (function (e) { + function t() { + var e, n; + l(this, t); + for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++) + a[i] = arguments[i]; + return ( + ((n = c(this, (e = u(t)).call.apply(e, [this].concat(a)))).state = { + hasEventListener: !1, + }), + (n.onOutsideClick = function (e) { + var t = o.a.findDOMNode(f(n)); + (t && t.contains(e.target)) || n.props.onClick(); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + window.addEventListener("click", this.onOutsideClick, !1); + }, + }, + { + key: "componentWillUnmount", + value: function () { + window.removeEventListener("click", this.onOutsideClick, !1); + }, + }, + { + key: "render", + value: function () { + return this.props.children; + }, + }, + ]) && s(n.prototype, r), + a && s(n, a), + t + ); + })(r.PureComponent); + }, + "bY+8": function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"); + function i(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var l = { label: "-- remove stat --", value: "-- remove stat --" }, + s = function (e) { + var t = e.stats, + n = e.values, + r = e.onChange, + s = e.variableOptionGroup; + return a.a.createElement( + a.a.Fragment, + null, + n && + n.map(function (e, c) { + return a.a.createElement(o.Segment, { + allowCustomValue: !0, + key: e + c, + value: e, + options: [l].concat(i(t), [s]), + onChange: function (e) { + var t = e.value; + return r( + "-- remove stat --" === t + ? n.filter(function (e, t) { + return t !== c; + }) + : n.map(function (e, n) { + return n === c ? t : e; + }) + ); + }, + }); + }), + a.a.createElement(o.Segment, { + Component: a.a.createElement( + "a", + { className: "gf-form-label query-part" }, + a.a.createElement("i", { className: "fa fa-plus" }) + ), + allowCustomValue: !0, + onChange: function (e) { + var t = e.value; + return r([].concat(i(n), [t])); + }, + options: [].concat( + i( + t.filter(function (e) { + var t = e.value; + return !n.includes(t); + }) + ), + [s] + ), + }) + ); + }, + c = n("Y+p1"), + u = n.n(c); + function f(e) { + return (f = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function d(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function p(e) { + var t = (function (e, t) { + if ("object" !== f(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== f(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === t ? String : Number)(e); + })(e, "string"); + return "symbol" === f(t) ? t : String(t); + } + function h(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function m(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function g(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? m(Object(n), !0).forEach(function (t) { + b(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : m(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function b(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function v(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var y = { + label: "-- remove dimension --", + value: "-- remove dimension --", + }, + w = function (e) { + var t = e.dimensions, + n = e.loadValues, + i = e.loadKeys, + l = e.onChange, + s = v(Object(r.useState)(t), 2), + c = s[0], + f = s[1]; + Object(r.useEffect)( + function () { + var e = Object.entries(c).reduce(function (e, t) { + var n = v(t, 2), + r = n[0], + a = n[1]; + return a ? g({}, e, b({}, r, a)) : e; + }, {}); + u()(e, t) || l(e); + }, + [c] + ); + var m = function (e) { + return e.filter(function (e) { + var t = e.value; + return !Object.keys(c).includes(t); + }); + }; + return a.a.createElement( + a.a.Fragment, + null, + Object.entries(c).map(function (e, t) { + var l = v(e, 2), + s = l[0], + u = l[1]; + return a.a.createElement( + r.Fragment, + { key: t }, + a.a.createElement(o.SegmentAsync, { + allowCustomValue: !0, + value: s, + loadOptions: function () { + return i().then(function (e) { + return [y].concat(h(m(e))); + }); + }, + onChange: function (e) { + var t = e.value, + n = (c[s], d(c, [s].map(p))); + f( + "-- remove dimension --" === t + ? g({}, n) + : g({}, n, b({}, t, "")) + ); + }, + }), + a.a.createElement( + "label", + { className: "gf-form-label query-segment-operator" }, + "=" + ), + a.a.createElement(o.SegmentAsync, { + allowCustomValue: !0, + value: u, + placeholder: "select dimension value", + loadOptions: function () { + return n(s); + }, + onChange: function (e) { + var t = e.value; + return f(g({}, c, b({}, s, t))); + }, + }), + Object.values(c).length > 1 && + t + 1 !== Object.values(c).length && + a.a.createElement( + "label", + { className: "gf-form-label query-keyword" }, + "AND" + ) + ); + }), + Object.values(c).every(function (e) { + return e; + }) && + a.a.createElement(o.SegmentAsync, { + allowCustomValue: !0, + Component: a.a.createElement( + "a", + { className: "gf-form-label query-part" }, + a.a.createElement("i", { className: "fa fa-plus" }) + ), + loadOptions: function () { + return i().then(m); + }, + onChange: function (e) { + var t = e.value; + return f(g({}, c, b({}, t, ""))); + }, + }) + ); + }, + O = function (e) { + var t = e.label, + n = e.tooltip, + r = e.children; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + o.FormLabel, + { width: 8, className: "query-keyword", tooltip: n }, + t + ), + r + ); + }, + x = function (e) { + var t = Object.assign({}, e); + return a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement(O, t), + a.a.createElement( + "div", + { className: "gf-form gf-form--grow" }, + a.a.createElement("div", { + className: "gf-form-label gf-form-label--grow", + }) + ) + ); + }, + k = n("LvDl"); + function j(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var S = function (e) { + var t = e.value, + n = void 0 === t ? "" : t, + i = e.onChange, + l = j(Object(r.useState)(n), 2), + s = l[0], + c = l[1], + u = Object(k.debounce)(i, 1500); + return ( + (i = function (e) { + c(e.target.value), u(e.target.value); + }), + a.a.createElement(o.Input, { + type: "text", + className: "gf-form-input width-16", + value: s, + onChange: i, + }) + ); + }; + function E(e) { + return (E = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function C(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function P(e) { + var t = (function (e, t) { + if ("object" !== E(e) || null === e) return e; + var n = e[Symbol.toPrimitive]; + if (void 0 !== n) { + var r = n.call(e, t || "default"); + if ("object" !== E(r)) return r; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === t ? String : Number)(e); + })(e, "string"); + return "symbol" === E(t) ? t : String(t); + } + function T(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function D(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function A(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function _(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? A(Object(n), !0).forEach(function (t) { + N(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : A(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function N(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function M(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function I(e) { + var t = e.query, + n = e.datasource, + i = e.onChange, + l = e.onRunQuery, + c = void 0 === l ? function () {} : l, + u = + (e.hideWilcard, + M( + Object(r.useState)({ + regions: [], + namespaces: [], + metricNames: [], + variableOptionGroup: {}, + showMeta: !1, + }), + 2 + )), + f = u[0], + d = u[1]; + Object(r.useEffect)(function () { + var e = { label: "Template Variables", options: n.variables.map(m) }; + Promise.all([ + n.metricFindQuery("regions()"), + n.metricFindQuery("namespaces()"), + ]).then(function (t) { + var n = M(t, 2), + r = n[0], + a = n[1]; + d( + _({}, f, { + regions: [].concat(D(r), [e]), + namespaces: [].concat(D(a), [e]), + variableOptionGroup: e, + }) + ); + }); + }, []); + var p = (function () { + var e, + r = + ((e = regeneratorRuntime.mark(function e() { + var r, a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = t.namespace), + (a = t.region), + e.abrupt( + "return", + n + .metricFindQuery( + "metrics(".concat(r, ",").concat(a, ")") + ) + .then(h) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + T(o, r, a, i, l, "next", e); + } + function l(e) { + T(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function () { + return r.apply(this, arguments); + }; + })(), + h = function (e) { + return [].concat(D(e), [ + { label: "Template Variables", options: n.variables.map(m) }, + ]); + }, + m = function (e) { + return { label: e, value: e }; + }, + g = function (e) { + i(e), c(); + }, + b = f.regions, + v = f.namespaces, + y = f.variableOptionGroup; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + x, + { label: "Region" }, + a.a.createElement(o.Segment, { + value: t.region, + placeholder: "Select region", + options: b, + allowCustomValue: !0, + onChange: function (e) { + var n = e.value; + return g(_({}, t, { region: n })); + }, + }) + ), + 0 === t.expression.length && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + x, + { label: "Namespace" }, + a.a.createElement(o.Segment, { + value: t.namespace, + placeholder: "Select namespace", + allowCustomValue: !0, + options: v, + onChange: function (e) { + var n = e.value; + return g(_({}, t, { namespace: n })); + }, + }) + ), + a.a.createElement( + x, + { label: "Metric Name" }, + a.a.createElement(o.SegmentAsync, { + value: t.metricName, + placeholder: "Select metric name", + allowCustomValue: !0, + loadOptions: p, + onChange: function (e) { + var n = e.value; + return g(_({}, t, { metricName: n })); + }, + }) + ), + a.a.createElement( + x, + { label: "Stats" }, + a.a.createElement(s, { + stats: n.standardStatistics.map(m), + values: t.statistics, + onChange: function (e) { + return g(_({}, t, { statistics: e })); + }, + variableOptionGroup: y, + }) + ), + a.a.createElement( + x, + { label: "Dimensions" }, + a.a.createElement(w, { + dimensions: t.dimensions, + onChange: function (e) { + return g(_({}, t, { dimensions: e })); + }, + loadKeys: function () { + return n.getDimensionKeys(t.namespace, t.region).then(h); + }, + loadValues: function (e) { + var r = t.dimensions, + a = (r[e], C(r, [e].map(P))), + o = Object.entries(a).reduce(function (e, t) { + var n = M(t, 2), + r = n[0], + a = n[1]; + return "*" === a ? e : _({}, e, N({}, r, a)); + }, {}); + return n + .getDimensionValues( + t.region, + t.namespace, + t.metricName, + e, + o + ) + .then(function (e) { + return e.length + ? [{ value: "*", text: "*", label: "*" }].concat(D(e)) + : e; + }) + .then(h); + }, + }) + ) + ) + ); + } + n.d(t, "f", function () { + return s; + }), + n.d(t, "b", function () { + return w; + }), + n.d(t, "e", function () { + return x; + }), + n.d(t, "c", function () { + return O; + }), + n.d(t, "a", function () { + return S; + }), + n.d(t, "d", function () { + return I; + }); + }, + buVq: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return r; + }), + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }), + n.d(t, "d", function () { + return i; + }), + n.d(t, "e", function () { + return l; + }), + n.d(t, "f", function () { + return s; + }), + n.d(t, "g", function () { + return c; + }), + n.d(t, "h", function () { + return u; + }); + var r = "00000000-0000-0000-0000-000000000000", + a = "All", + o = "$__all", + i = "None", + l = "", + s = function (e, t) { + return e[t]; + }, + c = function (e) { + return { type: e.type, uuid: e.uuid }; + }; + function u(e, t) { + return { type: e.type, uuid: e.uuid, data: t }; + } + }, + cFxn: function (e, t) {}, + cZsJ: function (e, t) { + var n = "public/app/plugins/panel/graph/tab_drilldown_links.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<drilldown-links-editor value=ctrl.panel.options.dataLinks suggestions=ctrl.linkVariableSuggestions on-change=ctrl.onDataLinksChange></drilldown-links-editor>\n" + ); + }, + ]), + (e.exports = n); + }, + coz7: function (e, t) { + var n = "public/app/features/dashboard/components/SubMenu/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=submenu-controls ng-hide="ctrl.submenuEnabled === false">\n <div ng-repeat="variable in ctrl.variables" ng-hide="variable.hide === 2" class="submenu-item gf-form-inline" aria-label={{::ctrl.selectors.submenuItem}}>\n <div class=gf-form>\n <label class="gf-form-label template-variable" ng-hide="variable.hide === 1" aria-label="{{ctrl.selectors.submenuItemLabels(variable.label || variable.name)}}">{{variable.label || variable.name}}</label>\n <value-select-dropdown ng-if="variable.type !== \'adhoc\' && variable.type !== \'textbox\'" dashboard=ctrl.dashboard variable=variable on-updated=ctrl.variableUpdated(variable)></value-select-dropdown>\n <input type=text ng-if="variable.type === \'textbox\'" ng-model=variable.query class="gf-form-input width-12" ng-blur="variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);" ng-keydown="$event.keyCode === 13 && variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);"/>\n </div>\n <ad-hoc-filters ng-if="variable.type === \'adhoc\'" variable=variable dashboard=ctrl.dashboard></ad-hoc-filters>\n </div>\n\n <div ng-if="ctrl.dashboard.annotations.list.length > 0">\n <div ng-repeat="annotation in ctrl.dashboard.annotations.list" ng-hide=annotation.hide class=submenu-item ng-class="{\'annotation-disabled\': !annotation.enable}">\n <gf-form-switch class=gf-form label={{annotation.name}} checked=annotation.enable on-change=ctrl.annotationStateChanged()></gf-form-switch>\n </div>\n </div>\n\n <div class="gf-form gf-form--grow"></div>\n\n <div ng-if="ctrl.dashboard.links.length > 0">\n <dash-links-container links=ctrl.dashboard.links dashboard=ctrl.dashboard class=gf-form-inline></dash-links-container>\n </div>\n\n <div class=clearfix></div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + cytP: function (e, t) { + var n = + "public/app/plugins/datasource/stackdriver/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<stackdriver-annotation-query-editor target=ctrl.annotation.target on-query-change=(ctrl.onQueryChange) datasource=ctrl.datasource template-srv=ctrl.templateSrv></stackdriver-annotation-query-editor>\n" + ); + }, + ]), + (e.exports = n); + }, + dQag: function (e, t) { + var n = + "public/app/plugins/datasource/grafana/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Test data: random walk</label>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + dcGt: function (e, t, n) { + "use strict"; + n.d(t, "i", function () { + return s; + }), + n.d(t, "g", function () { + return u; + }), + n.d(t, "e", function () { + return f; + }), + n.d(t, "d", function () { + return d; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "h", function () { + return h; + }), + n.d(t, "j", function () { + return m; + }), + n.d(t, "b", function () { + return g; + }), + n.d(t, "a", function () { + return b; + }), + n.d(t, "f", function () { + return v; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var i = { id: "", isValid: !0, errors: {}, name: "", extended: null }, + l = Object(r.c)({ + name: "templating/editor", + initialState: i, + reducers: { + setIdInEditor: function (e, t) { + e.id = t.payload.id; + }, + clearIdInEditor: function (e, t) { + e.id = ""; + }, + variableEditorMounted: function (e, t) { + e.name = t.payload.name; + }, + variableEditorUnMounted: function (e, t) { + return i; + }, + changeVariableNameSucceeded: function (e, t) { + (e.name = t.payload.data), + delete e.errors.name, + (e.isValid = 0 === Object.keys(e.errors).length); + }, + changeVariableNameFailed: function (e, t) { + (e.name = t.payload.newName), + (e.errors.name = t.payload.errorText), + (e.isValid = 0 === Object.keys(e.errors).length); + }, + addVariableEditorError: function (e, t) { + (e.errors[t.payload.errorProp] = t.payload.errorText), + (e.isValid = 0 === Object.keys(e.errors).length); + }, + removeVariableEditorError: function (e, t) { + delete e.errors[t.payload.errorProp], + (e.isValid = 0 === Object.keys(e.errors).length); + }, + changeVariableEditorExtended: function (e, t) { + e.extended = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + o(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })( + {}, + e.extended, + o({}, t.payload.propName, t.payload.propValue) + ); + }, + }, + }), + s = l.reducer, + c = l.actions, + u = c.setIdInEditor, + f = c.clearIdInEditor, + d = c.changeVariableNameSucceeded, + p = c.changeVariableNameFailed, + h = c.variableEditorMounted, + m = c.variableEditorUnMounted, + g = c.changeVariableEditorExtended, + b = c.addVariableEditorError, + v = c.removeVariableEditorError; + }, + diqK: function (e, t) { + var n = "public/app/plugins/datasource/postgres/partials/config.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<h3 class=page-heading>PostgreSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:5432 bs-typeahead="{{[\'localhost:5432\', \'localhost:5433\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n <div class=gf-form>\n <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class="gf-form-label width-7">SSL Mode</label>\n\t\t<div class="gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.sslmode ng-options="mode for mode in [\'disable\', \'require\', \'verify-ca\', \'verify-full\']" ng-init=ctrl.current.jsonData.sslmode></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tThis option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>PostgreSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-9">\n\t\t\tVersion\n\t\t\t<info-popover mode=right-normal position="top center">\n\t\t\t\tThis option controls what functions are available in the PostgreSQL query builder.\n\t\t\t</info-popover>\n\t\t</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class="gf-form-input gf-size-auto" ng-model=ctrl.current.jsonData.postgresVersion ng-options="f.value as f.name for f in ctrl.postgresVersions"></select>\n\t\t</span>\n\t</div>\n\t<div class=gf-form>\n\t\t<gf-form-switch class=gf-form label=TimescaleDB label-class=width-9 checked=ctrl.current.jsonData.timescaledb switch-class=max-width-6></gf-form-switch>\n <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleTimescaleDBHelp()>\n Help \n <i class="fa fa-caret-down" ng-show=ctrl.showTimescaleDBHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showTimescaleDBHelp> </i>\n </label>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n<div class="grafana-info-box alert alert-info" ng-show=ctrl.showTimescaleDBHelp>\n <div class=alert-body>\n <p>\n\t\t\t<a href=https://github.com/timescale/timescaledb class=pointer target=_blank>TimescaleDB</a> is a time-series database built as a PostgreSQL extension. If enabled, Grafana will use <code>time_bucket</code> in the <code>$__timeGroup</code> macro and display TimescaleDB specific aggregate functions in the query builder.\n </p>\n </div>\n</div>\n\n</div>\n\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database & tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>DELETE FROM user;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific PostgreSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + drYJ: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }), + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("MIBK"), + i = n("kDDq"); + function l(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function s() { + var e = u([ + "\n color: ", + ";\n font-size: ", + ";\n font-weight: ", + ";\n display: block;\n ", + ]); + return ( + (s = function () { + return e; + }), + e + ); + } + function c() { + var e = u([ + "\n font-size: ", + ";\n font-weight: ", + ";\n line-height: 1.25;\n margin: ", + ";\n padding: ", + ";\n color: ", + ";\n max-width: 480px;\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var f = Object(o.g)(function (e) { + return { + label: Object(i.css)( + c(), + e.typography.size.sm, + e.typography.weight.semibold, + e.spacing.formLabelMargin, + e.spacing.formLabelPadding, + e.colors.formLabel + ), + description: Object(i.css)( + s(), + e.colors.formDescription, + e.typography.size.sm, + e.typography.weight.regular + ), + }; + }), + d = function (e) { + var t = e.children, + n = e.description, + r = e.className, + s = l(e, ["children", "description", "className"]), + c = Object(o.h)(), + u = f(c); + return a.a.createElement( + "div", + { className: Object(i.cx)(u.label, r) }, + a.a.createElement( + "label", + s, + t, + n && a.a.createElement("span", { className: u.description }, n) + ) + ); + }; + }, + e9GU: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("kDLi"), + l = n("6WZ+"), + s = n("x16D"), + c = n("atUN"); + function u() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: 500px;\n "]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var d = function (e) { + var t = e.dashboard, + n = e.onDismiss, + d = e.isNew, + p = Object(c.a)(t), + h = p.state, + m = p.onDashboardSave, + g = f(Object(r.useState)(), 2), + b = g[0], + v = g[1]; + return a.a.createElement( + a.a.Fragment, + null, + h.error && + a.a.createElement(s.a, { + error: h.error, + dashboard: t, + dashboardSaveModel: b, + onDismiss: n, + }), + !h.error && + a.a.createElement( + i.Modal, + { + isOpen: !0, + title: "Save dashboard as...", + icon: "copy", + onDismiss: n, + className: Object(o.css)(u()), + }, + a.a.createElement(l.b, { + dashboard: t, + onCancel: n, + onSuccess: n, + onSubmit: function (e, t, n) { + return v(e), m(e, t, n); + }, + isNew: d, + }) + ) + ); + }; + }, + eGKl: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = n("Obii"), + a = function (e, t) { + return e[t || r.GrafanaThemeType.Dark]; + }; + }, + eK0o: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("txxJ"); + function i(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var l = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (r = [ + { + key: "alertToGraphThresholds", + value: function (e) { + for (var t = 0; t < e.alert.conditions.length; t++) { + var n = e.alert.conditions[t]; + if ("query" === n.type) { + var r = n.evaluator, + a = (e.thresholds = []); + switch (r.type) { + case "gt": + var o = r.params[0]; + a.push({ value: o, op: "gt" }); + break; + case "lt": + var i = r.params[0]; + a.push({ value: i, op: "lt" }); + break; + case "outside_range": + var l = r.params[0], + s = r.params[1]; + l > s + ? (a.push({ value: l, op: "gt" }), + a.push({ value: s, op: "lt" })) + : (a.push({ value: l, op: "lt" }), + a.push({ value: s, op: "gt" })); + break; + case "within_range": + var c = r.params[0], + u = r.params[1]; + c > u + ? (a.push({ value: c, op: "lt" }), + a.push({ value: u, op: "gt" })) + : (a.push({ value: c, op: "gt" }), + a.push({ value: u, op: "lt" })); + } + break; + } + } + var f = !0, + d = !1, + p = void 0; + try { + for ( + var h, m = e.thresholds[Symbol.iterator](); + !(f = (h = m.next()).done); + f = !0 + ) { + var g = h.value; + (g.fill = !0), (g.line = !0), (g.colorMode = "critical"); + } + } catch (e) { + (d = !0), (p = e); + } finally { + try { + f || null == m.return || m.return(); + } finally { + if (d) throw p; + } + } + return !0; + }, + }, + ]), + (n = null) && i(t.prototype, n), + r && i(t, r), + e + ); + })(), + s = n("QNPh"), + c = n("3ulR"), + u = n("ZFWI"), + f = n("Xmxp"), + d = n("t8hP"), + p = n("2nhE"), + h = n("GQ3c"), + m = n("PbtU"), + g = n("2KQq"); + function b(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return y; + }); + var v = (function () { + function e(t, n, r, a) { + var o = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.dashboardSrv = n), + (this.uiSegmentSrv = r), + (this.datasourceSrv = a), + (this.enable = function () { + (o.panel.alert = {}), o.initModel(), (o.panel.alert.for = "5m"); + }), + (this.panelCtrl = t.ctrl), + (this.panel = this.panelCtrl.panel), + (this.$scope.ctrl = this), + (this.subTabIndex = 0), + (this.evalFunctions = c.a.evalFunctions), + (this.evalOperators = c.a.evalOperators), + (this.conditionTypes = c.a.conditionTypes), + (this.noDataModes = c.a.noDataModes), + (this.executionErrorModes = c.a.executionErrorModes), + (this.appSubUrl = u.b.appSubUrl), + (this.panelCtrl._enableAlert = this.enable), + (this.alertingMinIntervalSecs = u.b.alertingMinInterval), + (this.alertingMinInterval = m.a.secondsToHms( + u.b.alertingMinInterval + )); + } + var t, n, r; + return ( + (e.$inject = [ + "$scope", + "dashboardSrv", + "uiSegmentSrv", + "datasourceSrv", + ]), + (t = e), + (n = [ + { + key: "$onInit", + value: function () { + var e = this; + this.addNotificationSegment = this.uiSegmentSrv.newPlusButton(); + var t = this.graphThresholdChanged.bind(this); + return ( + this.panelCtrl.events.on(h.CoreEvents.thresholdChanged, t), + this.$scope.$on("$destroy", function () { + e.panelCtrl.events.off(h.CoreEvents.thresholdChanged, t), + (e.panelCtrl.editingThresholds = !1), + e.panelCtrl.render(); + }), + (this.notifications = []), + (this.alertNotifications = []), + (this.alertHistory = []), + Object(g.a)(this.$scope)( + Object(d.getBackendSrv)() + .get("/api/alert-notifications/lookup") + .then(function (t) { + (e.notifications = t), e.initModel(), e.validateModel(); + }) + ) + ); + }, + }, + { + key: "getAlertHistory", + value: function () { + var e = this; + Object(g.a)(this.$scope)( + Object(d.getBackendSrv)() + .get( + "/api/annotations?dashboardId=" + .concat(this.panelCtrl.dashboard.id, "&panelId=") + .concat(this.panel.id, "&limit=50&type=alert") + ) + .then(function (t) { + e.alertHistory = a.a.map(t, function (t) { + return ( + (t.time = e.dashboardSrv + .getCurrent() + .formatDate(t.time, "MMM D, YYYY HH:mm:ss")), + (t.stateModel = c.a.getStateDisplayModel(t.newState)), + (t.info = c.a.getAlertAnnotationInfo(t)), + t + ); + }); + }) + ); + }, + }, + { + key: "getNotificationIcon", + value: function (e) { + switch (e) { + case "email": + return "fa fa-envelope"; + case "slack": + return "fa fa-slack"; + case "victorops": + return "fa fa-pagelines"; + case "webhook": + return "fa fa-cubes"; + case "pagerduty": + return "fa fa-bullhorn"; + case "opsgenie": + return "fa fa-bell"; + case "hipchat": + return "fa fa-mail-forward"; + case "pushover": + return "fa fa-mobile"; + case "kafka": + return "fa fa-random"; + case "teams": + return "fa fa-windows"; + } + return "fa fa-bell"; + }, + }, + { + key: "getNotifications", + value: function () { + var e = this; + return Promise.resolve( + this.notifications.map(function (t) { + return e.uiSegmentSrv.newSegment(t.name); + }) + ); + }, + }, + { + key: "notificationAdded", + value: function () { + var e = a.a.find(this.notifications, { + name: this.addNotificationSegment.value, + }); + e && + (this.alertNotifications.push({ + name: e.name, + iconClass: this.getNotificationIcon(e.type), + isDefault: !1, + uid: e.uid, + }), + a.a.find(this.alert.notifications, function (t) { + return t.id === e.id || t.uid === e.uid; + }) || this.alert.notifications.push({ uid: e.uid }), + (this.addNotificationSegment.value = this.uiSegmentSrv.newPlusButton().value), + (this.addNotificationSegment.html = this.uiSegmentSrv.newPlusButton().html), + (this.addNotificationSegment.fake = !0)); + }, + }, + { + key: "removeNotification", + value: function (e) { + a.a.remove(this.alert.notifications, function (t) { + return t.uid === e.uid || t.id === e.id; + }), + a.a.remove(this.alertNotifications, function (t) { + return t.uid === e.uid || t.id === e.id; + }); + }, + }, + { + key: "addAlertRuleTag", + value: function () { + this.newAlertRuleTag.name && + (this.alert.alertRuleTags[ + this.newAlertRuleTag.name + ] = this.newAlertRuleTag.value), + (this.newAlertRuleTag.name = ""), + (this.newAlertRuleTag.value = ""); + }, + }, + { + key: "removeAlertRuleTag", + value: function (e) { + delete this.alert.alertRuleTags[e]; + }, + }, + { + key: "initModel", + value: function () { + var e = this, + t = (this.alert = this.panel.alert); + if (t) { + this.checkFrequency(), + (t.conditions = t.conditions || []), + 0 === t.conditions.length && + t.conditions.push(Object(p.b)()), + (t.noDataState = + t.noDataState || u.b.alertingNoDataOrNullValues), + (t.executionErrorState = + t.executionErrorState || u.b.alertingErrorOrTimeout), + (t.frequency = t.frequency || "1m"), + (t.handler = t.handler || 1), + (t.notifications = t.notifications || []), + (t.for = t.for || "0m"), + (t.alertRuleTags = t.alertRuleTags || {}); + var n = this.panel.title + " alert"; + (t.name = t.name || n), + (this.conditionModels = a.a.reduce( + t.conditions, + function (t, n) { + return t.push(e.buildConditionModel(n)), t; + }, + [] + )), + l.alertToGraphThresholds(this.panel); + var r = !0, + o = !1, + i = void 0; + try { + for ( + var s, c = t.notifications[Symbol.iterator](); + !(r = (s = c.next()).done); + r = !0 + ) { + var f = s.value, + d = a.a.find(this.notifications, { uid: f.uid }); + d || (d = a.a.find(this.notifications, { id: f.id })), + d && + !1 === d.isDefault && + ((d.iconClass = this.getNotificationIcon(d.type)), + this.alertNotifications.push(d)); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + r || null == c.return || c.return(); + } finally { + if (o) throw i; + } + } + var h = !0, + m = !1, + g = void 0; + try { + for ( + var b, v = this.notifications[Symbol.iterator](); + !(h = (b = v.next()).done); + h = !0 + ) { + var y = b.value; + y.isDefault && + ((y.iconClass = this.getNotificationIcon(y.type)), + this.alertNotifications.push(y)); + } + } catch (e) { + (m = !0), (g = e); + } finally { + try { + h || null == v.return || v.return(); + } finally { + if (m) throw g; + } + } + (this.panelCtrl.editingThresholds = !0), + this.panelCtrl.render(); + } + }, + }, + { + key: "checkFrequency", + value: function () { + if (this.alert.frequency) { + this.frequencyWarning = ""; + try { + m.a.interval_to_seconds(this.alert.frequency) < + this.alertingMinIntervalSecs && + (this.frequencyWarning = + "A minimum evaluation interval of " + + this.alertingMinInterval + + " have been configured in Grafana and will be used for this alert rule. Please contact the administrator to configure a lower interval."); + } catch (e) { + this.frequencyWarning = e; + } + } + }, + }, + { + key: "graphThresholdChanged", + value: function (e) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.alert.conditions[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + if ("query" === i.type) { + (i.evaluator.params[e.handleIndex] = e.threshold.value), + this.evaluatorParamsChanged(); + break; + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + }, + }, + { + key: "validateModel", + value: function () { + var e = this; + if (this.alert) { + var t, + n = null, + r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = this.alert.conditions[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + if ("query" === c.type) { + var u = !0, + f = !1, + d = void 0; + try { + for ( + var p, h = this.panel.targets[Symbol.iterator](); + !(u = (p = h.next()).done); + u = !0 + ) { + var m = p.value; + if ((t || (t = m), c.query.params[0] === m.refId)) { + n = m; + break; + } + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == h.return || h.return(); + } finally { + if (f) throw d; + } + } + if (!n) { + if (!t) + return void (this.error = + "Could not find any metric queries"); + (c.query.params[0] = t.refId), (n = t); + } + var g = n.datasource || this.panel.datasource; + r.push( + this.datasourceSrv.get(g).then( + (function (e) { + return function (t) { + return t.meta.alerting + ? t.targetContainsTemplate && + t.targetContainsTemplate(e) + ? Promise.reject( + "Template variables are not supported in alert queries" + ) + : Promise.resolve() + : Promise.reject( + "The datasource does not support alerting queries" + ); + }; + })(n) + ) + ); + } + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + Promise.all(r).then( + function () { + (e.error = ""), e.$scope.$apply(); + }, + function (t) { + (e.error = t), e.$scope.$apply(); + } + ); + } + }, + }, + { + key: "buildConditionModel", + value: function (e) { + var t = { source: e, type: e.type }; + return ( + (t.queryPart = new s.a(e.query, c.a.alertQueryDef)), + (t.reducerPart = c.a.createReducerPart(e.reducer)), + (t.evaluator = e.evaluator), + (t.operator = e.operator), + t + ); + }, + }, + { + key: "handleQueryPartEvent", + value: function (e, t) { + var n = this; + switch (t.name) { + case "action-remove-part": + break; + case "get-part-actions": + return Promise.resolve([]); + case "part-param-changed": + this.validateModel(); + case "get-param-options": + var r = this.panel.targets.map(function (e) { + return n.uiSegmentSrv.newSegment({ value: e.refId }); + }); + return Promise.resolve(r); + default: + return Promise.resolve(); + } + return Promise.resolve(); + }, + }, + { + key: "handleReducerPartEvent", + value: function (e, t) { + switch (t.name) { + case "action": + (e.source.reducer.type = t.action.value), + (e.reducerPart = c.a.createReducerPart(e.source.reducer)); + break; + case "get-part-actions": + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = c.a.reducerTypes[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + s.value !== e.source.reducer.type && n.push(s); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return Promise.resolve(n); + } + return Promise.resolve(); + }, + }, + { + key: "addCondition", + value: function (e) { + var t = Object(p.b)(); + this.alert.conditions.push(t), + this.conditionModels.push(this.buildConditionModel(t)); + }, + }, + { + key: "removeCondition", + value: function (e) { + this.alert.conditions.splice(e, 1), + this.conditionModels.splice(e, 1); + }, + }, + { + key: "delete", + value: function () { + var e = this; + f.b.emit(h.CoreEvents.showConfirmModal, { + title: "Delete Alert", + text: "Are you sure you want to delete this alert rule?", + text2: + "You need to save dashboard for the delete to take effect", + icon: "fa-trash", + yesText: "Delete", + onConfirm: function () { + delete e.panel.alert, + (e.alert = null), + (e.panel.thresholds = []), + (e.conditionModels = []), + (e.panelCtrl.alertState = null), + e.panelCtrl.render(); + }, + }); + }, + }, + { + key: "evaluatorParamsChanged", + value: function () { + l.alertToGraphThresholds(this.panel), this.panelCtrl.render(); + }, + }, + { + key: "evaluatorTypeChanged", + value: function (e) { + switch (e.type) { + case "lt": + case "gt": + e.params = [e.params[0]]; + break; + case "within_range": + case "outside_range": + e.params = [e.params[0], e.params[1]]; + break; + case "no_value": + e.params = []; + } + this.evaluatorParamsChanged(); + }, + }, + { + key: "clearHistory", + value: function () { + var e = this; + f.b.emit(h.CoreEvents.showConfirmModal, { + title: "Delete Alert History", + text: + "Are you sure you want to remove all history & annotations for this alert?", + icon: "fa-trash", + yesText: "Yes", + onConfirm: function () { + Object(g.a)(e.$scope)( + Object(d.getBackendSrv)() + .post("/api/annotations/mass-delete", { + dashboardId: e.panelCtrl.dashboard.id, + panelId: e.panel.id, + }) + .then(function () { + (e.alertHistory = []), e.panelCtrl.refresh(); + }) + ); + }, + }); + }, + }, + ]) && b(t.prototype, n), + r && b(t, r), + e + ); + })(); + function y() { + return { + restrict: "E", + scope: !0, + templateUrl: "public/app/features/alerting/partials/alert_tab.html", + controller: v, + }; + } + o.c.directive("alertTab", y); + }, + "eLz+": function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "b", function () { + return r; + }), + n.d(t, "a", function () { + return a; + }), + n.d(t, "c", function () { + return o; + }), + (function (e) { + (e.Queries = "queries"), + (e.Transform = "transform"), + (e.Visualization = "visualization"), + (e.Alert = "alert"); + })(r || (r = {})), + (function (e) { + (e[(e.Fill = 0)] = "Fill"), + (e[(e.Fit = 1)] = "Fit"), + (e[(e.Exact = 2)] = "Exact"); + })(a || (a = {})); + var o = [ + { + value: a.Fill, + label: "Fill", + description: "Use all avaliable space", + }, + { + value: a.Fit, + label: "Fit", + description: "Fit in the space keeping ratio", + }, + { + value: a.Exact, + label: "Exact", + description: "Same size as the dashboard", + }, + ]; + }, + eNSq: function (e, t) { + var n = "public/app/plugins/panel/dashlist/module.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div>\n <div class=dashlist ng-repeat="group in ctrl.groups">\n <div class=dashlist-section ng-if=group.show>\n <h6 class=dashlist-section-header ng-show=ctrl.panel.headings>\n {{group.header}}\n </h6>\n <div class=dashlist-item ng-repeat="dash in group.list">\n <a class="dashlist-link dashlist-link-{{dash.type}}" href={{dash.url}}>\n <span class=dashlist-title>\n {{dash.title}}\n </span>\n <span class=dashlist-star ng-click="ctrl.starDashboard(dash, $event)">\n <i class=fa ng-class="{\'fa-star\': dash.isStarred, \'fa-star-o\': dash.isStarred === false}"></i>\n </span>\n </a>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + ePCq: function (e, t) { + var n = + "public/app/plugins/datasource/graphite/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n <div class=gf-form ng-show=ctrl.target.textEditor>\n <input type=text class=gf-form-input ng-model=ctrl.target.target spellcheck=false ng-blur=ctrl.targetTextChanged()>\n </div>\n\n <div ng-hide=ctrl.target.textEditor>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-6 query-keyword">Series</label>\n </div>\n\n <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat="tag in ctrl.queryModel.tags" class=gf-form>\n <gf-form-dropdown model=tag.key allow-custom=true label-mode=true debounce=true placeholder="Tag key" css-class=query-segment-key get-options="ctrl.getTags($index, $query)" on-change="ctrl.tagChanged(tag, $index)"/>\n <gf-form-dropdown model=tag.operator label-mode=true css-class=query-segment-operator get-options=ctrl.getTagOperators() on-change="ctrl.tagChanged(tag, $index)" min-input-width=30 />\n <gf-form-dropdown model=tag.value allow-custom=true label-mode=true debounce=true css-class=query-segment-value placeholder="Tag value" get-options="ctrl.getTagValues(tag, $index, $query)" on-change="ctrl.tagChanged(tag, $index)"/>\n <label class="gf-form-label query-keyword" ng-if=ctrl.showDelimiter($index)>AND</label>\n </div>\n\n <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat="segment in ctrl.addTagSegments" role=menuitem class=gf-form>\n <metric-segment segment=segment get-options=ctrl.getTagsAsSegments($query) on-change=ctrl.addNewTag(segment) debounce=true />\n </div>\n\n <div ng-if=!ctrl.queryModel.seriesByTagUsed ng-repeat="segment in ctrl.segments" role=menuitem class=gf-form>\n <metric-segment segment=segment get-options="ctrl.getAltSegments($index, $query)" on-change="ctrl.segmentValueChanged(segment, $index)"/>\n </div>\n\n <div ng-if=ctrl.paused class=gf-form>\n <a ng-click=ctrl.unpause() class="gf-form-label query-part"><i class="fa fa-play"></i></a>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-6 query-keyword">Functions</label>\n </div>\n\n <div ng-repeat="func in ctrl.queryModel.functions" class=gf-form>\n <span graphite-func-editor class="gf-form-label query-part" ng-hide=func.hidden></span>\n </div>\n\n <div class="gf-form dropdown">\n <span graphite-add-func></span>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n </div>\n\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + eQJK: function (e, t) { + !(function (e) { + "use strict"; + var t = { + tagClass: function (e) { + return "label label-info"; + }, + itemValue: function (e) { + return e ? e.toString() : e; + }, + itemText: function (e) { + return this.itemValue(e); + }, + freeInput: !0, + maxTags: void 0, + confirmKeys: [13], + onTagExists: function (e, t) { + t.hide().fadeIn(); + }, + }; + function n(t, n) { + (this.itemsArray = []), + (this.$element = e(t)), + this.$element.hide(), + (this.widthClass = n.widthClass || "width-9"), + (this.isSelect = "SELECT" === t.tagName), + (this.multiple = this.isSelect && t.hasAttribute("multiple")), + (this.objectItems = n && n.itemValue), + (this.placeholderText = t.hasAttribute("placeholder") + ? this.$element.attr("placeholder") + : ""), + (this.$container = e('<div class="bootstrap-tagsinput"></div>')), + (this.$input = e( + '<input class="gf-form-input ' + + this.widthClass + + '" type="text" placeholder="' + + this.placeholderText + + '"/>' + ).appendTo(this.$container)), + this.$element.after(this.$container), + this.build(n); + } + function r(e, t) { + if ("function" != typeof e[t]) { + var n = e[t]; + e[t] = function (e) { + return e[n]; + }; + } + } + (n.prototype = { + constructor: n, + add: function (t, n) { + var r = this; + if ( + !( + r.options.maxTags && r.itemsArray.length >= r.options.maxTags + ) && + (!1 === t || t) + ) { + if ("object" == typeof t && !r.objectItems) + throw "Can't add objects when itemValue option is not set"; + if (!t.toString().match(/^\s*$/)) { + if ( + (r.isSelect && + !r.multiple && + r.itemsArray.length > 0 && + r.remove(r.itemsArray[0]), + "string" == typeof t && "INPUT" === this.$element[0].tagName) + ) { + var a = t.split(","); + if (a.length > 1) { + for (var i = 0; i < a.length; i++) this.add(a[i], !0); + return void (n || r.pushVal()); + } + } + var l = r.options.itemValue(t), + s = r.options.itemText(t), + c = r.options.tagClass(t), + u = e.grep(r.itemsArray, function (e) { + return r.options.itemValue(e) === l; + })[0]; + if (u) { + if (r.options.onTagExists) { + var f = e(".tag", r.$container).filter(function () { + return e(this).data("item") === u; + }); + r.options.onTagExists(t, f); + } + } else { + r.itemsArray.push(t); + var d = e( + '<span class="tag ' + + o(c) + + '">' + + o(s) + + '<span data-role="remove"></span></span>' + ); + if ( + (d.data("item", t), + r.findInputWrapper().before(d), + d.after(" "), + r.isSelect && + !e('option[value="' + escape(l) + '"]', r.$element)[0]) + ) { + var p = e("<option selected>" + o(s) + "</option>"); + p.data("item", t), p.attr("value", l), r.$element.append(p); + } + n || r.pushVal(), + r.options.maxTags === r.itemsArray.length && + r.$container.addClass("bootstrap-tagsinput-max"), + r.$element.trigger(e.Event("itemAdded", { item: t })); + } + } + } + }, + remove: function (t, n) { + var r = this; + r.objectItems && + (t = + "object" == typeof t + ? e.grep(r.itemsArray, function (e) { + return r.options.itemValue(e) == r.options.itemValue(t); + })[0] + : e.grep(r.itemsArray, function (e) { + return r.options.itemValue(e) == t; + })[0]), + t && + (e(".tag", r.$container) + .filter(function () { + return e(this).data("item") === t; + }) + .remove(), + e("option", r.$element) + .filter(function () { + return e(this).data("item") === t; + }) + .remove(), + r.itemsArray.splice(e.inArray(t, r.itemsArray), 1)), + n || r.pushVal(), + r.options.maxTags > r.itemsArray.length && + r.$container.removeClass("bootstrap-tagsinput-max"), + r.$element.trigger(e.Event("itemRemoved", { item: t })); + }, + removeAll: function () { + for ( + e(".tag", this.$container).remove(), + e("option", this.$element).remove(); + this.itemsArray.length > 0; + + ) + this.itemsArray.pop(); + this.pushVal(), + this.options.maxTags && !this.isEnabled() && this.enable(); + }, + refresh: function () { + var t = this; + e(".tag", t.$container).each(function () { + var n = e(this), + r = n.data("item"), + a = t.options.itemValue(r), + i = t.options.itemText(r), + l = t.options.tagClass(r); + (n.attr("class", null), + n.addClass("tag " + o(l)), + (n.contents().filter(function () { + return 3 == this.nodeType; + })[0].nodeValue = o(i)), + t.isSelect) && + e("option", t.$element) + .filter(function () { + return e(this).data("item") === r; + }) + .attr("value", a); + }); + }, + items: function () { + return this.itemsArray; + }, + pushVal: function () { + var t = this, + n = e.map(t.items(), function (e) { + return t.options.itemValue(e).toString(); + }); + t.$element.val(n, !0).trigger("change"); + }, + build: function (n) { + var a = this; + a.options = e.extend({}, t, n); + var o = a.options.typeahead || {}; + a.objectItems && (a.options.freeInput = !1), + r(a.options, "itemValue"), + r(a.options, "itemText"), + r(a.options, "tagClass"), + a.options.source && (o.source = a.options.source), + o.source && + e.fn.typeahead && + (!(function (e, t) { + if ("function" != typeof e[t]) { + var n = e[t]; + e[t] = function () { + return n; + }; + } + })(o, "source"), + a.$input.typeahead({ + source: function (t, n) { + function r(e) { + for (var t = [], r = 0; r < e.length; r++) { + var o = a.options.itemText(e[r]); + (i[o] = e[r]), t.push(o); + } + n(t); + } + this.map = {}; + var i = this.map, + l = o.source(t); + e.isFunction(l.success) ? l.success(r) : e.when(l).then(r); + }, + updater: function (e) { + a.add(this.map[e]); + }, + matcher: function (e) { + return ( + -1 !== + e.toLowerCase().indexOf(this.query.trim().toLowerCase()) + ); + }, + sorter: function (e) { + return e.sort(); + }, + highlighter: function (e) { + var t = new RegExp("(" + this.query + ")", "gi"); + return e.replace(t, "<strong>$1</strong>"); + }, + })), + a.$container.on( + "click", + e.proxy(function (e) { + a.$input.focus(); + }, a) + ), + a.$container.on( + "blur", + "input", + e.proxy(function (t) { + var n = e(t.target); + a.add(n.val()), n.val(""), t.preventDefault(); + }, a) + ), + a.$container.on( + "keydown", + "input", + e.proxy(function (t) { + var n = e(t.target), + r = a.findInputWrapper(); + switch (t.which) { + case 8: + if (0 === i(n[0])) { + var o = r.prev(); + o && a.remove(o.data("item")); + } + break; + case 46: + if (0 === i(n[0])) { + var l = r.next(); + l && a.remove(l.data("item")); + } + break; + case 37: + var s = r.prev(); + 0 === n.val().length && s[0] && (s.before(r), n.focus()); + break; + case 39: + var c = r.next(); + 0 === n.val().length && c[0] && (c.after(r), n.focus()); + break; + default: + a.options.freeInput && + e.inArray(t.which, a.options.confirmKeys) >= 0 && + (a.add(n.val()), n.val(""), t.preventDefault()); + } + n.attr("size", Math.max(this.inputSize, n.val().length)); + }, a) + ), + a.$container.on( + "click", + "[data-role=remove]", + e.proxy(function (t) { + a.remove(e(t.target).closest(".tag").data("item")), + t.stopPropagation(); + }, a) + ), + a.options.itemValue === t.itemValue && + ("INPUT" === a.$element[0].tagName + ? a.add(a.$element.val()) + : e("option", a.$element).each(function () { + a.add(e(this).attr("value"), !0); + })); + }, + destroy: function () { + this.$container.off("keypress", "input"), + this.$container.off("click", "[role=remove]"), + this.$container.remove(), + this.$element.removeData("tagsinput"), + this.$element.show(); + }, + focus: function () { + this.$input.focus(); + }, + input: function () { + return this.$input; + }, + findInputWrapper: function () { + for ( + var t = this.$input[0], n = this.$container[0]; + t && t.parentNode !== n; + + ) + t = t.parentNode; + return e(t); + }, + }), + (e.fn.tagsinput = function (t, r) { + var a = []; + return ( + this.each(function () { + var o = e(this).data("tagsinput"); + if (o) { + var i = o[t](r); + void 0 !== i && a.push(i); + } else (o = new n(this, t)), e(this).data("tagsinput", o), a.push(o), "SELECT" === this.tagName && e("option", e(this)).attr("selected", "selected"), e(this).val(e(this).val()); + }), + "string" == typeof t ? (a.length > 1 ? a : a[0]) : a + ); + }), + (e.fn.tagsinput.Constructor = n); + var a = e("<div />"); + function o(e) { + return e ? a.text(e).html() : ""; + } + function i(e) { + var t = 0; + if (document.selection) { + e.focus(); + var n = document.selection.createRange(); + n.moveStart("character", -e.value.length), (t = n.text.length); + } else + (e.selectionStart || "0" == e.selectionStart) && + (t = e.selectionStart); + return t; + } + e(function () { + e( + "input[data-role=tagsinput], select[multiple][data-role=tagsinput]" + ).tagsinput(); + }); + })(window.jQuery); + }, + eXZ6: function (e, t, n) { + "use strict"; + n.d(t, "d", function () { + return r; + }), + n.d(t, "e", function () { + return a; + }), + n.d(t, "f", function () { + return o; + }), + n.d(t, "j", function () { + return i; + }), + n.d(t, "a", function () { + return l; + }), + n.d(t, "b", function () { + return s; + }), + n.d(t, "h", function () { + return c; + }), + n.d(t, "g", function () { + return u; + }), + n.d(t, "i", function () { + return f; + }), + n.d(t, "c", function () { + return d; + }); + var r = 30, + a = 8, + o = 24, + i = "v", + l = 4, + s = 250, + c = 3 * r, + u = "panel-copy", + f = 2, + d = 23763571993; + }, + eYNV: function (e, t) { + var n = "public/app/features/admin/partials/orgs.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n <div class=page-action-bar>\n <div class=page-action-bar__spacer></div>\n <a class="page-header__cta btn btn-primary" href=org/new>\n New org\n </a>\n </div>\n\n <table class="filter-table form-inline filter-table--hover">\n <thead>\n <tr>\n <th>Id</th>\n <th>Name</th>\n <th style=width:1%></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="org in orgs">\n <td class=link-td>\n <a href=admin/orgs/edit/{{org.id}}>\n {{org.id}}\n </a>\n </td>\n <td class=link-td>\n <a href=admin/orgs/edit/{{org.id}}>\n {{org.name}}\n </a>\n </td>\n <td class=text-right>\n <a ng-click=deleteOrg(org) class="btn btn-danger btn-small">\n <i class="fa fa-remove"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + eqXR: function (e, t, n) { + "use strict"; + var r, a; + n.d(t, "a", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }), + (function (e) { + (e.Series = "series"), + (e.Field = "field"), + (e.Fields = "fields"), + (e.Value = "value"), + (e.BuiltIn = "built-in"), + (e.Template = "template"); + })(r || (r = {})), + (function (e) { + e.Values = "values"; + })(a || (a = {})); + }, + exx3: function (e, t, n) { + "use strict"; + var r; + !(function (e) { + (e.math = "math"), (e.reduce = "reduce"), (e.resample = "resample"); + })(r || (r = {})); + var a = n("q1tI"), + o = n.n(a), + i = n("kDLi"), + l = n("Obii"); + function s(e) { + return (s = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function c(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function u(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? c(Object(n), !0).forEach(function (t) { + f(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : c(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function f(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function d(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function h(e, t) { + return !t || ("object" !== s(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function m(e) { + return (m = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function g(e, t) { + return (g = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var b = [ + { value: r.math, label: "Math" }, + { value: r.reduce, label: "Reduce" }, + { value: r.resample, label: "Resample" }, + ], + v = [ + { + value: l.ReducerID.min, + label: "Min", + description: "Get the minimum value", + }, + { + value: l.ReducerID.max, + label: "Max", + description: "Get the maximum value", + }, + { + value: l.ReducerID.mean, + label: "Mean", + description: "Get the average value", + }, + { + value: l.ReducerID.sum, + label: "Sum", + description: "Get the sum of all values", + }, + { + value: l.ReducerID.count, + label: "Count", + description: "Get the number of values", + }, + ], + y = [ + { + value: l.ReducerID.min, + label: "Min", + description: "Fill with the minimum value", + }, + { + value: l.ReducerID.max, + label: "Max", + description: "Fill with the maximum value", + }, + { + value: l.ReducerID.mean, + label: "Mean", + description: "Fill with the average value", + }, + { + value: l.ReducerID.sum, + label: "Sum", + description: "Fill with the sum of all values", + }, + ], + w = [ + { + value: "pad", + label: "pad", + description: "fill with the last known value", + }, + { + value: "backfilling", + label: "backfilling", + description: "fill with the next known value", + }, + { value: "fillna", label: "fillna", description: "Fill with NaNs" }, + ], + O = (function (e) { + function t() { + var e, n; + d(this, t); + for (var a = arguments.length, o = new Array(a), i = 0; i < a; i++) + o[i] = arguments[i]; + return ( + ((n = h( + this, + (e = m(t)).call.apply(e, [this].concat(o)) + )).state = {}), + (n.onSelectGELType = function (e) { + var t = n.props, + a = t.query, + o = t.onChange, + i = u({}, a, { type: e.value }); + i.type === r.reduce + ? (i.reducer || (i.reducer = l.ReducerID.mean), + (i.expression = void 0)) + : i.type === r.resample + ? (i.downsampler || (i.downsampler = l.ReducerID.mean), + i.upsampler || (i.upsampler = "fillna"), + (i.reducer = void 0)) + : (i.reducer = void 0), + o(i); + }), + (n.onSelectReducer = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { reducer: e.value })); + }), + (n.onSelectUpsampler = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { upsampler: e.value })); + }), + (n.onSelectDownsampler = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { downsampler: e.value })); + }), + (n.onRuleReducer = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { rule: e.value })); + }), + (n.onExpressionChange = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { expression: e.target.value })); + }), + (n.onRuleChange = function (e) { + var t = n.props, + r = t.query; + (0, t.onChange)(u({}, r, { rule: e.target.value })); + }), + n + ); + } + var n, a, s; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && g(e, t); + })(t, e), + (n = t), + (a = [ + { + key: "render", + value: function () { + var e = this.props.query, + t = b.find(function (t) { + return t.value === e.type; + }), + n = v.find(function (t) { + return t.value === e.reducer; + }), + a = y.find(function (t) { + return t.value === e.downsampler; + }), + l = w.find(function (t) { + return t.value === e.upsampler; + }); + return o.a.createElement( + "div", + null, + o.a.createElement( + "div", + { className: "form-field" }, + o.a.createElement(i.Select, { + options: b, + value: t, + onChange: this.onSelectGELType, + }), + e.type === r.reduce && + o.a.createElement( + o.a.Fragment, + null, + o.a.createElement( + i.FormLabel, + { width: 5 }, + "Function:" + ), + o.a.createElement(i.Select, { + options: v, + value: n, + onChange: this.onSelectReducer, + }), + o.a.createElement(i.FormField, { + label: "Fields:", + labelWidth: 5, + onChange: this.onExpressionChange, + value: e.expression, + }) + ) + ), + e.type === r.math && + o.a.createElement("textarea", { + value: e.expression, + onChange: this.onExpressionChange, + className: "gf-form-input", + rows: 2, + }), + e.type === r.resample && + o.a.createElement( + o.a.Fragment, + null, + o.a.createElement( + "div", + null, + o.a.createElement(i.FormField, { + label: "Series:", + labelWidth: 5, + onChange: this.onExpressionChange, + value: e.expression, + }), + o.a.createElement(i.FormField, { + label: "Rule:", + labelWidth: 5, + onChange: this.onRuleChange, + value: e.rule, + }) + ), + o.a.createElement( + "div", + null, + o.a.createElement( + i.FormLabel, + { width: 12 }, + "Downsample Function:" + ), + o.a.createElement(i.Select, { + options: y, + value: a, + onChange: this.onSelectDownsampler, + }), + o.a.createElement( + i.FormLabel, + { width: 12 }, + "Upsample Function:" + ), + o.a.createElement(i.Select, { + options: w, + value: l, + onChange: this.onSelectUpsampler, + }) + ) + ) + ); + }, + }, + ]) && p(n.prototype, a), + s && p(n, s), + t + ); + })(a.PureComponent), + x = n("t8hP"); + function k(e) { + return (k = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function j(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function S(e, t) { + return !t || ("object" !== k(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function E(e) { + return (E = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function C(e, t) { + return (C = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + n.d(t, "a", function () { + return T; + }), + n.d(t, "b", function () { + return D; + }); + var P = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + S(this, E(t).call(this, e)) + ); + } + var n, a, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && C(e, t); + })(t, e), + (n = t), + (a = [ + { + key: "getCollapsedText", + value: function (e) { + return "Expression: ".concat(e.type); + }, + }, + { + key: "newQuery", + value: function () { + return { refId: "--", type: r.math, datasource: T }; + }, + }, + ]) && j(n.prototype, a), + o && j(n, o), + t + ); + })(x.DataSourceWithBackend), + T = "__expr__", + D = new P({ id: -100, name: T }); + (D.meta = { + id: T, + info: { + logos: { + small: "public/img/icn-datasource.svg", + large: "public/img/icn-datasource.svg", + }, + }, + }), + (D.components = { QueryEditor: O }); + }, + fL47: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return v; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("Obii"), + l = n("LvDl"), + s = n("Xmxp"), + c = n("t8hP"), + u = n("umNM"); + function f(e) { + return (f = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function d(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function p(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + d(o, r, a, i, l, "next", e); + } + function l(e) { + d(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function h(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function m(e, t) { + return !t || ("object" !== f(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function g(e) { + return (g = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function b(e, t) { + return (b = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var v = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = m(this, g(t).call(this, e))).componentDidMount = p( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), n.loadInitialValue(); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.getOptions = (function () { + var e = p( + regeneratorRuntime.mark(function e(t) { + var r, a, o, i, l, s, f; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = n.props), + (a = r.rootName), + (o = r.enableReset), + (i = r.initialTitle), + (l = { + query: t, + type: "dash-folder", + permission: "Edit", + }), + (e.next = 4), + Object(c.getBackendSrv)().search(l) + ); + case 4: + return ( + (s = e.sent), + (f = s.map(function (e) { + return { label: e.title, value: e.id }; + })), + u.a.isEditor && + (null == a + ? void 0 + : a + .toLowerCase() + .startsWith(t.toLowerCase())) && + f.unshift({ label: a, value: 0 }), + o && + "" === t && + "" !== i && + f.unshift({ label: i, value: void 0 }), + e.abrupt("return", f) + ); + case 9: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onFolderChange = function (e) { + e || (e = { value: 0, label: n.props.rootName }), + n.setState({ folder: e }, function () { + return n.props.onChange({ id: e.value, title: e.label }); + }); + }), + (n.createNewFolder = (function () { + var e = p( + regeneratorRuntime.mark(function e(t) { + var r, a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(c.getBackendSrv)().createFolder({ title: t }) + ); + case 2: + if ( + ((r = e.sent), + (a = { value: -1, label: "Not created" }), + !(r.id > -1)) + ) { + e.next = 11; + break; + } + return ( + s.b.emit(i.AppEvents.alertSuccess, [ + "Folder Created", + "OK", + ]), + (a = { value: r.id, label: r.title }), + (e.next = 9), + n.onFolderChange(a) + ); + case 9: + e.next = 12; + break; + case 11: + s.b.emit(i.AppEvents.alertError, [ + "Folder could not be created", + ]); + case 12: + return e.abrupt("return", a); + case 13: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.loadInitialValue = p( + regeneratorRuntime.mark(function e() { + var t, r, a, o, i, l, s, c, f, d; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = n.props), + (r = t.initialTitle), + (a = t.rootName), + (o = t.initialFolderId), + (i = t.enableReset), + (l = t.dashboardId), + (s = { label: r, value: void 0 }), + (c = { label: a, value: 0 }), + (e.next = 5), + n.getOptions("") + ); + case 5: + (f = e.sent), + (d = { value: -1 }), + null != o && o > -1 + ? (d = f.find(function (e) { + return e.value === o; + }) || { value: -1 }) + : i && r && (d = s), + d || + (d = u.a.isEditor + ? c + : !!l + ? s + : f.length > 0 + ? f[0] + : s), + n.setState({ folder: d }, function () { + d.value !== o && + n.props.onChange({ id: d.value, title: d.text }); + }); + case 10: + case "end": + return e.stop(); + } + }, e); + }) + )), + (n.state = { folder: {} }), + (n.debouncedSearch = Object(l.debounce)(n.getOptions, 300, { + leading: !0, + trailing: !0, + })), + n + ); + } + var n, r, f; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && b(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.state.folder, + t = this.props, + n = t.enableCreateNew, + r = t.useNewForms; + return a.a.createElement( + a.a.Fragment, + null, + r && + a.a.createElement(o.Forms.AsyncSelect, { + loadingMessage: "Loading folders...", + defaultOptions: !0, + defaultValue: e, + value: e, + allowCustomValue: n, + loadOptions: this.debouncedSearch, + onChange: this.onFolderChange, + onCreateOption: this.createNewFolder, + size: "sm", + menuPosition: "fixed", + }), + !r && + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { className: "gf-form-label width-7" }, + "Folder" + ), + a.a.createElement(o.Forms.AsyncSelect, { + loadingMessage: "Loading folders...", + defaultOptions: !0, + defaultValue: e, + value: e, + allowCustomValue: n, + loadOptions: this.debouncedSearch, + onChange: this.onFolderChange, + onCreateOption: this.createNewFolder, + size: "sm", + }) + ) + ) + ); + }, + }, + ]) && h(n.prototype, r), + f && h(n, f), + t + ); + })(r.PureComponent); + v.defaultProps = { + rootName: "General", + enableReset: !1, + initialTitle: "", + enableCreateNew: !1, + }; + }, + fQqI: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }); + var r = n("LvDl"), + a = n.n(r); + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var i = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.$injector = n), + (this.panel = this.panelCtrl.panel), + (this.isLastQuery = + a.a.indexOf(this.panel.targets, this.target) === + this.panel.targets.length - 1); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "refresh", + value: function () { + this.panelCtrl.refresh(); + }, + }, + ]) && o(t.prototype, n), + r && o(t, r), + e + ); + })(); + }, + fZn8: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = Object(r.c)({ + name: "organization", + initialState: { organization: {} }, + reducers: { + organizationLoaded: function (e, t) { + return o({}, e, { organization: t.payload }); + }, + setOrganizationName: function (e, t) { + return o({}, e, { + organization: o({}, e.organization, { name: t.payload }), + }); + }, + }, + }), + s = l.actions, + c = s.setOrganizationName, + u = s.organizationLoaded, + f = l.reducer; + t.a = { organization: f }; + }, + gKd5: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }), + n.d(t, "b", function () { + return l; + }); + var r = n("KyLG"), + a = n("+CPp"), + o = n("mpro"), + i = {}, + l = function () { + var e, + t, + n = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : i, + l = arguments.length > 1 ? arguments[1] : void 0; + if (r.b.match(l)) { + var s = Object.values(n).filter(function (e) { + return e.global; + }); + if (!s) return i; + var c = s.reduce(function (e, t) { + return (e[t.uuid] = t), e; + }, {}); + return c; + } + return (null == l + ? void 0 + : null === (e = l.payload) || void 0 === e + ? void 0 + : e.type) && + a.a.contains( + null == l + ? void 0 + : null === (t = l.payload) || void 0 === t + ? void 0 + : t.type + ) + ? a.a.get(l.payload.type).reducer(Object(o.k)(n, l), l) + : n; + }; + }, + gw38: function (e, t) { + var n = "public/app/plugins/datasource/mysql/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n <div ng-if=ctrl.target.rawQuery>\n <div class=gf-form-inline>\n <div class="gf-form gf-form--grow">\n <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n </code-editor>\n </div>\n </div>\n </div>\n\n <div ng-if=!ctrl.target.rawQuery>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">FROM</label>\n <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n <label class="gf-form-label query-keyword width-7">Time column</label>\n <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n <label class="gf-form-label query-keyword width-9">\n Metric column\n <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n </label>\n <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n\n </div>\n\n <div class=gf-form-inline ng-repeat="selectParts in ctrl.selectParts">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">\n <span ng-show="$index === 0">SELECT</span> \n </label>\n </div>\n\n <div class=gf-form ng-repeat="part in selectParts">\n <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n </label>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">WHERE</label>\n </div>\n\n <div class=gf-form ng-repeat="part in ctrl.whereParts">\n <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change="ctrl.addWhereAction(part, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-6">\n <span>GROUP BY</span>\n </label>\n\n <sql-part-editor ng-repeat="part in ctrl.groupParts" part=part class="gf-form-label sql-part" handle-event="ctrl.handleGroupPartEvent(part, $index, $event)">\n </sql-part-editor>\n </div>\n\n <div class=gf-form>\n <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change="ctrl.addGroupAction(part, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword">Format as</label>\n <div class=gf-form-select-wrapper>\n <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleEditorMode() ng-show="ctrl.panelCtrl.panel.type !== \'table\'">\n <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n </label>\n </div>\n <div class=gf-form>\n <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showHelp = !ctrl.showHelp">\n Show Help\n <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n </label>\n </div>\n <div class=gf-form ng-show=ctrl.lastQueryMeta>\n <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n Generated SQL\n <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n </label>\n </div>\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n </div>\n\n <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n </div>\n\n <div class=gf-form ng-show=ctrl.showHelp>\n <pre class="gf-form-pre alert alert-info">Time series:\n- return column named time or time_sec (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- return column(s) with numeric datatype as values\nOptional:\n - return column named <i>metric</i> to represent the series name.\n - If multiple value columns are returned the metric column is used as prefix.\n - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -> UNIX_TIMESTAMP(column) as time_sec\n- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec\n- $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -> time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877\n- $__unixEpochNanoFilter(column) -> column >= 1494410783152415214 AND column <= 1494497183142514872\n- $__timeGroup(column,\'5m\'[, fillvalue]) -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)\n by setting fillvalue grafana will fill in missing values according to the interval\n fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,\'5m\') -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) AS "time"\n- $__unixEpochGroup(column,\'5m\') -> column DIV 300 * 300\n- $__unixEpochGroupAlias(column,\'5m\') -> column DIV 300 * 300 AS "time"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n $__timeGroupAlias(timestamp_col, \'1h\'),\n sum(value_double) as value\nFROM yourtable\nGROUP BY 1\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -> FROM_UNIXTIME(1492750877)\n- $__timeTo() -> FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -> 1492750877\n- $__unixEpochTo() -> 1492750877\n- $__unixEpochNanoFrom() -> 1494410783152415214\n- $__unixEpochNanoTo() -> 1494497183142514872\n </pre>\n </div>\n\n \n\n <div class=gf-form ng-show=ctrl.lastQueryError>\n <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n </div>\n\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + h3Ht: function (e, t, n) { + "use strict"; + var r = n("SMGL"), + a = n("LvDl"), + o = n.n(a), + i = n("ZFWI"); + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var s = new ((function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "addDashboardImpression", + value: function (e) { + var t = this.impressionKey(), + n = []; + r.a.exists(t) && + ((n = JSON.parse(r.a.get(t))), o.a.isArray(n) || (n = [])), + (n = n.filter(function (t) { + return e !== t; + })).unshift(e), + n.length > 50 && n.pop(), + r.a.set(t, JSON.stringify(n)); + }, + }, + { + key: "getDashboardOpened", + value: function () { + var e = r.a.get(this.impressionKey()) || "[]"; + return ( + (e = JSON.parse(e)), + (e = o.a.filter(e, function (e) { + return o.a.isNumber(e); + })) + ); + }, + }, + { + key: "impressionKey", + value: function () { + return "dashboard_impressions-" + i.b.bootData.user.orgId; + }, + }, + ]) && l(t.prototype, n), + a && l(t, a), + e + ); + })())(); + t.a = s; + }, + hE9y: function (e, t) { + var n = "public/app/plugins/panel/singlestat/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n\n <div class=grafana-info-box ng-if=ctrl.panel.gauge.show>\n <h5>Gauge Migration</h5>\n <p>\n Gauge visualizations within the Singlestat panel are deprecated. Please\n migrate this panel to use the Gauge panel\n\n </p><div class=gf-form-button-row>\n <button class="btn btn-primary" ng-click=ctrl.migrateToGaugePanel(true)>\n Migrate to Gauge Panel\n </button>\n <button class="btn btn-inverse" ng-click=ctrl.migrateToGaugePanel(false)>\n Show as single stat\n </button>\n </div>\n\n <br/>\n\n <div ng-if=ctrl.panel.sparkline.show>\n <b>NOTE:</b> Sparklines are not supported in the gauge panel\n </div>\n\n <div ng-if=ctrl.panel.prefix>\n <b>NOTE:</b> Prefix will not be show in the gauge panel\n </div>\n\n <div ng-if=ctrl.panel.postfix>\n <b>NOTE:</b> Postfix will not be show in the gauge panel\n </div>\n\n <div ng-if="ctrl.panel.links && ctrl.panel.links.length">\n <b>NOTE:</b> Links will be in the upper left corner, rather than anywhere on the gauge\n </div>\n <p></p>\n </div>\n\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Value</h5>\n\n <div class=gf-form-inline>\n <div class=gf-form ng-if="ctrl.fieldNames.length > 1">\n <label class="gf-form-label width-6">Field</label>\n <div class="gf-form-select-wrapper width-12">\n <select class=gf-form-input ng-model=ctrl.panel.tableColumn ng-options="f for f in ctrl.fieldNames" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-6">Show</label>\n <div class="gf-form-select-wrapper width-12">\n <select class=gf-form-input ng-model=ctrl.panel.valueName ng-options="f.value as f.text for f in ctrl.valueNameOptions" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-6">Font size</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.panel.valueFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render()></select>\n </div>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-6">Prefix</label>\n <input type=text class="gf-form-input width-12" ng-model=ctrl.panel.prefix ng-change=ctrl.render() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-6">Font size</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.panel.prefixFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n </div>\n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-6">Postfix</label>\n <input type=text class="gf-form-input width-12" ng-model=ctrl.panel.postfix ng-change=ctrl.render() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-6">Font size</label>\n <div class=gf-form-select-wrapper>\n <select class="input-small gf-form-input" ng-model=ctrl.panel.postfixFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n </div>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-6">Unit</label>\n <unit-picker onchange=ctrl.setUnitFormat() value=ctrl.panel.format width=18 />\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-6">Decimals</label>\n <input type=number class="gf-form-input width-18" placeholder=auto data-placement=right bs-tooltip="\'Override automatic decimal precision for legend and tooltips\'" ng-model=ctrl.panel.decimals ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Coloring</h5>\n <div class=gf-form-inline>\n <gf-form-switch class=gf-form label-class=width-8 label=Background checked=ctrl.panel.colorBackground on-change=ctrl.render()></gf-form-switch>\n <gf-form-switch class=gf-form label-class=width-6 label=Value checked=ctrl.panel.colorValue on-change=ctrl.render()></gf-form-switch>\n </div>\n <div class=gf-form-inline>\n <gf-form-switch class=gf-form label-class=width-8 label=Prefix checked=ctrl.panel.colorPrefix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n <gf-form-switch class=gf-form label-class=width-6 label=Postfix checked=ctrl.panel.colorPostfix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n </div>\n <div class=gf-form-inline>\n <div class="gf-form max-width-21">\n <label class="gf-form-label width-8">Thresholds\n <tip>Define two threshold values<br /> 50,80 will produce: value < 50 = Green, 50 <= value < 80 = Yellow, value >= 80 = Red</tip>\n </label>\n <input type=text class=gf-form-input ng-model=ctrl.panel.thresholds ng-blur=ctrl.render() placeholder=50,80>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Colors</label>\n <span class=gf-form-label ng-repeat="color in ctrl.panel.colors track by $index">\n <color-picker color=color onchange=ctrl.onColorChange($index)></color-picker>\n </span>\n <span class=gf-form-label>\n <a ng-click=ctrl.invertColorOrder()>\n Invert\n </a>\n </span>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Spark lines</h5>\n <gf-form-switch class=gf-form label-class=width-9 label=Show checked=ctrl.panel.sparkline.show on-change=ctrl.refresh()></gf-form-switch>\n <div ng-if=ctrl.panel.sparkline.show>\n <gf-form-switch class=gf-form label-class=width-9 label="Full height" checked=ctrl.panel.sparkline.full on-change=ctrl.render()></gf-form-switch>\n <div class=gf-form>\n <label class="gf-form-label width-9">Y-Min</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymin ng-change=ctrl.render() ng-model-onblur empty-to-null>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">Y-Max</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymax ng-change=ctrl.render() ng-model-onblur empty-to-null>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">Line Color</label>\n <span class=gf-form-label>\n <color-picker color=ctrl.panel.sparkline.lineColor onchange=ctrl.onSparklineColorChange></color-picker>\n </span>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">Fill Color</label>\n <span class=gf-form-label>\n <color-picker color=ctrl.panel.sparkline.fillColor onchange=ctrl.onSparklineFillChange></color-picker>\n </span>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group" ng-if=ctrl.panel.gauge.show>\n <h5 class=section-heading>Gauge</h5>\n <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label=Show checked=ctrl.panel.gauge.show on-change=ctrl.render()></gf-form-switch>\n <div ng-if=ctrl.panel.gauge.show>\n <div class=gf-form>\n <label class="gf-form-label width-10">Min</label>\n <input type=number class="gf-form-input width-6" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.minValue ng-change=ctrl.refresh() ng-model-onblur>\n <label class="gf-form-label alert-state-critical" ng-show=ctrl.invalidGaugeRange>\n <i class="fa fa-warning"></i>\n Min value is bigger than max.\n </label>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-10">Max</label>\n <input type=number class="gf-form-input width-6" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.maxValue ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label="Threshold labels" checked=ctrl.panel.gauge.thresholdLabels on-change=ctrl.render()></gf-form-switch>\n <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label="Threshold markers" checked=ctrl.panel.gauge.thresholdMarkers on-change=ctrl.render()></gf-form-switch>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + hSYD: function (e, t) { + var n = + "public/app/plugins/datasource/cloudwatch/partials/query.parameter.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-8">Region</label>\n <metric-segment segment=regionSegment get-options=getRegions() on-change=regionChanged()></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.expression.length === 0">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-8">Metric</label>\n\n <metric-segment segment=namespaceSegment get-options=getNamespaces() on-change=namespaceChanged()></metric-segment>\n <metric-segment segment=metricSegment get-options=getMetrics() on-change=metricChanged()></metric-segment>\n </div>\n\n <div class=gf-form>\n <label class="gf-form-label query-keyword">Stats</label>\n </div>\n\n <div class=gf-form ng-repeat="segment in statSegments">\n <metric-segment segment=segment get-options="getStatSegments(segment, $index)" on-change="statSegmentChanged(segment, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.expression.length === 0">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-8">Dimensions</label>\n <metric-segment ng-repeat="segment in dimSegments" segment=segment get-options="getDimSegments(segment, $index)" on-change="dimSegmentChanged(segment, $index)"></metric-segment>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.statistics.length === 1">\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-8">\n Id\n <info-popover mode="right-normal ">Id can include numbers, letters, and underscore, and must start with a lowercase letter.</info-popover>\n </label>\n <input type="text " class=gf-form-input ng-model="target.id " spellcheck=false ng-pattern=/^[a-z][a-zA-Z0-9_]*$/ ng-model-onblur ng-change="onChange() "/>\n </div>\n <div class="gf-form max-width-30">\n <label class="gf-form-label query-keyword width-7">Expression</label>\n <input type="text " class=gf-form-input ng-model="target.expression\n " spellcheck=false ng-model-onblur ng-change="onChange() "/>\n </div>\n</div>\n\n<div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label query-keyword width-8">\n Min period\n <info-popover mode="right-normal ">Minimum interval between points in seconds</info-popover>\n </label>\n <input type="text " class=gf-form-input ng-model="target.period " spellcheck=false placeholder="auto\n " ng-model-onblur ng-change="onChange() "/>\n </div>\n <div class="gf-form max-width-30">\n <label class="gf-form-label query-keyword width-7">Alias</label>\n <input type="text " class=gf-form-input ng-model="target.alias " spellcheck=false ng-model-onblur ng-change="onChange() "/>\n <info-popover mode="right-absolute ">\n Alias replacement variables:\n <ul ng-non-bindable>\n <li>{{ metric }}</li>\n <li>{{ stat }}</li>\n <li>{{ namespace }}</li>\n <li>{{ region }}</li>\n <li>{{ period }}</li>\n <li>{{ label }}</li>\n <li>{{ YOUR_DIMENSION_NAME }}</li>\n </ul>\n </info-popover>\n </div>\n\n <div class="gf-form gf-form--grow">\n <div class="gf-form-label gf-form-label--grow"></div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + hU0f: function (e, t) {}, + hfOi: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("/MKj"), + i = n("1gCF"), + l = n("Xmxp"), + s = n("kDLi"), + c = function (e) { + var t = e.icon, + n = e.tooltip, + r = e.classSuffix, + o = e.onClick, + l = e.href; + return o + ? a.a.createElement( + s.Tooltip, + { content: n }, + a.a.createElement( + "button", + { + className: "btn navbar-button navbar-button--".concat(r), + onClick: o, + "aria-label": i.a.pages.Dashboard.Toolbar.selectors.toolbarItems( + n + ), + }, + a.a.createElement("i", { className: t }) + ) + ) + : a.a.createElement( + s.Tooltip, + { content: n }, + a.a.createElement( + "a", + { + className: "btn navbar-button navbar-button--".concat(r), + href: l, + }, + a.a.createElement("i", { className: t }) + ) + ); + }, + u = n("maUf"), + f = n("3NGh"), + d = n("3SGO"), + p = n("GQ3c"), + h = n("Y2hc"), + m = n("KODV"), + g = n("VX0D"); + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function y(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function w(e) { + return (w = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function O(e, t) { + return (O = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var x = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = y( + this, + w(t).call(this, e) + )).onDahboardNameClick = function () { + l.a.emit(p.CoreEvents.showDashSearch); + }), + (n.onFolderNameClick = function () { + l.a.emit(p.CoreEvents.showDashSearch, { + query: "folder:current", + }); + }), + (n.onClose = function () { + n.props.editview + ? n.props.updateLocation({ + query: { editview: null }, + partial: !0, + }) + : n.props.updateLocation({ + query: { + panelId: null, + edit: null, + fullscreen: null, + tab: null, + }, + partial: !0, + }); + }), + (n.onToggleTVMode = function () { + l.a.emit(p.CoreEvents.toggleKioskMode); + }), + (n.onOpenSettings = function () { + n.props.updateLocation({ + query: { editview: "settings" }, + partial: !0, + }); + }), + (n.onStarDashboard = function () { + var e = n.props, + t = e.dashboard; + e.$injector + .get("dashboardSrv") + .starDashboard(t.id, t.meta.isStarred) + .then(function (e) { + (t.meta.isStarred = e), n.forceUpdate(); + }); + }), + (n.onPlaylistPrev = function () { + n.playlistSrv.prev(); + }), + (n.onPlaylistNext = function () { + n.playlistSrv.next(); + }), + (n.onPlaylistStop = function () { + n.playlistSrv.stop(), n.forceUpdate(); + }), + (n.playlistSrv = n.props.$injector.get("playlistSrv")), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && O(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "renderDashboardTitleSearchButton", + value: function () { + var e = this.props.dashboard, + t = e.meta.folderTitle, + n = e.meta.folderId > 0; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "div", + null, + a.a.createElement( + "div", + { className: "navbar-page-btn" }, + !this.isInFullscreenOrSettings && + a.a.createElement("i", { + className: "gicon gicon-dashboard", + }), + n && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "a", + { + className: "navbar-page-btn__folder", + onClick: this.onFolderNameClick, + }, + t + ), + a.a.createElement("i", { + className: + "fa fa-chevron-right navbar-page-btn__folder-icon", + }) + ), + a.a.createElement( + "a", + { onClick: this.onDahboardNameClick }, + e.title, + " ", + a.a.createElement("i", { + className: + "fa fa-caret-down navbar-page-btn__search", + }) + ) + ) + ), + this.isSettings && + a.a.createElement( + "span", + { className: "navbar-settings-title" }, + " / Settings" + ), + a.a.createElement("div", { className: "navbar__spacer" }) + ); + }, + }, + { + key: "renderBackButton", + value: function () { + return a.a.createElement( + "div", + { className: "navbar-edit" }, + a.a.createElement(f.a, { + onClick: this.onClose, + "aria-label": + i.a.pages.Dashboard.Toolbar.selectors.backArrow, + }) + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.dashboard, + n = e.onAddPanel, + r = e.location, + o = t.meta, + i = o.canStar, + l = o.canSave, + f = o.canShare, + p = o.showSettings, + b = o.isStarred, + v = t.snapshot, + y = v && v.originalUrl; + return a.a.createElement( + "div", + { className: "navbar" }, + this.isInFullscreenOrSettings && this.renderBackButton(), + this.renderDashboardTitleSearchButton(), + this.playlistSrv.isPlaying && + a.a.createElement( + "div", + { + className: "navbar-buttons navbar-buttons--playlist", + }, + a.a.createElement(c, { + tooltip: "Go to previous dashboard", + classSuffix: "tight", + icon: "fa fa-step-backward", + onClick: this.onPlaylistPrev, + }), + a.a.createElement(c, { + tooltip: "Stop playlist", + classSuffix: "tight", + icon: "fa fa-stop", + onClick: this.onPlaylistStop, + }), + a.a.createElement(c, { + tooltip: "Go to next dashboard", + classSuffix: "tight", + icon: "fa fa-forward", + onClick: this.onPlaylistNext, + }) + ), + a.a.createElement( + "div", + { className: "navbar-buttons navbar-buttons--actions" }, + l && + a.a.createElement(c, { + tooltip: "Add panel", + classSuffix: "add-panel", + icon: "gicon gicon-add-panel", + onClick: n, + }), + i && + a.a.createElement(c, { + tooltip: "Mark as favorite", + classSuffix: "star", + icon: "".concat(b ? "fa fa-star" : "fa fa-star-o"), + onClick: this.onStarDashboard, + }), + f && + a.a.createElement(s.ModalsController, null, function ( + e + ) { + var n = e.showModal, + r = e.hideModal; + return a.a.createElement(c, { + tooltip: "Share dashboard", + classSuffix: "share", + icon: "fa fa-share-square-o", + onClick: function () { + n(h.ShareModal, { dashboard: t, onDismiss: r }); + }, + }); + }), + l && + a.a.createElement(s.ModalsController, null, function ( + e + ) { + var n = e.showModal, + r = e.hideModal; + return a.a.createElement(c, { + tooltip: "Save dashboard", + classSuffix: "save", + icon: "fa fa-save", + onClick: function () { + n(m.a, { dashboard: t, onDismiss: r }); + }, + }); + }), + y && + a.a.createElement(c, { + tooltip: "Open original dashboard", + classSuffix: "snapshot-origin", + icon: "gicon gicon-link", + href: Object(g.d)(y), + }), + p && + a.a.createElement(c, { + tooltip: "Dashboard settings", + classSuffix: "settings", + icon: "gicon gicon-cog", + onClick: this.onOpenSettings, + }) + ), + a.a.createElement( + "div", + { className: "navbar-buttons navbar-buttons--tv" }, + a.a.createElement(c, { + tooltip: "Cycle view mode", + classSuffix: "tv", + icon: "fa fa-desktop", + onClick: this.onToggleTVMode, + }) + ), + !t.timepicker.hidden && + a.a.createElement( + "div", + { className: "navbar-buttons" }, + a.a.createElement(u.a, { + dashboard: t, + location: r, + updateLocation: d.c, + }) + ) + ); + }, + }, + { + key: "isInFullscreenOrSettings", + get: function () { + return this.props.editview || this.props.isFullscreen; + }, + }, + { + key: "isSettings", + get: function () { + return this.props.editview; + }, + }, + ]) && v(n.prototype, r), + o && v(n, o), + t + ); + })(r.PureComponent), + k = { updateLocation: d.c }, + j = Object(o.connect)(function (e) { + return { location: e.location }; + }, k)(x); + n.d(t, "a", function () { + return j; + }); + }, + hiSG: function (e, t) { + var n = "public/app/plugins/panel/graph/tab_thresholds_time_regions.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<graph-threshold-form panel-ctrl=ctrl></graph-threshold-form>\n<graph-time-region-form panel-ctrl=ctrl></graph-time-region-form>" + ); + }, + ]), + (e.exports = n); + }, + hqzN: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("Obii"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function u(e) { + return (u = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function f(e, t) { + return (f = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var d = (function (e) { + function t() { + var e, n; + l(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = c(this, (e = u(t)).call.apply(e, [this].concat(a)))).state = { + isSyncing: !1, + }), + (n.handleSyncClick = function () { + console.log("Bulk-sync now"), + n.setState({ isSyncing: !n.state.isSyncing }); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && f(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.ldapSyncInfo, + t = this.state.isSyncing, + n = Object(o.dateTime)(e.nextSync).format( + "dddd YYYY-MM-DD HH:mm zz" + ), + r = e && e.prevSync, + i = r + ? Object(o.dateTime)(e.prevSync.started).format( + "dddd YYYY-MM-DD HH:mm zz" + ) + : ""; + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "LDAP Synchronisation", + a.a.createElement( + "button", + { + className: "btn btn-secondary pull-right", + onClick: this.handleSyncClick, + hidden: !0, + }, + a.a.createElement( + "span", + { className: "btn-title" }, + "Bulk-sync now" + ), + t && + a.a.createElement("i", { + className: "fa fa-spinner fa-fw fa-spin run-icon", + }) + ) + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + null, + "Active synchronisation" + ), + a.a.createElement( + "td", + { colSpan: 2 }, + e.enabled ? "Enabled" : "Disabled" + ) + ), + a.a.createElement( + "tr", + null, + a.a.createElement("td", null, "Scheduled"), + a.a.createElement("td", null, e.schedule) + ), + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + null, + "Next scheduled synchronisation" + ), + a.a.createElement("td", null, n) + ), + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + null, + "Last synchronisation" + ), + r && + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("td", null, i), + a.a.createElement("td", null, "Successful") + ) + ) + ) + ) + ) + ) + ); + }, + }, + ]) && s(n.prototype, r), + i && s(n, i), + t + ); + })(r.PureComponent); + }, + iFH1: function (e, t) { + var n = "public/app/features/org/partials/newOrg.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=navModel></page-header>\n\n<div class="page-container page-body" ng-form=playlistEditForm>\n\t<h3 class=page-sub-heading>\n\t\tNew Organization\n\t</h3>\n\n\t<p class=playlist-description>Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, multiple organization are most frequently used in multi-tenant deployments. </p>\n\n\t<form>\n\t\t<div class=gf-form-group>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-10">Org. name</span>\n\t\t\t\t<input type=text ng-model=newOrg.name required class="gf-form-input max-width-21" placeholder="organization name">\n\t\t\t</div>\n\t\t\t<br>\n\t\t\t<div class=gf-form-buttons-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=createOrg()>Create</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + iKVC: function (e, t) { + var n = "public/app/partials/confirm_modal.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body ng-cloak>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa {{icon}}"></i>\n\t\t\t<span class=p-l-1>\n\t\t\t\t{{title}}\n\t\t\t</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<div class="modal-content text-center">\n\n\t\t<div class=confirm-modal-text>\n\t\t\t{{text}}\n\t\t\t<div ng-if="text2 && text2htmlBind" class=confirm-modal-text2 ng-bind-html=text2></div>\n <div ng-if="text2 && !text2htmlBind" class=confirm-modal-text2>{{text2}}</div>\n\t\t</div>\n\n\t\t<div class=modal-content-confirm-text ng-if=confirmText>\n\t\t\t<input type=text class="gf-form-input width-16" style=display:inline-block placeholder="Type {{confirmText}} to confirm" ng-model=confirmInput ng-change=updateConfirmText(confirmInput)>\n\t\t</div>\n\n\t\t<div class=confirm-modal-buttons>\n\t\t\t<button ng-show=onAltAction type=button class="btn btn-primary" ng-click=dismiss();onAltAction();>{{altActionText}}</button>\n\t\t\t<button ng-show=onConfirm type=button class="btn btn-danger" ng-click=onConfirm();dismiss(); ng-disabled=!confirmTextValid give-focus=true aria-label={{selectors.delete}}>{{yesText}}</button>\n\t\t\t<button type=button class="btn btn-inverse" ng-click=dismiss()>{{noText}}</button>\n\t\t</div>\n\t</div>\n\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + iODs: function (e, t, n) { + "use strict"; + var r; + function a(e) { + r = e; + } + function o() { + return r && r.getState ? r.getState() : {}; + } + function i(e) { + if (r && r.getState) return r.dispatch(e); + } + n.d(t, "d", function () { + return r; + }), + n.d(t, "c", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }), + n.d(t, "a", function () { + return i; + }); + }, + iSop: function (e, t) { + var n = "public/app/features/admin/partials/stats.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\t<table class="filter-table form-inline">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th>Name</th>\n\t\t\t\t<th>Value</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.dashboards}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total users</td>\n\t\t\t\t<td>{{ctrl.stats.users}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Active users (seen last 14 days)</td>\n\t\t\t\t<td>{{ctrl.stats.activeUsers}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total organizations</td>\n\t\t\t\t<td>{{ctrl.stats.orgs}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total datasources</td>\n\t\t\t\t<td>{{ctrl.stats.datasources}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total playlists</td>\n\t\t\t\t<td>{{ctrl.stats.playlists}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total snapshots</td>\n\t\t\t\t<td>{{ctrl.stats.snapshots}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboard tags</td>\n\t\t\t\t<td>{{ctrl.stats.tags}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total starred dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.stars}}</td>\n\t\t\t</tr>\n <tr>\n\t\t\t\t<td>Total alerts</td>\n\t\t\t\t<td>{{ctrl.stats.alerts}}</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + iZOS: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return l; + }), + n.d(t, "b", function () { + return c; + }); + var r = n("LvDl"), + a = n.n(r); + function o(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function i(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var l = (function () { + function e(t) { + if ( + ((function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.columns = []), + (this.columnMap = {}), + (this.rows = []), + (this.type = "table"), + t) + ) { + if (t.columns) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t.columns[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + this.addColumn(l); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + } + if (t.rows) { + var s = !0, + c = !1, + u = void 0; + try { + for ( + var f, d = t.rows[Symbol.iterator](); + !(s = (f = d.next()).done); + s = !0 + ) { + var p = f.value; + this.addRow(p); + } + } catch (e) { + (c = !0), (u = e); + } finally { + try { + s || null == d.return || d.return(); + } finally { + if (c) throw u; + } + } + } + } + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "sort", + value: function (e) { + null === e.col || + this.columns.length <= e.col || + (this.rows.sort(function (t, n) { + return ( + +(null == (t = t[e.col])) - +(null == (n = n[e.col])) || + +(t > n) || + -(t < n) + ); + }), + e.desc && this.rows.reverse(), + (this.columns[e.col].sort = !0), + (this.columns[e.col].desc = e.desc)); + }, + }, + { + key: "addColumn", + value: function (e) { + this.columnMap[e.text] || + (this.columns.push(e), (this.columnMap[e.text] = e)); + }, + }, + { + key: "addRow", + value: function (e) { + this.rows.push(e); + }, + }, + ]) && i(t.prototype, n), + r && i(t, r), + e + ); + })(); + function s(e, t, n) { + for (var r = !1, a = 0; a < e.length; a++) + if (void 0 !== t[a] && void 0 !== n[a]) { + if (t[a] !== n[a]) return !1; + } else (void 0 !== t[a] && void 0 !== n[a]) || (r = !0); + return r; + } + function c(e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + var i = e || new l(); + if (1 === arguments.length) return i; + if (2 === arguments.length) + return ( + (i.columns = n[0].hasOwnProperty("columns") ? o(n[0].columns) : []), + (i.rows = n[0].hasOwnProperty("rows") ? o(n[0].rows) : []), + i + ); + var c = n.filter(function (e) { + return !!e.columns; + }), + u = {}, + f = c.slice().reduce(function (e, t) { + return ( + t.columns.forEach(function (t) { + var n = t.text; + void 0 === u[n] && ((u[n] = e.length), e.push(t)); + }), + e + ); + }, []), + d = c.map(function (e) { + return e.columns.map(function (e) { + return u[e.text]; + }); + }), + p = c.reduce(function (e, t, n) { + var r = d[n]; + return ( + t.rows.forEach(function (t) { + var n = []; + r.forEach(function (e, r) { + n[e] = t[r]; + }), + e.push(n); + }), + e + ); + }, []), + h = {}, + m = p.reduce(function (e, t, n) { + if (!h[n]) { + for (var r = n + 1; r < p.length; ) { + var o = a.a.findIndex( + p, + function (e) { + return s(f, t, e); + }, + r + ); + if (!(o > -1)) break; + for (var i = p[o], l = 0; l < f.length; l++) + void 0 === t[l] && void 0 !== i[l] && (t[l] = i[l]); + (h[o] = i), (r = o + 1); + } + e.push(t); + } + return e; + }, []); + return (i.columns = f), (i.rows = m), i; + } + }, + ibPz: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return c; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"); + function i() { + var e = s([ + "\n background: url(public/img/heatmap_bg_test.svg);\n background-size: cover;\n ", + ]); + return ( + (i = function () { + return e; + }), + e + ); + } + function l() { + var e = s(["\n max-width: 150px;\n "]); + return ( + (l = function () { + return e; + }), + e + ); + } + function s(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var c = function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + }; + (c.LoginLogo = function (e) { + var t = e.className, + n = Object(o.css)(l()); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("img", { + className: Object(o.cx)(t, n), + src: "public/img/grafana_icon.svg", + alt: "Grafana", + }), + a.a.createElement("div", { className: "logo-wordmark" }) + ); + }), + (c.LoginBackground = function (e) { + var t = e.className, + n = e.children, + r = Object(o.css)(i()); + return a.a.createElement("div", { className: Object(o.cx)(r, t) }, n); + }), + (c.MenuLogo = function (e) { + var t = e.className; + return a.a.createElement("img", { + className: t, + src: "public/img/grafana_icon.svg", + alt: "Grafana", + }); + }), + (c.AppTitle = "Grafana"); + }, + "if1/": function (e, t, n) { + "use strict"; + function r(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function a(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return i; + }); + var i = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.data = t), + (this.index = 0); + for ( + var r = {}, + a = function (e) { + var a = t.fields[e], + o = function () { + return a.values.get(n.index); + }; + r.hasOwnProperty(a.name) || + Object.defineProperty(r, a.name, { enumerable: !0, get: o }), + Object.defineProperty(r, e, { enumerable: !1, get: o }); + }, + o = 0; + o < t.fields.length; + o++ + ) + a(o); + this.obj = r; + } + var t, n, i; + return ( + (t = e), + (n = [ + { + key: "getFieldDisplayProcessor", + value: function (e) { + if (!this.dataFrame || !this.dataFrame.fields) return null; + var t = this.dataFrame.fields[e]; + return t && t.display ? t.display : null; + }, + }, + { + key: "get", + value: function (e) { + return (this.index = e), this.obj; + }, + }, + { + key: "toArray", + value: function () { + var e = this; + return new Array(this.data.length).fill(0).map(function (t, n) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(n), !0).forEach(function (t) { + a(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : r(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e.get(n)); + }); + }, + }, + { + key: "toJSON", + value: function () { + return this.toArray(); + }, + }, + { + key: "forEachRow", + value: function (e) { + for (var t = 0; t < this.data.length; t++) e(this.get(t)); + }, + }, + { + key: "map", + value: function (e) { + for (var t = [], n = 0; n < this.data.length; n++) + t.push(e(this.get(n), n)); + return t; + }, + }, + { + key: "dataFrame", + get: function () { + return this.data; + }, + }, + { + key: "length", + get: function () { + return this.data.length; + }, + }, + ]) && o(t.prototype, n), + i && o(t, i), + e + ); + })(); + }, + ir79: function (e, t, n) { + "use strict"; + var r = n("HJqT"), + a = n("0v62"), + o = n("Z0cm"), + i = n.n(o), + l = n("4qC0"), + s = n.n(l); + function c(e, t) { + return ( + t.type || + ("time" === t.name || "Time" === t.name + ? (t.type = r.a.time) + : (t.type = Object(a.d)(e))), + t.type === r.a.number + ? function (e) { + return parseFloat(e); + } + : t.type === r.a.boolean + ? function (e) { + return !("F" === e[0] || "f" === e[0] || "0" === e[0]); + } + : function (e) { + return e; + } + ); + } + var u = n("0uOV"), + f = n("F03Y"); + function d(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return p; + }), + n.d(t, "b", function () { + return h; + }); + var p = null, + h = (function () { + function e(t, n) { + var r = this; + if ( + ((function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.fields = []), + (this.values = {}), + (this.first = new u.a()), + (this.creator = + n || + function (e) { + return new u.a(e); + }), + t) + ) { + var a = t.name, + o = t.refId, + i = t.meta, + l = t.fields; + if ( + (a && (this.name = a), + o && (this.refId = o), + i && (this.meta = i), + l) + ) { + var s = !0, + c = !1, + f = void 0; + try { + for ( + var d, p = l[Symbol.iterator](); + !(s = (d = p.next()).done); + s = !0 + ) { + var h = d.value; + this.addField(h); + } + } catch (e) { + (c = !0), (f = e); + } finally { + try { + s || null == p.return || p.return(); + } finally { + if (c) throw f; + } + } + } + } + Object.defineProperty(this, "length", { + enumerable: !0, + get: function () { + return r.first.length; + }, + }); + } + var t, n, o; + return ( + (t = e), + (n = [ + { + key: "addFieldFor", + value: function (e, t) { + return this.addField({ name: t || "", type: Object(a.d)(e) }); + }, + }, + { + key: "addField", + value: function (e, t) { + var n = void 0; + e.values && + (n = i()(e.values) ? e.values : e.values.toArray()); + var o = e.type; + o || ("time" !== e.name && "Time" !== e.name) + ? (!o && n && n.length && (o = Object(a.d)(n[0])), + o || (o = r.a.other)) + : (o = r.a.time); + var l = e.name; + l || + (l = + o === r.a.time + ? this.values.Time + ? "Time ".concat(this.fields.length + 1) + : "Time" + : "Field ".concat(this.fields.length + 1)); + var s = { + name: l, + type: o, + config: e.config || {}, + values: this.creator(n), + labels: e.labels, + }; + if ( + (o === r.a.other && (o = Object(a.c)(s)) && (s.type = o), + this.fields.push(s), + (this.first = this.fields[0].values), + this.values[l] + ? console.warn( + "Duplicate field names found: ".concat( + l, + ", only the first will be accessible" + ) + ) + : (this.values[l] = s.values), + t) + ) + for (; s.values.length < t; ) s.values.add(p); + else this.validate(); + return s; + }, + }, + { + key: "validate", + value: function () { + var e = this.fields.reduce(function (e, t) { + return Math.max(e, t.values.length); + }, 0), + t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.fields[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) + for (var i = a.value; i.values.length !== e; ) + i.values.add(p); + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + }, + }, + { + key: "addMissingFieldsFor", + value: function (e) { + for (var t = 0, n = Object.keys(e); t < n.length; t++) { + var r = n[t]; + this.values[r] || + this.addField({ name: r, type: Object(a.d)(e[r]) }); + } + }, + }, + { + key: "reverse", + value: function () { + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.fields[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) + r.value.values.reverse(); + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + }, + }, + { + key: "appendRow", + value: function (e) { + for (var t = this.fields.length; t < e.length; t++) + this.addField({ + name: "Field ".concat(t + 1), + type: Object(a.d)(e[t]), + }); + if (this.length < 1) + for (var n = 0; n < this.fields.length; n++) { + var o = this.fields[n]; + (o.type && o.type !== r.a.other) || + (o.type = Object(a.d)(e[n])); + } + for (var i = 0; i < this.fields.length; i++) { + var l = this.fields[i], + u = e[i]; + l.type !== r.a.string && + s()(u) && + (l.parse || (l.parse = c(u, l)), (u = l.parse(u))), + l.values.add(u); + } + }, + }, + { + key: "add", + value: function (e, t) { + t && this.addMissingFieldsFor(e); + var n = e, + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, u = this.fields[Symbol.iterator](); + !(a = (l = u.next()).done); + a = !0 + ) { + var f = l.value, + d = n[f.name]; + f.type !== r.a.string && + s()(d) && + (f.parse || (f.parse = c(d, f)), (d = f.parse(d))), + void 0 === d && (d = p), + f.values.add(d); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == u.return || u.return(); + } finally { + if (o) throw i; + } + } + }, + }, + { + key: "set", + value: function (e, t, n) { + if (e > this.length) + throw new Error( + "Unable ot set value beyond current length" + ); + n && this.addMissingFieldsFor(t); + var r = t || {}, + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = this.fields[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + c.values.set(e, r[c.name]); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + }, + }, + { + key: "get", + value: function (e) { + var t = {}, + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = this.fields[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + t[l.name] = l.values.get(e); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + { + key: "toArray", + value: function () { + return Object(f.a)(this); + }, + }, + { + key: "toJSON", + value: function () { + return Object(a.k)(this); + }, + }, + { + key: "length", + get: function () { + return this.first.length; + }, + }, + ]) && d(t.prototype, n), + o && d(t, o), + e + ); + })(); + }, + iyz2: function (e, t) { + var n = + "public/app/features/dashboard/components/RowOptions/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-copy"></i>\n\t\t\t<span class=p-l-1>Row Options</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=ctrl.dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<form name=ctrl.saveForm ng-submit=ctrl.save() class="modal-content text-center" novalidate>\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Title</span>\n\t\t\t\t<input type=text class="gf-form-input max-width-13" ng-model=ctrl.row.title>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Repeat for</span>\n\t\t\t\t<dash-repeat-option panel=ctrl.row></dash-repeat-option>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=ctrl.update()>Update</button>\n\t\t\t\t<button type=button class="btn btn-inverse" ng-click=ctrl.dismiss()>Cancel</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + jGYO: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return s; + }), + n.d(t, "b", function () { + return c; + }), + n.d(t, "a", function () { + return u; + }); + var r = n("t8hP"), + a = n("y6L2"), + o = n("Vw/f"); + function i(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function l(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function l(e) { + i(o, r, a, l, s, "next", e); + } + function s(e) { + i(o, r, a, l, s, "throw", e); + } + l(void 0); + }); + }; + } + function s() { + return (function () { + var e = l( + regeneratorRuntime.mark(function e(t) { + var n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(r.getBackendSrv)().get("api/plugins", { + embedded: 0, + }) + ); + case 2: + (n = e.sent), t(Object(a.e)(n)); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })(); + } + function c() { + return (function () { + var e = l( + regeneratorRuntime.mark(function e(t, n) { + var o, i; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t(Object(a.c)()), + (o = n().dataSources.dataSource.type), + (e.next = 4), + Object(r.getBackendSrv)().get( + "api/plugins/".concat(o, "/dashboards") + ) + ); + case 4: + (i = e.sent), t(Object(a.d)(i)); + case 6: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + } + function u(e) { + return (function () { + var t = l( + regeneratorRuntime.mark(function t(n, r) { + var i; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ((i = r().plugins.panels[e])) { + t.next = 6; + break; + } + return (t.next = 4), Object(o.c)(e); + case 4: + (i = t.sent), r().plugins.panels[e] || n(Object(a.b)(i)); + case 6: + return t.abrupt("return", i); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + } + }, + jaLZ: function (e, t) { + var n = + "public/app/plugins/datasource/prometheus/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-10">Search expression</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.expr placeholder=ALERTS>\n\t</div>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-10">step</span>\n\t\t<input type=text class="gf-form-input max-width-6" ng-model=ctrl.annotation.step placeholder={{::ctrl.stepDefaultValuePlaceholder}}>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h5 class=section-heading>Field formats</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-5">Title</span>\n\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.titleFormat placeholder=alertname>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-5">Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.tagKeys placeholder=label1,label2>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-5">Text</span>\n\t\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.textFormat placeholder=instance>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h5 class=section-heading>Other options</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label="Series value as timestamp" label-class=width-14 checked=ctrl.annotation.useValueForTime tooltip="The unit of timestamp is milliseconds. If the unit of the series value is seconds, multiply its range vector by 1000.">\n\t\t\t</gf-form-switch>\n\t\t</div>\n\t</div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + jvip: function (e, t) { + var n = + "public/app/features/dashboard/components/DashboardSettings/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<aside class=dashboard-settings__aside>\n <a href={{::section.url}} class=dashboard-settings__nav-item ng-class="{active: ctrl.viewId === section.id}" ng-repeat="section in ctrl.sections" aria-label={{ctrl.selectors.sectionItems(section.title)}}>\n <i class={{::section.icon}}></i>\n {{::section.title}}\n </a>\n\n <div class=dashboard-settings__aside-actions>\n <div ng-show=ctrl.canSave>\n <save-dashboard-button getdashboard=ctrl.getDashboard aria-label="Dashboard settings aside actions Save button"/>\n </div>\n <div ng-show=ctrl.canSaveAs>\n <save-dashboard-as-button getdashboard=ctrl.getDashboard aria-label="Dashboard settings aside actions Save as button" variant="\'secondary\'" usenewforms=true />\n </div>\n </div>\n</aside>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'settings\'">\n <h3 class=dashboard-settings__header>\n General\n </h3>\n\n <div class=gf-form-group>\n <div class=gf-form>\n <label class="gf-form-label width-7">Name</label>\n <input type=text class="gf-form-input width-30" ng-model=ctrl.dashboard.title>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-7">Description</label>\n <input type=text class="gf-form-input width-30" ng-model=ctrl.dashboard.description>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-7">\n Tags\n <info-popover mode=right-normal>Press enter to add a tag</info-popover>\n </label>\n <bootstrap-tagsinput ng-model=ctrl.dashboard.tags tagclass="label label-tag" placeholder="add tags">\n </bootstrap-tagsinput>\n </div>\n <folder-picker initial-title=ctrl.dashboard.meta.folderTitle initial-folder-id=ctrl.dashboard.meta.folderId on-change=ctrl.onFolderChange enable-create-new=true is-valid-selection=true label-class=width-7 dashboard-id=ctrl.dashboard.id>\n </folder-picker>\n <gf-form-switch class=gf-form label=Editable tooltip="Uncheck, then save and reload to disable all dashboard editing" checked=ctrl.dashboard.editable label-class=width-7>\n </gf-form-switch>\n </div>\n\n <gf-time-picker-settings dashboard=ctrl.dashboard></gf-time-picker-settings>\n\n <h5 class=section-heading>Panel Options</h5>\n <div class=gf-form>\n <label class="gf-form-label width-11">\n Graph Tooltip\n <info-popover mode=right-normal>\n Cycle between options using Shortcut: CTRL+O or CMD+O\n </info-popover>\n </label>\n <div class=gf-form-select-wrapper>\n <select ng-model=ctrl.dashboard.graphTooltip class=gf-form-input ng-options="f.value as f.text for f in [{value: 0, text: \'Default\'}, {value: 1, text: \'Shared crosshair\'},{value: 2, text: \'Shared Tooltip\'}]"></select>\n </div>\n </div>\n <div class=gf-form-button-row>\n <button class="btn btn-danger" ng-click=ctrl.deleteDashboard() ng-show=ctrl.canDelete aria-label="Dashboard settings page delete dashboard button">\n Delete Dashboard\n </button>\n </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'annotations\'" ng-include="\'public/app/features/annotations/partials/editor.html\'">\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'templating\' && ctrl.useAngularTemplating" ng-include="\'public/app/features/templating/partials/editor.html\'">\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'templating\' && !ctrl.useAngularTemplating">\n <variable-editor-container/>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'links\'">\n <dash-links-editor dashboard=ctrl.dashboard></dash-links-editor>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'versions\'">\n <gf-dashboard-history dashboard=dashboard></gf-dashboard-history>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'dashboard_json\'">\n <h3 class=dashboard-settings__header>JSON Model</h3>\n <div class=dashboard-settings__subheader>\n The JSON Model below is data structure that defines the dashboard. Including settings, panel settings & layout,\n queries etc.\n </div>\n\n <div class=gf-form>\n <code-editor content=ctrl.json data-mode=json data-max-lines=30></code-editor>\n </div>\n\n <div class=gf-form-button-row>\n <button class="btn btn-primary" ng-click=ctrl.saveDashboardJson() ng-show=ctrl.canSave>\n Save Changes\n </button>\n </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'permissions\'">\n <dashboard-permissions ng-if="ctrl.dashboard && !ctrl.hasUnsavedFolderChange" dashboardid=ctrl.dashboard.id backendsrv=ctrl.backendSrv folder=ctrl.getFolder() />\n <div ng-if=ctrl.hasUnsavedFolderChange>\n <h5>You have changed folder, please save to view permissions.</h5>\n </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'404\'">\n <h3 class=dashboard-settings__header>Settings view not found</h3>\n\n <div>\n <h5>The settings page could not be found or you do not have permission to access it</h5>\n </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'make_editable\'">\n <h3 class=dashboard-settings__header>Make Editable</h3>\n\n <button class="btn btn-primary" ng-click=ctrl.makeEditable()>\n Make Editable\n </button>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + kDLi: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("aPt1"); + n.d(t, "ConfirmButton", function () { + return r.x; + }), + n.d(t, "DeleteButton", function () { + return r.J; + }), + n.d(t, "Tooltip", function () { + return r.Bc; + }), + n.d(t, "PopoverContent", function () { + return r.Ob; + }), + n.d(t, "PopoverController", function () { + return r.Pb; + }), + n.d(t, "Popover", function () { + return r.Nb; + }), + n.d(t, "Portal", function () { + return r.Qb; + }), + n.d(t, "CustomScrollbar", function () { + return r.E; + }), + n.d(t, "ClipboardButton", function () { + return r.u; + }), + n.d(t, "Select", function () { + return r.Yb; + }), + n.d(t, "AsyncSelect", function () { + return r.d; + }), + n.d(t, "IndicatorsContainer", function () { + return r.gb; + }), + n.d(t, "NoOptionsMessage", function () { + return r.Fb; + }), + n.d(t, "resetSelectStyles", function () { + return r.Oc; + }), + n.d(t, "ButtonSelect", function () { + return r.n; + }), + n.d(t, "ButtonCascader", function () { + return r.m; + }), + n.d(t, "Cascader", function () { + return r.q; + }), + n.d(t, "CascaderOption", function () { + return r.r; + }), + n.d(t, "FormLabel", function () { + return r.T; + }), + n.d(t, "FormField", function () { + return r.S; + }), + n.d(t, "SecretFormField", function () { + return r.Tb; + }), + n.d(t, "LoadingPlaceholder", function () { + return r.vb; + }), + n.d(t, "ColorPicker", function () { + return r.w; + }), + n.d(t, "SeriesColorPicker", function () { + return r.cc; + }), + n.d(t, "SeriesColorPickerPopover", function () { + return r.dc; + }), + n.d(t, "SeriesColorPickerPopoverWithTheme", function () { + return r.ec; + }), + n.d(t, "PanelOptionsGroup", function () { + return r.Kb; + }), + n.d(t, "PanelOptionsGrid", function () { + return r.Jb; + }), + n.d(t, "ValueMappingsEditor", function () { + return r.Fc; + }), + n.d(t, "Switch", function () { + return r.pc; + }), + n.d(t, "EmptySearchResult", function () { + return r.L; + }), + n.d(t, "PieChart", function () { + return r.Lb; + }), + n.d(t, "PieChartType", function () { + return r.Mb; + }), + n.d(t, "UnitPicker", function () { + return r.Ec; + }), + n.d(t, "StatsPicker", function () { + return r.lc; + }), + n.d(t, "Input", function () { + return r.hb; + }), + n.d(t, "InputStatus", function () { + return r.ib; + }), + n.d(t, "RefreshPicker", function () { + return r.Sb; + }), + n.d(t, "TimePicker", function () { + return r.yc; + }), + n.d(t, "TimeOfDayPicker", function () { + return r.xc; + }), + n.d(t, "List", function () { + return r.ub; + }), + n.d(t, "TagsInput", function () { + return r.vc; + }), + n.d(t, "ConfirmModal", function () { + return r.y; + }), + n.d(t, "QueryField", function () { + return r.Rb; + }), + n.d(t, "Modal", function () { + return r.yb; + }), + n.d(t, "ModalHeader", function () { + return r.zb; + }), + n.d(t, "ModalTabsHeader", function () { + return r.Cb; + }), + n.d(t, "ModalTabContent", function () { + return r.Bb; + }), + n.d(t, "ModalsProvider", function () { + return r.Eb; + }), + n.d(t, "ModalRoot", function () { + return r.Ab; + }), + n.d(t, "ModalsController", function () { + return r.Db; + }), + n.d(t, "SetInterval", function () { + return r.gc; + }), + n.d(t, "Table", function () { + return r.sc; + }), + n.d(t, "TableInputCSV", function () { + return r.tc; + }), + n.d(t, "TabsBar", function () { + return r.uc; + }), + n.d(t, "Tab", function () { + return r.qc; + }), + n.d(t, "TabContent", function () { + return r.rc; + }), + n.d(t, "BigValue", function () { + return r.g; + }), + n.d(t, "BigValueColorMode", function () { + return r.h; + }), + n.d(t, "BigValueSparkline", function () { + return r.k; + }), + n.d(t, "BigValueGraphMode", function () { + return r.i; + }), + n.d(t, "BigValueJustifyMode", function () { + return r.j; + }), + n.d(t, "Gauge", function () { + return r.W; + }), + n.d(t, "Graph", function () { + return r.X; + }), + n.d(t, "GraphLegend", function () { + return r.Z; + }), + n.d(t, "GraphWithLegend", function () { + return r.db; + }), + n.d(t, "GraphContextMenu", function () { + return r.Y; + }), + n.d(t, "BarGauge", function () { + return r.e; + }), + n.d(t, "BarGaugeDisplayMode", function () { + return r.f; + }), + n.d(t, "GraphTooltipOptions", function () { + return r.cb; + }), + n.d(t, "VizRepeater", function () { + return r.Ic; + }), + n.d(t, "LegendOptions", function () { + return r.pb; + }), + n.d(t, "LegendBasicOptions", function () { + return r.lb; + }), + n.d(t, "LegendRenderOptions", function () { + return r.rb; + }), + n.d(t, "LegendList", function () { + return r.ob; + }), + n.d(t, "LegendTable", function () { + return r.sb; + }), + n.d(t, "LegendItem", function () { + return r.nb; + }), + n.d(t, "LegendPlacement", function () { + return r.qb; + }), + n.d(t, "LegendDisplayMode", function () { + return r.mb; + }), + n.d(t, "Alert", function () { + return r.a; + }), + n.d(t, "AlertVariant", function () { + return r.b; + }), + n.d(t, "GraphSeriesToggler", function () { + return r.ab; + }), + n.d(t, "GraphSeriesTogglerAPI", function () { + return r.bb; + }), + n.d(t, "Collapse", function () { + return r.v; + }), + n.d(t, "ControlledCollapse", function () { + return r.D; + }), + n.d(t, "LogLabels", function () { + return r.wb; + }), + n.d(t, "LogRows", function () { + return r.xb; + }), + n.d(t, "getLogRowStyles", function () { + return r.Lc; + }), + n.d(t, "ToggleButtonGroup", function () { + return r.Ac; + }), + n.d(t, "ToggleButton", function () { + return r.zc; + }), + n.d(t, "FullWidthButtonContainer", function () { + return r.V; + }), + n.d(t, "ThresholdsEditor", function () { + return r.wc; + }), + n.d(t, "ClickOutsideWrapper", function () { + return r.t; + }), + n.d(t, "CallToActionCard", function () { + return r.p; + }), + n.d(t, "ContextMenu", function () { + return r.z; + }), + n.d(t, "ContextMenuItem", function () { + return r.B; + }), + n.d(t, "ContextMenuGroup", function () { + return r.A; + }), + n.d(t, "ContextMenuProps", function () { + return r.C; + }), + n.d(t, "DataLinksEditor", function () { + return r.H; + }), + n.d(t, "DataLinkInput", function () { + return r.F; + }), + n.d(t, "DataLinksContextMenu", function () { + return r.G; + }), + n.d(t, "SeriesIcon", function () { + return r.fc; + }), + n.d(t, "transformersUIRegistry", function () { + return r.Tc; + }), + n.d(t, "TransformationRow", function () { + return r.Cc; + }), + n.d(t, "TransformationsEditor", function () { + return r.Dc; + }), + n.d(t, "JSONFormatter", function () { + return r.jb; + }), + n.d(t, "JsonExplorer", function () { + return r.kb; + }), + n.d(t, "ErrorBoundary", function () { + return r.M; + }), + n.d(t, "ErrorBoundaryAlert", function () { + return r.N; + }), + n.d(t, "ErrorWithStack", function () { + return r.O; + }), + n.d(t, "AlphaNotice", function () { + return r.c; + }), + n.d(t, "DataSourceHttpSettings", function () { + return r.I; + }), + n.d(t, "Spinner", function () { + return r.kc; + }), + n.d(t, "FadeTransition", function () { + return r.P; + }), + n.d(t, "SlideOutTransition", function () { + return r.ic; + }), + n.d(t, "Segment", function () { + return r.Ub; + }), + n.d(t, "SegmentAsync", function () { + return r.Vb; + }), + n.d(t, "SegmentInput", function () { + return r.Wb; + }), + n.d(t, "SegmentSelect", function () { + return r.Xb; + }), + n.d(t, "Chart", function () { + return r.s; + }), + n.d(t, "Icon", function () { + return r.fb; + }), + n.d(t, "Drawer", function () { + return r.K; + }), + n.d(t, "Slider", function () { + return r.jc; + }), + n.d(t, "StringValueEditor", function () { + return r.oc; + }), + n.d(t, "StringOverrideEditor", function () { + return r.nc; + }), + n.d(t, "stringOverrideProcessor", function () { + return r.Sc; + }), + n.d(t, "StringFieldConfigSettings", function () { + return r.mc; + }), + n.d(t, "NumberValueEditor", function () { + return r.Ib; + }), + n.d(t, "NumberOverrideEditor", function () { + return r.Hb; + }), + n.d(t, "numberOverrideProcessor", function () { + return r.Nc; + }), + n.d(t, "NumberFieldConfigSettings", function () { + return r.Gb; + }), + n.d(t, "selectOverrideProcessor", function () { + return r.Pc; + }), + n.d(t, "SelectValueEditor", function () { + return r.bc; + }), + n.d(t, "SelectOverrideEditor", function () { + return r.ac; + }), + n.d(t, "SelectFieldConfigSettings", function () { + return r.Zb; + }), + n.d(t, "Forms", function () { + return r.U; + }), + n.d(t, "ButtonVariant", function () { + return r.o; + }), + n.d(t, "ValuePicker", function () { + return r.Gc; + }), + n.d(t, "fieldMatchersUI", function () { + return r.Kc; + }), + n.d(t, "getStandardFieldConfigs", function () { + return r.Mc; + }), + n.d(t, "HorizontalGroup", function () { + return r.eb; + }), + n.d(t, "VerticalGroup", function () { + return r.Hc; + }), + n.d(t, "Button", function () { + return r.l; + }), + n.d(t, "LinkButton", function () { + return r.tb; + }), + n.d(t, "FieldDisplayEditor", function () { + return r.Q; + }), + n.d(t, "FieldPropertiesEditor", function () { + return r.R; + }), + n.d(t, "SingleStatBaseOptions", function () { + return r.hc; + }), + n.d(t, "sharedSingleStatPanelChangedHandler", function () { + return r.Rc; + }), + n.d(t, "sharedSingleStatMigrationHandler", function () { + return r.Qc; + }), + n.d(t, "convertOldAngularValueMapping", function () { + return r.Jc; + }); + var a = n("Gj0f"); + for (var o in a) + [ + "ConfirmButton", + "DeleteButton", + "Tooltip", + "PopoverContent", + "PopoverController", + "Popover", + "Portal", + "CustomScrollbar", + "ClipboardButton", + "Select", + "AsyncSelect", + "IndicatorsContainer", + "NoOptionsMessage", + "resetSelectStyles", + "ButtonSelect", + "ButtonCascader", + "Cascader", + "CascaderOption", + "FormLabel", + "FormField", + "SecretFormField", + "LoadingPlaceholder", + "ColorPicker", + "SeriesColorPicker", + "SeriesColorPickerPopover", + "SeriesColorPickerPopoverWithTheme", + "PanelOptionsGroup", + "PanelOptionsGrid", + "ValueMappingsEditor", + "Switch", + "EmptySearchResult", + "PieChart", + "PieChartType", + "UnitPicker", + "StatsPicker", + "Input", + "InputStatus", + "RefreshPicker", + "TimePicker", + "TimeOfDayPicker", + "List", + "TagsInput", + "ConfirmModal", + "QueryField", + "Modal", + "ModalHeader", + "ModalTabsHeader", + "ModalTabContent", + "ModalsProvider", + "ModalRoot", + "ModalsController", + "SetInterval", + "Table", + "TableInputCSV", + "TabsBar", + "Tab", + "TabContent", + "BigValue", + "BigValueColorMode", + "BigValueSparkline", + "BigValueGraphMode", + "BigValueJustifyMode", + "Gauge", + "Graph", + "GraphLegend", + "GraphWithLegend", + "GraphContextMenu", + "BarGauge", + "BarGaugeDisplayMode", + "GraphTooltipOptions", + "VizRepeater", + "LegendOptions", + "LegendBasicOptions", + "LegendRenderOptions", + "LegendList", + "LegendTable", + "LegendItem", + "LegendPlacement", + "LegendDisplayMode", + "Alert", + "AlertVariant", + "GraphSeriesToggler", + "GraphSeriesTogglerAPI", + "Collapse", + "ControlledCollapse", + "LogLabels", + "LogRows", + "getLogRowStyles", + "ToggleButtonGroup", + "ToggleButton", + "FullWidthButtonContainer", + "ThresholdsEditor", + "ClickOutsideWrapper", + "CallToActionCard", + "ContextMenu", + "ContextMenuItem", + "ContextMenuGroup", + "ContextMenuProps", + "DataLinksEditor", + "DataLinkInput", + "DataLinksContextMenu", + "SeriesIcon", + "transformersUIRegistry", + "TransformationRow", + "TransformationsEditor", + "JSONFormatter", + "JsonExplorer", + "ErrorBoundary", + "ErrorBoundaryAlert", + "ErrorWithStack", + "AlphaNotice", + "DataSourceHttpSettings", + "Spinner", + "FadeTransition", + "SlideOutTransition", + "Segment", + "SegmentAsync", + "SegmentInput", + "SegmentSelect", + "Chart", + "Icon", + "Drawer", + "Slider", + "StringValueEditor", + "StringOverrideEditor", + "stringOverrideProcessor", + "StringFieldConfigSettings", + "NumberValueEditor", + "NumberOverrideEditor", + "numberOverrideProcessor", + "NumberFieldConfigSettings", + "selectOverrideProcessor", + "SelectValueEditor", + "SelectOverrideEditor", + "SelectFieldConfigSettings", + "Forms", + "ButtonVariant", + "ValuePicker", + "fieldMatchersUI", + "getStandardFieldConfigs", + "HorizontalGroup", + "VerticalGroup", + "Button", + "LinkButton", + "FieldDisplayEditor", + "FieldPropertiesEditor", + "SingleStatBaseOptions", + "sharedSingleStatPanelChangedHandler", + "sharedSingleStatMigrationHandler", + "convertOldAngularValueMapping", + "default", + ].indexOf(o) < 0 && + (function (e) { + n.d(t, e, function () { + return a[e]; + }); + })(o); + var i = n("aWP2"); + n.d(t, "ansicolor", function () { + return i.m; + }), + n.d(t, "DOMUtil", function () { + return i.c; + }), + n.d(t, "PALETTE_ROWS", function () { + return i.i; + }), + n.d(t, "PALETTE_COLUMNS", function () { + return i.h; + }), + n.d(t, "DEFAULT_ANNOTATION_COLOR", function () { + return i.b; + }), + n.d(t, "OK_COLOR", function () { + return i.g; + }), + n.d(t, "ALERTING_COLOR", function () { + return i.a; + }), + n.d(t, "NO_DATA_COLOR", function () { + return i.f; + }), + n.d(t, "PENDING_COLOR", function () { + return i.j; + }), + n.d(t, "REGION_FILL_ALPHA", function () { + return i.k; + }), + n.d(t, "colors", function () { + return i.o; + }), + n.d(t, "sortedColors", function () { + return i.w; + }), + n.d(t, "EventsWithValidation", function () { + return i.e; + }), + n.d(t, "validate", function () { + return i.x; + }), + n.d(t, "hasValidationEvent", function () { + return i.q; + }), + n.d(t, "regexValidation", function () { + return i.v; + }), + n.d(t, "SCHEMA", function () { + return i.l; + }), + n.d(t, "makeFragment", function () { + return i.s; + }), + n.d(t, "makeValue", function () { + return i.t; + }), + n.d(t, "DataLinkBuiltInVars", function () { + return i.d; + }), + n.d(t, "linkModelToContextMenuItems", function () { + return i.r; + }), + n.d(t, "getTagColorsFromName", function () { + return i.p; + }), + n.d(t, "measureText", function () { + return i.u; + }), + n.d(t, "calculateFontSize", function () { + return i.n; + }); + var l = n("MIBK"); + n.d(t, "stylesFactory", function () { + return l.g; + }), + n.d(t, "ThemeContext", function () { + return l.a; + }), + n.d(t, "withTheme", function () { + return l.i; + }), + n.d(t, "mockTheme", function () { + return l.c; + }), + n.d(t, "getTheme", function () { + return l.b; + }), + n.d(t, "selectThemeVariant", function () { + return l.e; + }), + n.d(t, "useTheme", function () { + return l.h; + }), + n.d(t, "mockThemeContext", function () { + return l.d; + }), + n.d(t, "styleMixins", function () { + return l.f; + }); + var s = n("CqUX"); + n.d(t, "BracesPlugin", function () { + return s.a; + }), + n.d(t, "ClearPlugin", function () { + return s.b; + }), + n.d(t, "ClipboardPlugin", function () { + return s.c; + }), + n.d(t, "IndentationPlugin", function () { + return s.d; + }), + n.d(t, "NewlinePlugin", function () { + return s.e; + }), + n.d(t, "RunnerPlugin", function () { + return s.f; + }), + n.d(t, "SelectionShortcutsPlugin", function () { + return s.g; + }), + n.d(t, "SlatePrism", function () { + return s.h; + }), + n.d(t, "SuggestionsPlugin", function () { + return s.i; + }); + }, + kHZm: function (e, t, n) { + "use strict"; + var r = n("F/XL"), + a = n("p0ib"), + o = n("gI3B"), + i = n("0/uQ"), + l = n("LvDl"), + s = n("67Y/"), + c = n("9Z1F"), + u = n("xMyE"), + f = n("2WpN"), + d = n("S1nX"), + p = n("aGNc"), + h = n("ny24"), + m = n("NXk7"), + g = n("Obii"), + b = n("p+Sq"), + v = n("t8hP"); + var y = n("exx3"); + function w(e) { + return (w = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function O(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function x(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? O(Object(n), !0).forEach(function (t) { + k(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : O(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function k(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function j(e, t) { + var n = { + panelData: { + state: g.LoadingState.Loading, + series: [], + request: t, + timeRange: t.range, + }, + packets: {}, + }; + if (!t.targets.length) + return ( + (t.endTime = Date.now()), + (n.panelData.state = g.LoadingState.Done), + Object(r.a)(n.panelData) + ); + var O, + k = (function (e, t) { + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, l = t.targets[Symbol.iterator](); + !(n = (o = l.next()).done); + n = !0 + ) { + if (o.value.datasource === y.a) return y.b.query(t); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw a; + } + } + var s = e.query(t); + return Object(i.a)(s); + })(e, t).pipe( + Object(s.a)(function (e) { + if (!Object(l.isArray)(e.data)) + throw new Error( + "Expected response data to be array, got ".concat( + w(e.data), + "." + ) + ); + return ( + (t.endTime = Date.now()), + (n = (function (e, t) { + var n = t.panelData.request, + r = x({}, t.packets); + r[e.key || "A"] = e; + var a = e.state || g.LoadingState.Done, + o = void 0, + i = x({}, n.range), + s = Object(l.isString)(i.raw.from) + ? { + from: g.dateMath.parse(i.raw.from, !1), + to: g.dateMath.parse(i.raw.to, !0), + raw: i.raw, + } + : i, + c = Object(l.flatten)( + Object(l.map)(r, function (e) { + return ( + e.error && + ((a = g.LoadingState.Error), (o = e.error)), + e.data + ); + }) + ); + return { + packets: r, + panelData: { + state: a, + series: c, + error: o, + request: n, + timeRange: s, + }, + }; + })(e, n)).panelData + ); + }), + Object(c.a)(function (e) { + return Object(r.a)( + x({}, n.panelData, { state: g.LoadingState.Error, error: S(e) }) + ); + }), + Object(u.a)( + (function (e) { + var t = !1; + return function (n) { + if ( + n.request && + !t && + (n.state === g.LoadingState.Done || + n.state === g.LoadingState.Error) + ) { + var r = { + datasourceName: e.name, + datasourceId: e.id, + panelId: n.request.panelId, + dashboardId: n.request.dashboardId, + dataSize: 0, + duration: n.request.endTime - n.request.startTime, + eventName: "data-request", + }, + a = Object(b.a)().getCurrent(); + a && + ((r.dashboardId = a.id), + (r.dashboardName = a.title), + (r.dashboardUid = a.uid), + (r.folderName = a.meta.folderTitle)), + n.series && + n.series.length > 0 && + (r.dataSize = n.series.length), + n.error && (r.error = n.error.message), + Object(v.reportMetaAnalytics)(r), + (t = !0); + } + }; + })(e) + ), + Object(f.a)( + ((O = t), + function () { + m.b.resolveCancelerIfExists(O.requestId); + }) + ), + Object(d.a)() + ); + return Object(a.a)( + Object(o.a)(200).pipe(Object(p.a)(n.panelData), Object(h.a)(k)), + k + ); + } + function S(e) { + var t = e || {}; + if (!t.message) { + if ("string" == typeof e || e instanceof String) + return { message: e }; + var n = "Query error"; + t.message + ? (n = t.message) + : t.data && t.data.message + ? (n = t.data.message) + : t.data && t.data.error + ? (n = t.data.error) + : t.status && + (n = "Query error: ".concat(t.status, " ").concat(t.statusText)), + (t.message = n); + } + return t; + } + function E(e) { + if (!Object(l.isArray)(e)) return []; + var t = [], + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = e[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var s = o.value, + c = Object(g.guessFieldTypes)(Object(g.toDataFrame)(s)), + u = !0, + f = !1, + d = void 0; + try { + for ( + var p, h = c.fields[Symbol.iterator](); + !(u = (p = h.next()).done); + u = !0 + ) { + p.value.calcs = null; + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == h.return || h.return(); + } finally { + if (f) throw d; + } + } + t.push(c); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + return t; + } + function C(e, t) { + var n = e.series; + if (e.state === g.LoadingState.Loading && 0 === n.length) + return t || (t = e), x({}, t, { state: g.LoadingState.Loading }); + var r = performance.now(); + return x({}, e, { + series: E(n), + timings: { dataProcessingTime: performance.now() - r }, + }); + } + n.d(t, "c", function () { + return j; + }), + n.d(t, "a", function () { + return E; + }), + n.d(t, "b", function () { + return C; + }); + }, + kX54: function (e, t) { + !(function (e) { + "use strict"; + e(function () { + var t; + e.support.transition = (t = (function () { + var e, + t = document.createElement("bootstrap"), + n = { + WebkitTransition: "webkitTransitionEnd", + MozTransition: "transitionend", + OTransition: "oTransitionEnd otransitionend", + transition: "transitionend", + }; + for (e in n) if (void 0 !== t.style[e]) return n[e]; + })()) && { end: t }; + }); + })(window.jQuery), + (function (e) { + "use strict"; + var t = "[data-toggle=dropdown]", + n = function (t) { + var n = e(t).on("click.dropdown.data-api", this.toggle); + e("html").on("click.dropdown.data-api", function () { + n.parent().removeClass("open"); + }); + }; + function r() { + e(".dropdown-backdrop").remove(), + e(t).each(function () { + a(e(this)).removeClass("open"); + }); + } + function a(t) { + var n, + r = t.attr("data-target"); + return ( + r || + (r = + (r = t.attr("href")) && + /#[A-Za-z]/.test(r) && + r.replace(/.*(?=#[^\s]*$)/, "")), + ((n = r && e(r)) && n.length) || (n = t.parent()), + n + ); + } + n.prototype = { + constructor: n, + toggle: function (t) { + var n, + o, + i = e(this); + if (!i.is(".disabled, :disabled")) + return ( + (o = (n = a(i)).hasClass("open")), + r(), + o || + ("ontouchstart" in document.documentElement && + e('<div class="dropdown-backdrop"/>') + .insertBefore(e(this)) + .on("click", r), + n.toggleClass("open")), + i.focus(), + !1 + ); + }, + keydown: function (n) { + var r, o, i, l, s; + if ( + /(38|40|27)/.test(n.keyCode) && + ((r = e(this)), + n.preventDefault(), + n.stopPropagation(), + !r.is(".disabled, :disabled")) + ) { + if ( + !(l = (i = a(r)).hasClass("open")) || + (l && 27 == n.keyCode) + ) + return 27 == n.which && i.find(t).focus(), r.click(); + (o = e("[role=menu] li:not(.divider):visible a", i)).length && + ((s = o.index(o.filter(":focus"))), + 38 == n.keyCode && s > 0 && s--, + 40 == n.keyCode && s < o.length - 1 && s++, + ~s || (s = 0), + o.eq(s).focus()); + } + }, + }; + var o = e.fn.dropdown; + (e.fn.dropdown = function (t) { + return this.each(function () { + var r = e(this), + a = r.data("dropdown"); + a || r.data("dropdown", (a = new n(this))), + "string" == typeof t && a[t].call(r); + }); + }), + (e.fn.dropdown.Constructor = n), + (e.fn.dropdown.noConflict = function () { + return (e.fn.dropdown = o), this; + }), + e(document) + .on("click.dropdown.data-api", r) + .on("click.dropdown.data-api", ".dropdown form", function (e) { + e.stopPropagation(); + }) + .on("click.dropdown.data-api", t, n.prototype.toggle) + .on( + "keydown.dropdown.data-api", + t + ", [role=menu]", + n.prototype.keydown + ); + })(window.jQuery), + (function (e) { + "use strict"; + var t = function (t, n) { + (this.options = n), + (this.$element = e(t).delegate( + '[data-dismiss="modal"]', + "click.dismiss.modal", + e.proxy(this.hide, this) + )), + this.options.remote && + this.$element.find(".modal-body").load(this.options.remote); + }; + t.prototype = { + constructor: t, + toggle: function () { + return this[this.isShown ? "hide" : "show"](); + }, + show: function () { + var t = this, + n = e.Event("show"); + this.$element.trigger(n), + this.isShown || + n.isDefaultPrevented() || + ((this.isShown = !0), + this.escape(), + this.backdrop(function () { + var n = e.support.transition && t.$element.hasClass("fade"); + t.$element.parent().length || + t.$element.appendTo(document.body), + t.$element.show(), + n && t.$element[0].offsetWidth, + t.$element.addClass("in").attr("aria-hidden", !1), + t.enforceFocus(), + n + ? t.$element.one(e.support.transition.end, function () { + t.$element.focus().trigger("shown"); + }) + : t.$element.focus().trigger("shown"); + })); + }, + hide: function (t) { + t && t.preventDefault(); + (t = e.Event("hide")), + this.$element.trigger(t), + this.isShown && + !t.isDefaultPrevented() && + ((this.isShown = !1), + this.escape(), + e(document).off("focusin.modal"), + this.$element.removeClass("in").attr("aria-hidden", !0), + e.support.transition && this.$element.hasClass("fade") + ? this.hideWithTransition() + : this.hideModal()); + }, + enforceFocus: function () { + var t = this; + e(document).on("focusin.modal", function (e) { + t.$element[0] === e.target || + t.$element.has(e.target).length || + t.$element.focus(); + }); + }, + escape: function () { + var e = this; + this.isShown && this.options.keyboard + ? this.$element.on("keyup.dismiss.modal", function (t) { + 27 == t.which && e.hide(); + }) + : this.isShown || this.$element.off("keyup.dismiss.modal"); + }, + hideWithTransition: function () { + var t = this, + n = setTimeout(function () { + t.$element.off(e.support.transition.end), t.hideModal(); + }, 500); + this.$element.one(e.support.transition.end, function () { + clearTimeout(n), t.hideModal(); + }); + }, + hideModal: function () { + var e = this; + this.$element.hide(), + this.backdrop(function () { + e.removeBackdrop(), e.$element.trigger("hidden"); + }); + }, + removeBackdrop: function () { + this.$backdrop && this.$backdrop.remove(), + (this.$backdrop = null); + }, + backdrop: function (t) { + var n = this.$element.hasClass("fade") ? "fade" : ""; + if (this.isShown && this.options.backdrop) { + var r = e.support.transition && n; + if ( + ((this.$backdrop = e( + '<div class="modal-backdrop ' + n + '" />' + ).appendTo(document.body)), + this.$backdrop.click( + "static" == this.options.backdrop + ? e.proxy(this.$element[0].focus, this.$element[0]) + : e.proxy(this.hide, this) + ), + r && this.$backdrop[0].offsetWidth, + this.$backdrop.addClass("in"), + !t) + ) + return; + r ? this.$backdrop.one(e.support.transition.end, t) : t(); + } else + !this.isShown && this.$backdrop + ? (this.$backdrop.removeClass("in"), + e.support.transition && this.$element.hasClass("fade") + ? this.$backdrop.one(e.support.transition.end, t) + : t()) + : t && t(); + }, + }; + var n = e.fn.modal; + (e.fn.modal = function (n) { + return this.each(function () { + var r = e(this), + a = r.data("modal"), + o = e.extend( + {}, + e.fn.modal.defaults, + r.data(), + "object" == typeof n && n + ); + a || r.data("modal", (a = new t(this, o))), + "string" == typeof n ? a[n]() : o.show && a.show(); + }); + }), + (e.fn.modal.defaults = { backdrop: !0, keyboard: !0, show: !0 }), + (e.fn.modal.Constructor = t), + (e.fn.modal.noConflict = function () { + return (e.fn.modal = n), this; + }), + e(document).on( + "click.modal.data-api", + '[data-toggle="modal"]', + function (t) { + var n = e(this), + r = n.attr("href"), + a = e( + n.attr("data-target") || + (r && r.replace(/.*(?=#[^\s]+$)/, "")) + ), + o = a.data("modal") + ? "toggle" + : e.extend( + { remote: !/#/.test(r) && r }, + a.data(), + n.data() + ); + t.preventDefault(), + a.modal(o).one("hide", function () { + n.focus(); + }); + } + ); + })(window.jQuery), + (function (e) { + "use strict"; + var t = function (e, t) { + this.init("tooltip", e, t); + }; + t.prototype = { + constructor: t, + init: function (t, n, r) { + var a, o, i, l, s; + for ( + this.type = t, + this.$element = e(n), + this.options = this.getOptions(r), + this.enabled = !0, + s = (i = this.options.trigger.split(" ")).length; + s--; + + ) + "click" == (l = i[s]) + ? this.$element.on( + "click." + this.type, + this.options.selector, + e.proxy(this.toggle, this) + ) + : "manual" != l && + ((a = "hover" == l ? "mouseenter" : "focus"), + (o = "hover" == l ? "mouseleave" : "blur"), + this.$element.on( + a + "." + this.type, + this.options.selector, + e.proxy(this.enter, this) + ), + this.$element.on( + o + "." + this.type, + this.options.selector, + e.proxy(this.leave, this) + )); + this.options.selector + ? (this._options = e.extend({}, this.options, { + trigger: "manual", + selector: "", + })) + : this.fixTitle(); + }, + getOptions: function (t) { + return ( + (t = e.extend( + {}, + e.fn[this.type].defaults, + this.$element.data(), + t + )).delay && + "number" == typeof t.delay && + (t.delay = { show: t.delay, hide: t.delay }), + t + ); + }, + enter: function (t) { + var n, + r = e.fn[this.type].defaults, + a = {}; + if ( + (this._options && + e.each( + this._options, + function (e, t) { + r[e] != t && (a[e] = t); + }, + this + ), + !(n = e(t.currentTarget)[this.type](a).data(this.type)).options + .delay || !n.options.delay.show) + ) + return n.show(); + clearTimeout(this.timeout), + (n.hoverState = "in"), + (this.timeout = setTimeout(function () { + "in" == n.hoverState && n.show(); + }, n.options.delay.show)); + }, + leave: function (t) { + var n = e(t.currentTarget) + [this.type](this._options) + .data(this.type); + if ( + (this.timeout && clearTimeout(this.timeout), + !n.options.delay || !n.options.delay.hide) + ) + return n.hide(); + (n.hoverState = "out"), + (this.timeout = setTimeout(function () { + "out" == n.hoverState && n.hide(); + }, n.options.delay.hide)); + }, + show: function () { + var t, + n, + r, + a, + o, + i, + l = e.Event("show"); + if (this.hasContent() && this.enabled) { + if ((this.$element.trigger(l), l.isDefaultPrevented())) return; + switch ( + ((t = this.tip()), + this.setContent(), + this.options.animation && t.addClass("fade"), + (o = + "function" == typeof this.options.placement + ? this.options.placement.call( + this, + t[0], + this.$element[0] + ) + : this.options.placement), + t.detach().css({ top: 0, left: 0, display: "block" }), + this.options.container + ? t.appendTo(this.options.container) + : t.insertAfter(this.$element), + (n = this.getPosition()), + (r = t[0].offsetWidth), + (a = t[0].offsetHeight), + o) + ) { + case "bottom": + i = { + top: n.top + n.height, + left: n.left + n.width / 2 - r / 2, + }; + break; + case "top": + i = { top: n.top - a, left: n.left + n.width / 2 - r / 2 }; + break; + case "left": + i = { top: n.top + n.height / 2 - a / 2, left: n.left - r }; + break; + case "right": + i = { + top: n.top + n.height / 2 - a / 2, + left: n.left + n.width, + }; + break; + case "topLeft": + i = { + top: n.top - a, + left: n.left + n.width / 2 - 0.1 * r, + }; + break; + case "topRight": + i = { + top: n.top - a, + left: n.left + n.width / 2 - 0.9 * r, + }; + break; + case "rightTop": + i = { + top: n.top + n.height / 2 - 0.1 * a, + left: n.left + n.width, + }; + break; + case "rightBottom": + i = { + top: n.top + n.height / 2 - 0.9 * a, + left: n.left + n.width, + }; + break; + case "bottomLeft": + i = { + top: n.top + n.height, + left: n.left + n.width / 2 - 0.1 * r, + }; + break; + case "bottomRight": + i = { + top: n.top + n.height, + left: n.left + n.width / 2 - 0.9 * r, + }; + break; + case "leftTop": + i = { + top: n.top + n.height / 2 - 0.1 * a, + left: n.left - r, + }; + break; + case "leftBottom": + i = { + top: n.top + n.height / 2 - 0.9 * a, + left: n.left - r, + }; + } + this.applyPlacement(i, o), this.$element.trigger("shown"); + } + }, + applyPlacement: function (e, t) { + var n, + r, + a, + o, + i = this.tip(), + l = i[0].offsetWidth, + s = i[0].offsetHeight; + i.offset(e).addClass(t).addClass("in"), + (n = i[0].offsetWidth), + (r = i[0].offsetHeight), + "top" == t && r != s && ((e.top = e.top + s - r), (o = !0)), + "bottom" == t || "top" == t + ? ((a = 0), + e.left < 0 && + ((a = -2 * e.left), + (e.left = 0), + i.offset(e), + (n = i[0].offsetWidth), + (r = i[0].offsetHeight)), + this.replaceArrow(a - l + n, n, "left")) + : this.replaceArrow(r - s, r, "top"), + o && i.offset(e); + }, + replaceArrow: function (e, t, n) { + this.arrow().css(n, e ? 50 * (1 - e / t) + "%" : ""); + }, + setContent: function () { + var e = this.tip(), + t = this.getTitle(); + e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t), + e.removeClass("fade in top bottom left right"); + }, + hide: function () { + var t, + n = this.tip(), + r = e.Event("hide"); + if ((this.$element.trigger(r), !r.isDefaultPrevented())) + return ( + n.removeClass("in"), + e.support.transition && this.$tip.hasClass("fade") + ? ((t = setTimeout(function () { + n.off(e.support.transition.end).detach(); + }, 500)), + n.one(e.support.transition.end, function () { + clearTimeout(t), n.detach(); + })) + : n.detach(), + this.$element.trigger("hidden"), + this + ); + }, + fixTitle: function () { + var e = this.$element; + (e.attr("title") || + "string" != typeof e.attr("data-original-title")) && + e + .attr("data-original-title", e.attr("title") || "") + .attr("title", ""); + }, + hasContent: function () { + return this.getTitle(); + }, + getPosition: function () { + var t = this.$element[0]; + return e.extend( + {}, + "function" == typeof t.getBoundingClientRect + ? t.getBoundingClientRect() + : { width: t.offsetWidth, height: t.offsetHeight }, + this.$element.offset() + ); + }, + getTitle: function () { + var e = this.$element, + t = this.options; + return ( + e.attr("data-original-title") || + ("function" == typeof t.title ? t.title.call(e[0]) : t.title) + ); + }, + tip: function () { + return (this.$tip = this.$tip || e(this.options.template)); + }, + arrow: function () { + return (this.$arrow = + this.$arrow || this.tip().find(".tooltip-arrow")); + }, + validate: function () { + this.$element[0].parentNode || + (this.hide(), (this.$element = null), (this.options = null)); + }, + enable: function () { + this.enabled = !0; + }, + disable: function () { + this.enabled = !1; + }, + toggleEnabled: function () { + this.enabled = !this.enabled; + }, + toggle: function (t) { + var n = t + ? e(t.currentTarget)[this.type](this._options).data(this.type) + : this; + n.tip().hasClass("in") ? n.hide() : n.show(); + }, + destroy: function () { + this.hide() + .$element.off("." + this.type) + .removeData(this.type); + }, + }; + var n = e.fn.tooltip; + (e.fn.tooltip = function (n) { + return this.each(function () { + var r = e(this), + a = r.data("tooltip"), + o = "object" == typeof n && n; + a || r.data("tooltip", (a = new t(this, o))), + "string" == typeof n && a[n](); + }); + }), + (e.fn.tooltip.Constructor = t), + (e.fn.tooltip.defaults = { + animation: !0, + placement: "top", + selector: !1, + template: + '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', + trigger: "hover focus", + title: "", + delay: 0, + html: !1, + container: !1, + }), + (e.fn.tooltip.noConflict = function () { + return (e.fn.tooltip = n), this; + }); + })(window.jQuery), + (function (e) { + "use strict"; + var t = function (t) { + this.element = e(t); + }; + t.prototype = { + constructor: t, + show: function () { + var t, + n, + r, + a = this.element, + o = a.closest("ul:not(.dropdown-menu)"), + i = a.attr("data-target"); + i || + (i = (i = a.attr("href")) && i.replace(/.*(?=#[^\s]*$)/, "")), + a.parent("li").hasClass("active") || + ((t = o.find(".active:last a")[0]), + (r = e.Event("show", { relatedTarget: t })), + a.trigger(r), + r.isDefaultPrevented() || + ((n = e(i)), + this.activate(a.parent("li"), o), + this.activate(n, n.parent(), function () { + a.trigger({ type: "shown", relatedTarget: t }); + }))); + }, + activate: function (t, n, r) { + var a = n.find("> .active"), + o = r && e.support.transition && a.hasClass("fade"); + function i() { + a + .removeClass("active") + .find("> .dropdown-menu > .active") + .removeClass("active"), + t.addClass("active"), + o + ? (t[0].offsetWidth, t.addClass("in")) + : t.removeClass("fade"), + t.parent(".dropdown-menu") && + t.closest("li.dropdown").addClass("active"), + r && r(); + } + o ? a.one(e.support.transition.end, i) : i(), a.removeClass("in"); + }, + }; + var n = e.fn.tab; + (e.fn.tab = function (n) { + return this.each(function () { + var r = e(this), + a = r.data("tab"); + a || r.data("tab", (a = new t(this))), + "string" == typeof n && a[n](); + }); + }), + (e.fn.tab.Constructor = t), + (e.fn.tab.noConflict = function () { + return (e.fn.tab = n), this; + }), + e(document).on( + "click.tab.data-api", + '[data-toggle="tab"], [data-toggle="pill"]', + function (t) { + t.preventDefault(), e(this).tab("show"); + } + ); + })(window.jQuery), + (function (e) { + "use strict"; + var t = function (t, n) { + (this.$element = e(t)), + (this.options = e.extend({}, e.fn.typeahead.defaults, n)), + (this.matcher = this.options.matcher || this.matcher), + (this.sorter = this.options.sorter || this.sorter), + (this.highlighter = this.options.highlighter || this.highlighter), + (this.updater = this.options.updater || this.updater), + (this.source = this.options.source), + (this.$menu = e(this.options.menu)), + (this.shown = !1), + this.listen(); + }; + t.prototype = { + constructor: t, + select: function () { + var e = + this.$menu.find(".active").attr("data-value") || + this.$element.val(); + return this.$element.val(this.updater(e)).change(), this.hide(); + }, + updater: function (e) { + return e; + }, + show: function () { + var t = e.extend({}, this.$element.position(), { + height: this.$element[0].offsetHeight, + }); + return ( + this.$menu + .insertAfter(this.$element) + .css({ top: t.top + t.height, left: t.left }) + .show(), + (this.shown = !0), + this + ); + }, + hide: function () { + return this.$menu.hide(), (this.shown = !1), this; + }, + lookup: function (t) { + var n; + return ( + (this.query = this.$element.val()), + !this.query || this.query.length < this.options.minLength + ? this.shown + ? this.hide() + : this + : (n = e.isFunction(this.source) + ? this.source(this.query, e.proxy(this.process, this)) + : this.source) + ? this.process(n) + : this + ); + }, + process: function (t) { + var n = this; + return ( + (t = e.grep(t, function (e) { + return n.matcher(e); + })), + (t = this.sorter(t)).length + ? this.render(t.slice(0, this.options.items)).show() + : this.shown + ? this.hide() + : this + ); + }, + matcher: function (e) { + return ~e.toLowerCase().indexOf(this.query.toLowerCase()); + }, + sorter: function (e) { + for (var t, n = [], r = [], a = []; (t = e.shift()); ) + t.toLowerCase().indexOf(this.query.toLowerCase()) + ? ~t.indexOf(this.query) + ? r.push(t) + : a.push(t) + : n.push(t); + return n.concat(r, a); + }, + highlighter: function (e) { + var t = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); + return t + ? e.replace(new RegExp("(" + t + ")", "ig"), function (e, t) { + return "<strong>" + t + "</strong>"; + }) + : e; + }, + render: function (t) { + var n = this; + return ( + (t = e(t).map(function (t, r) { + return ( + (t = e(n.options.item).attr("data-value", r)) + .find("a") + .html(n.highlighter(r)), + t[0] + ); + })), + this.$menu.html(t), + this + ); + }, + next: function (t) { + var n = this.$menu.find(".active").removeClass("active").next(); + n.length || (n = e(this.$menu.find("li")[0])), + n.addClass("active"); + }, + prev: function (e) { + var t = this.$menu.find(".active").removeClass("active").prev(); + t.length || (t = this.$menu.find("li").last()), + t.addClass("active"); + }, + listen: function () { + this.$element + .on("focus", e.proxy(this.focus, this)) + .on("blur", e.proxy(this.blur, this)) + .on("keypress", e.proxy(this.keypress, this)) + .on("keyup", e.proxy(this.keyup, this)), + this.eventSupported("keydown") && + this.$element.on("keydown", e.proxy(this.keydown, this)), + this.$menu + .on("click", e.proxy(this.click, this)) + .on("mouseenter", "li", e.proxy(this.mouseenter, this)) + .on("mouseleave", "li", e.proxy(this.mouseleave, this)); + }, + destroy: function () { + this.$element.off().removeData("typeahead"), this.$menu.off(); + }, + eventSupported: function (e) { + var t = e in this.$element; + return ( + t || + (this.$element.setAttribute(e, "return;"), + (t = "function" == typeof this.$element[e])), + t + ); + }, + move: function (e) { + if (this.shown && (!e.shiftKey || 40 !== e.keyCode)) { + switch (e.keyCode) { + case 9: + case 13: + case 27: + e.preventDefault(); + break; + case 38: + e.preventDefault(), this.prev(); + break; + case 40: + e.preventDefault(), this.next(); + } + e.stopPropagation(); + } + }, + keydown: function (t) { + (this.suppressKeyPressRepeat = ~e.inArray(t.keyCode, [ + 40, + 38, + 9, + 13, + 27, + 57, + ])), + this.move(t); + }, + keypress: function (e) { + this.suppressKeyPressRepeat || this.move(e); + }, + keyup: function (e) { + switch (e.keyCode) { + case 40: + case 38: + case 16: + case 17: + case 18: + break; + case 9: + case 13: + if (!this.shown) return; + this.select(); + break; + case 27: + if (!this.shown) return; + this.hide(); + break; + default: + this.lookup(); + } + 13 === e.keyCode && + void 0 === this.$menu.find(".active").attr("data-value") + ? this.$element.submit() + : (e.stopPropagation(), e.preventDefault()); + }, + focus: function (e) { + this.focused = !0; + }, + blur: function (e) { + (this.focused = !1), + !this.mousedover && this.shown && this.hide(); + }, + click: function (e) { + e.stopPropagation(), + e.preventDefault(), + this.select(), + this.$element.focus(); + }, + mouseenter: function (t) { + (this.mousedover = !0), + this.$menu.find(".active").removeClass("active"), + e(t.currentTarget).addClass("active"); + }, + mouseleave: function (e) { + (this.mousedover = !1), + !this.focused && this.shown && this.hide(); + }, + }; + var n = e.fn.typeahead; + (e.fn.typeahead = function (n) { + return this.each(function () { + var r = e(this), + a = r.data("typeahead"), + o = "object" == typeof n && n; + a || r.data("typeahead", (a = new t(this, o))), + "string" == typeof n && a[n](); + }); + }), + (e.fn.typeahead.defaults = { + source: [], + items: 8, + menu: '<ul class="typeahead dropdown-menu"></ul>', + item: '<li><a href="#"></a></li>', + minLength: 1, + }), + (e.fn.typeahead.Constructor = t), + (e.fn.typeahead.noConflict = function () { + return (e.fn.typeahead = n), this; + }), + e(document).on( + "focus.typeahead.data-api", + '[data-provide="typeahead"]', + function (t) { + var n = e(this); + n.data("typeahead") || n.typeahead(n.data()); + } + ); + })(window.jQuery), + (function (e) { + "use strict"; + var t = function (t, n) { + (this.options = e.extend({}, e.fn.affix.defaults, n)), + (this.$window = e(window) + .on("scroll.affix.data-api", e.proxy(this.checkPosition, this)) + .on( + "click.affix.data-api", + e.proxy(function () { + setTimeout(e.proxy(this.checkPosition, this), 1); + }, this) + )), + (this.$element = e(t)), + this.checkPosition(); + }; + t.prototype.checkPosition = function () { + if (this.$element.is(":visible")) { + var t, + n = e(document).height(), + r = this.$window.scrollTop(), + a = this.$element.offset(), + o = this.options.offset, + i = o.bottom, + l = o.top; + "object" != typeof o && (i = l = o), + "function" == typeof l && (l = o.top()), + "function" == typeof i && (i = o.bottom()), + (t = + !(null != this.unpin && r + this.unpin <= a.top) && + (null != i && a.top + this.$element.height() >= n - i + ? "bottom" + : null != l && r <= l && "top")), + this.affixed !== t && + ((this.affixed = t), + (this.unpin = "bottom" == t ? a.top - r : null), + this.$element + .removeClass("affix affix-top affix-bottom") + .addClass("affix" + (t ? "-" + t : ""))); + } + }; + var n = e.fn.affix; + (e.fn.affix = function (n) { + return this.each(function () { + var r = e(this), + a = r.data("affix"), + o = "object" == typeof n && n; + a || r.data("affix", (a = new t(this, o))), + "string" == typeof n && a[n](); + }); + }), + (e.fn.affix.Constructor = t), + (e.fn.affix.defaults = { offset: 0 }), + (e.fn.affix.noConflict = function () { + return (e.fn.affix = n), this; + }), + e(window).on("load", function () { + e('[data-spy="affix"]').each(function () { + var t = e(this), + n = t.data(); + (n.offset = n.offset || {}), + n.offsetBottom && (n.offset.bottom = n.offsetBottom), + n.offsetTop && (n.offset.top = n.offsetTop), + t.affix(n); + }); + }); + })(window.jQuery); + }, + kYRH: function (e, t) { + !(function (e) { + "use strict"; + e.plot.plugins.push({ + init: function (t) { + t.hooks.drawSeries.push(function (t, n, r) { + var a, o, i, l, s, c, u; + function f(e, t) { + n.beginPath(), + n.moveTo(r.xaxis.p2c(e) + c.left, r.yaxis.p2c(t) + c.top); + } + function d(e, t) { + console.assert( + t > e, + "expects the end index to be greater than the start index" + ); + var n, + r, + a = 0 === e || null === i[e - 1] || null === s[e - 1], + c = !1; + for (n = e; n < t; n++) + if (null === i[n * o + 1] || null === s[n * o + 1]) + (c = !1), (a = !0); + else if (i[n * o + 1] === s[n * l + 1]) (c = !0), (a = !1); + else { + if (i[n * o + 1] > s[n * l + 1]) + return ( + a + ? f(i[n * o], i[n * o + 1]) + : c + ? f(i[(n - 1) * o], i[(n - 1) * o + 1]) + : f((r = p(n))[0], r[1]), + void m(n, t) + ); + (a = !1), (c = !1); + } + } + function p(e) { + var t, n, r, a, c, u, f, d, p, h, m, g, b, v, y, w; + for ( + console.assert( + e > 0, + "expects the second point in the series line segment" + ), + t = 1; + t < s.length / l; + t++ + ) + if ( + ((r = i[(e - 1) * o]), + (a = i[(e - 1) * o + 1]), + (c = i[e * o]), + (u = i[e * o + 1]), + (f = s[(t - 1) * l]), + (d = s[(t - 1) * l + 1]), + (p = s[t * l]), + (h = s[t * l + 1]), + (m = void 0), + (g = void 0), + (b = void 0), + (v = void 0), + (y = void 0), + (w = void 0), + (w = + ((b = p - f) * (a - d) - (v = h - d) * (r - f)) / + (-b * (g = u - a) + (m = c - r) * v)), + null !== + (n = + (y = (-g * (r - f) + m * (a - d)) / (-b * g + m * v)) >= + 0 && + y <= 1 && + w >= 0 && + w <= 1 + ? [r + w * m, a + w * g] + : null)) + ) + return n; + console.error( + "intersectionPoint() should only be called when an intersection happens" + ); + } + function h(e, t) { + var r; + for ( + console.assert( + e >= t, + "the start should be the rightmost point, and the end should be the leftmost (excluding the equal or intersecting point)" + ), + r = e; + r >= t; + r-- + ) + n.lineTo( + a.xaxis.p2c(s[r * l]) + c.left, + a.yaxis.p2c(s[r * l + 1]) + c.top + ); + n.closePath(), n.fill(); + } + function m(e, t) { + var a, u; + for ( + console.assert( + e <= t, + "the start should be the rightmost point, and the end should be the leftmost (excluding the equal or intersecting point)" + ), + a = e; + a < t; + a++ + ) { + if (null === i[a * o + 1] && a > e) + return h(a - 1, e), void d(a, t); + if (i[a * o + 1] === s[a * l + 1]) + return h(a, e), void d(a, t); + if (i[a * o + 1] < s[a * l + 1]) + return ( + (u = p(a)), + n.lineTo( + r.xaxis.p2c(u[0]) + c.left, + r.yaxis.p2c(u[1]) + c.top + ), + h(a, e), + void d(a, t) + ); + n.lineTo( + r.xaxis.p2c(i[a * o]) + c.left, + r.yaxis.p2c(i[a * o + 1]) + c.top + ); + } + h(t, e); + } + null !== r.fillBelowTo && + (a = (function (e, t) { + var n; + for (n = 0; n < t.length; ++n) + if (t[n].id === e.fillBelowTo) return t[n]; + return null; + })(r, t.getData())) && + ((o = r.datapoints.pointsize), + (i = r.datapoints.points), + (l = a.datapoints.pointsize), + (s = a.datapoints.points), + (c = t.getPlotOffset()), + (function () { + if (i.length / o != s.length / l) + return ( + console.error( + "Refusing to graph inconsistent number of points" + ), + !1 + ); + var e; + for (e = 0; e < i.length / o; e++) + if ( + null !== i[e * o] && + null !== s[e * l] && + i[e * o] !== s[e * l] + ) + return ( + console.error( + "Refusing to graph points without matching value" + ), + !1 + ); + return !0; + })() && + (((u = e.color.parse(r.color)).a = 0.4), + u.normalize(), + (n.fillStyle = u.toString()), + d(0, i.length / o))); + }); + }, + options: { series: { fillBelowTo: null } }, + name: "fillbelow", + version: "0.1.0", + }); + })(jQuery); + }, + krwA: function (e, t) { + var n = "public/app/features/playlist/partials/playlist.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-form=ctrl.playlistEditForm>\n\n\t<h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Playlist</h3>\n\t<h3 class=page-sub-heading ng-show=ctrl.isNew>New Playlist</h3>\n\n\t<p class=playlist-description>A playlist rotates through a pre-selected list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.</p>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Name</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.name class="gf-form-input max-width-21">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Interval</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.interval placeholder=5m class="gf-form-input max-width-21">\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Dashboards</h3>\n\n\t\t<table class="filter-table playlist-available-list">\n\t\t\t<tr ng-repeat="playlistItem in ctrl.playlistItems">\n\t\t\t\t<td ng-if="playlistItem.type === \'dashboard_by_id\'">\n\t\t\t\t\t<i class="gicon gicon-dashboard"></i> {{playlistItem.title}}\n\t\t\t\t</td>\n\t\t\t\t<td ng-if="playlistItem.type === \'dashboard_by_tag\'">\n\t\t\t\t\t<a class="search-result-tag label label-tag" tag-color-from-name=playlistItem.title>\n\t\t\t\t\t\t<i class="fa fa-tag"></i>\n\t\t\t\t\t\t<span>{{playlistItem.title}}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\n\t\t\t\t<td class=selected-playlistitem-settings>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-hide=$first ng-click=ctrl.movePlaylistItemUp(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-arrow-up"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-hide=$last ng-click=ctrl.movePlaylistItemDown(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-arrow-down"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-click=ctrl.removePlaylistItem(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr ng-if="ctrl.playlistItems.length === 0">\n\t\t\t\t<td><em>Playlist is empty, add dashboards below.</em></td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Add dashboards</h3>\n\t\t<playlist-search class=playlist-search-container search-started=ctrl.searchStarted(promise)></playlist-search>\n\n\t\t<div ng-if="ctrl.filteredDashboards.length > 0">\n\t\t\t<table class="filter-table playlist-available-list">\n\t\t\t\t<tr ng-repeat="playlistItem in ctrl.filteredDashboards">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<i class="gicon gicon-dashboard"></i>\n\t\t\t\t\t\t {{playlistItem.title}}\n\t\t\t\t\t\t<i class="fa fa-star" ng-show=playlistItem.isStarred></i>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class="btn btn-inverse btn-small pull-right" ng-click=ctrl.addPlaylistItem(playlistItem)>\n\t\t\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t\t<div class=playlist-search-results-container ng-if="ctrl.filteredTags.length > 0;">\n\t\t\t<table class="filter-table playlist-available-list">\n\t\t\t\t<tr ng-repeat="tag in ctrl.filteredTags">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<a class="search-result-tag label label-tag" tag-color-from-name=tag.term>\n\t\t\t\t\t\t\t<i class="fa fa-tag"></i>\n\t\t\t\t\t\t\t<span>{{tag.term}} ({{tag.count}})</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class="btn btn-inverse btn-small pull-right" ng-click=ctrl.addTagPlaylistItem(tag)>\n\t\t\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\n\t<div class=clearfix></div>\n\n\t<div class=gf-form-button-row>\n\t\t<a class="btn btn-primary" ng-show=ctrl.isNew ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Create</a>\n\t\t<a class="btn btn-primary" ng-show=!ctrl.isNew ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Save</a>\n\t\t<a class=btn-text ng-click=ctrl.backToList()>Cancel</a>\n\t</div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + lJbD: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }); + var r = n("txxJ"), + a = n("ZFWI"), + o = n("LvDl"), + i = n.n(o); + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var s = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.navItems = a.b.bootData.navTree); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getCfgNode", + value: function () { + return i.a.find(this.navItems, { id: "cfg" }); + }, + }, + { + key: "getNav", + value: function () { + for ( + var e = this.navItems, + t = { breadcrumbs: [] }, + n = arguments.length, + r = new Array(n), + a = 0; + a < n; + a++ + ) + r[a] = arguments[a]; + for (var o = 0, l = r; o < l.length; o++) { + var s = l[o]; + if (i.a.isNumber(s)) { + t.main = t.breadcrumbs[s]; + break; + } + var c = i.a.find(e, { id: s }); + t.breadcrumbs.push(c), + (t.node = c), + (t.main = c), + (e = c.children); + } + if (t.main.children) { + var u = !0, + f = !1, + d = void 0; + try { + for ( + var p, h = t.main.children[Symbol.iterator](); + !(u = (p = h.next()).done); + u = !0 + ) { + var m = p.value; + (m.active = !1), m.url === t.node.url && (m.active = !0); + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == h.return || h.return(); + } finally { + if (f) throw d; + } + } + } + return t; + }, + }, + { + key: "getNotFoundNav", + value: function () { + return c(); + }, + }, + ]) && l(t.prototype, n), + r && l(t, r), + e + ); + })(); + function c() { + return u("Page not found", "404 Error"); + } + function u(e, t) { + var n = { text: e, subTitle: t, icon: "fa fa-fw fa-warning" }; + return { breadcrumbs: [n], node: n, main: n }; + } + r.c.service("navModelSrv", s); + }, + lcef: function (e, t, n) { + "use strict"; + var r = n("MHX4"), + a = n("MIBK"), + o = n("drYJ"), + i = n("q1tI"), + l = n.n(i), + s = n("kDDq"); + function c() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n font-size: ", + ";\n font-weight: ", + ";\n margin: ", + ";\n color: ", + ";\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + var u = Object(a.g)(function (e) { + return { + legend: Object(s.css)( + c(), + e.typography.heading.h3, + e.typography.weight.regular, + e.spacing.formLegendMargin, + e.colors.formLegend + ), + }; + }), + f = n("VEkI"), + d = n("oEIk"), + p = n("6iRR"), + h = n("mNz5"), + m = n.n(h), + g = n("4Qg+"); + function b() { + return (b = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function v(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function y() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n width: 32px;\n height: 16px;\n position: relative;\n\n input {\n opacity: 0;\n left: -100vw;\n z-index: -1000;\n position: absolute;\n\n &:disabled + label {\n background: ", + ";\n cursor: not-allowed;\n }\n\n &:checked + label {\n background: ", + ";\n\n &:hover {\n background: ", + ";\n }\n\n &::after {\n transform: translate3d(18px, -50%, 0);\n }\n }\n\n &:focus + label {\n ", + ";\n }\n }\n\n label {\n width: 100%;\n height: 100%;\n cursor: pointer;\n border: none;\n border-radius: 50px;\n background: ", + ";\n transition: all 0.3s ease;\n\n &:hover {\n background: ", + ";\n }\n\n &::after {\n position: absolute;\n display: block;\n content: '';\n width: 12px;\n height: 12px;\n border-radius: 6px;\n background: ", + ";\n top: 50%;\n transform: translate3d(2px, -50%, 0);\n transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n }\n }\n }\n ", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + var w = Object(a.g)(function (e) { + return { + switch: Object(s.css)( + y(), + e.colors.formSwitchBgDisabled, + e.colors.formSwitchBgActive, + e.colors.formSwitchBgActiveHover, + Object(g.a)(e), + e.colors.formSwitchBg, + e.colors.formSwitchBgHover, + e.colors.formSwitchDot + ), + }; + }), + O = l.a.forwardRef(function (e, t) { + var n = e.value, + r = (e.checked, e.disabled), + o = void 0 !== r && r, + i = e.onChange, + c = v(e, ["value", "checked", "disabled", "onChange"]), + u = Object(a.h)(), + f = w(u), + d = m()("switch-"); + return l.a.createElement( + "div", + { className: Object(s.cx)(f.switch) }, + l.a.createElement( + "input", + b( + { + type: "checkbox", + disabled: o, + checked: n, + onChange: function (e) { + null == i || i(e); + }, + id: d, + }, + c, + { ref: t } + ) + ), + l.a.createElement("label", { htmlFor: d }) + ); + }); + function x() { + return (x = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function k(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function j() { + var e = T([ + "\n display: inline-block;\n width: ", + ";\n height: ", + ";\n border-radius: ", + ";\n margin-right: ", + "px;\n background: ", + ";\n border: 1px solid ", + ";\n position: absolute;\n top: 1px;\n left: 0;\n &:hover {\n cursor: pointer;\n border-color: ", + ";\n }\n ", + ]); + return ( + (j = function () { + return e; + }), + e + ); + } + function S() { + var e = T([ + "\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n &:focus + span {\n ", + "\n }\n\n /**\n * Using adjacent sibling selector to style checked state.\n * Primarily to limit the classes necessary to use when these classes will be used\n * for angular components styling\n * */\n &:checked + span {\n background: blue;\n background: ", + ";\n border: none;\n &:hover {\n background: ", + ";\n }\n &:after {\n content: '';\n position: absolute;\n left: 5px;\n top: 1px;\n width: 6px;\n height: 12px;\n border: solid ", + ";\n border-width: 0 3px 3px 0;\n transform: rotate(45deg);\n }\n }\n ", + ]); + return ( + (S = function () { + return e; + }), + e + ); + } + function E() { + var e = T([ + "\n position: relative;\n padding-left: ", + ";\n vertical-align: middle;\n ", + ]); + return ( + (E = function () { + return e; + }), + e + ); + } + function C() { + var e = T(["\n padding-left: ", "px;\n "]); + return ( + (C = function () { + return e; + }), + e + ); + } + function P() { + var e = T(["\n padding-left: ", "px;\n "]); + return ( + (P = function () { + return e; + }), + e + ); + } + function T(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var D = Object(a.g)(function (e) { + var t = Object(o.b)(e); + return { + label: Object(s.cx)( + t.label, + Object(s.css)(P(), e.spacing.formSpacingBase) + ), + description: Object(s.cx)( + t.description, + Object(s.css)(C(), e.spacing.formSpacingBase) + ), + wrapper: Object(s.css)(E(), "16px"), + input: Object(s.css)( + S(), + Object(g.a)(e), + e.colors.formCheckboxBgChecked, + e.colors.formCheckboxBgCheckedHover, + e.colors.formCheckboxCheckmark + ), + checkmark: Object(s.css)( + j(), + "16px", + "16px", + e.border.radius.sm, + e.spacing.formSpacingBase, + e.colors.formCheckboxBg, + e.colors.formInputBorder, + e.colors.formInputBorderHover + ), + }; + }), + A = l.a.forwardRef(function (e, t) { + var n = e.label, + r = e.description, + o = e.value, + s = e.onChange, + c = e.disabled, + u = k(e, ["label", "description", "value", "onChange", "disabled"]), + f = Object(a.h)(), + d = Object(i.useCallback)( + function (e) { + s && s(e); + }, + [s] + ), + p = D(f); + return l.a.createElement( + "label", + { className: p.wrapper }, + l.a.createElement( + "input", + x( + { + type: "checkbox", + className: p.input, + checked: o, + disabled: c, + onChange: d, + }, + u, + { ref: t } + ) + ), + l.a.createElement("span", { className: p.checkmark }), + n && l.a.createElement("span", { className: p.label }, n), + r && + l.a.createElement( + l.a.Fragment, + null, + l.a.createElement("br", null), + l.a.createElement("span", { className: p.description }, r) + ) + ); + }); + A.displayName = "Checkbox"; + var _ = Object(a.g)(function (e, t) { + return { + label: Object(o.b)(e), + legend: u(e), + fieldValidationMessage: Object(f.b)(e), + button: Object(d.d)({ theme: e, variant: t.variant, size: t.size }), + input: Object(p.b)({ theme: e, invalid: t.invalid }), + switch: w(e), + checkbox: D(e), + }; + }), + N = n("FgzG"), + M = n("Vt59"); + function I() { + return (I = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function R() { + var e = V([ + "\n padding-left: ", + ";\n margin-left: ", + ";\n margin-right: -", + ";\n height: 100%;\n ", + ]); + return ( + (R = function () { + return e; + }), + e + ); + } + function F() { + var e = V(["\n padding: 0 15px 0 0;\n "]); + return ( + (F = function () { + return e; + }), + e + ); + } + function L() { + var e = V([ + "\n display: flex;\n align-items: center;\n justify-content: space-between;\n max-width: 200px;\n text-overflow: ellipsis;\n ", + ]); + return ( + (L = function () { + return e; + }), + e + ); + } + function V(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function B(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var $ = l.a.forwardRef(function (e, t) { + var n = e.icon, + r = e.children, + o = e.isOpen, + i = B(e, ["icon", "children", "isOpen"]), + c = Object(a.g)(function (e) { + return { + wrapper: Object(s.css)(L()), + iconWrap: Object(s.css)(F()), + caretWrap: Object(s.css)( + R(), + e.spacing.sm, + e.spacing.sm, + e.spacing.sm + ), + }; + })(Object(a.h)()), + u = "fa fa-".concat(n), + f = o ? "caret-up" : "caret-down"; + return l.a.createElement( + d.a, + I({}, i, { ref: t, icon: u }), + l.a.createElement( + "span", + { className: c.wrapper }, + l.a.createElement("span", null, r), + l.a.createElement( + "span", + { className: c.caretWrap }, + l.a.createElement(M.a, { name: f }) + ) + ) + ); + }); + var q = n("NnAq"), + U = n("ZYew"); + function z(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function H(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var G = n("DR0N"); + function W() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })([ + "\n border-radius: ", + ";\n padding: ", + "px ", + "px;\n width: 100%;\n border-color: ", + ";\n ", + ]); + return ( + (W = function () { + return e; + }), + e + ); + } + function Q() { + return (Q = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function Y(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + var K = l.a.forwardRef(function (e, t) { + var n = e.invalid, + r = e.size, + o = void 0 === r ? "auto" : r, + i = Y(e, ["invalid", "size"]), + s = Object(a.h)(), + c = J(s, n); + return l.a.createElement( + "div", + { className: Object(g.d)()[o] }, + l.a.createElement( + "textarea", + Q({ className: c.textarea }, i, { ref: t }) + ) + ); + }), + J = Object(a.g)(function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + return { + textarea: Object(s.cx)( + Object(g.f)(e), + Object(g.b)(e), + Object(s.css)( + W(), + e.border.radius.sm, + e.spacing.formSpacingBase / 4, + e.spacing.formSpacingBase, + t ? e.colors.redBase : e.colors.formInputBorder + ) + ), + }; + }); + n.d(t, "a", function () { + return d.ButtonVariant; + }); + var Z = { + RadioButtonGroup: q.a, + Switch: O, + getFormStyles: _, + Label: o.a, + Input: p.a, + Form: function (e) { + var t = e.defaultValues, + n = e.onSubmit, + a = e.children, + o = e.validateOn, + s = void 0 === o ? "onSubmit" : o, + c = Object(r.b)({ mode: s, defaultValues: t }), + u = c.handleSubmit, + f = c.register, + d = c.errors, + p = c.control, + h = c.reset, + m = c.getValues; + return ( + Object(i.useEffect)( + function () { + h( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? z(Object(n), !0).forEach(function (t) { + H(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : z(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, m(), {}, t) + ); + }, + [t] + ), + l.a.createElement( + "form", + { onSubmit: u(n) }, + a({ register: f, errors: d, control: p }) + ) + ); + }, + Field: G.a, + Button: d.a, + LinkButton: d.c, + Select: U.b, + ButtonSelect: function (e) { + var t = e.placeholder, + n = e.icon, + r = e.variant, + a = void 0 === r ? "primary" : r, + o = e.size, + i = void 0 === o ? "md" : o, + s = e.className, + c = e.disabled, + u = B(e, [ + "placeholder", + "icon", + "variant", + "size", + "className", + "disabled", + ]), + f = { icon: n, variant: a, size: i, className: s, disabled: c }; + return l.a.createElement( + N.a, + I({}, u, { + renderControl: l.a.forwardRef(function (e, n) { + var r = e.onBlur, + a = e.onClick, + o = e.value, + i = e.isOpen; + return l.a.createElement( + $, + I({}, f, { ref: n, onBlur: r, onClick: a, isOpen: i }), + o ? o.label : t + ); + }), + }) + ); + }, + InputControl: r.a, + AsyncSelect: U.a, + TextArea: K, + Checkbox: A, + }; + t.b = Z; + }, + lhB2: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = {}, + a = function (e, t, n) { + var a = "[Deprecation warning] " + .concat(e, ": ") + .concat(t, " is deprecated"); + n && (a += ". Use ".concat(n, " instead")); + var o = Date.now(), + i = r[a]; + (!i || o - i > 1e4) && (console.warn(a), (r[a] = o)); + }; + }, + lonE: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return g; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("MIBK"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function u(e) { + return (u = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function f(e, t) { + return (f = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function d() { + var e = h(["\n display: ", ";\n "]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p() { + var e = h([ + "\n list-style-type: none;\n margin: 0;\n padding: 0;\n ", + ]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var m = Object(i.g)(function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; + return { + list: Object(o.css)(p()), + item: Object(o.css)(d(), e ? "inline-block" : "block"), + }; + }), + g = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + c(this, u(t).call(this, e)) + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && f(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.items, + n = e.renderItem, + r = e.getItemKey, + i = e.className, + l = e.inline, + s = m(l); + return a.a.createElement( + "ul", + { className: Object(o.cx)(s.list, i) }, + t.map(function (e, t) { + return a.a.createElement( + "li", + { className: s.item, key: r ? r(e) : t }, + n(e, t) + ); + }) + ); + }, + }, + ]) && s(n.prototype, r), + i && s(n, i), + t + ); + })(a.a.PureComponent); + }, + "lpb/": function (e, t) { + var n = "public/app/features/admin/partials/users.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\t<div class=page-action-bar>\n <label class="gf-form gf-form--grow gf-form--has-input-icon">\n <input type=text class="gf-form-input max-width-30" placeholder="Find user by name/login/email" tabindex=1 give-focus=true ng-model=ctrl.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.getUsers() />\n <i class="gf-form-input-icon fa fa-search"></i>\n </label>\n <div class=page-action-bar__spacer></div>\n <a class="btn btn-primary" href=admin/users/create>\n New user\n </a>\n </div>\n\n <div class=admin-list-table>\n <table class="filter-table form-inline filter-table--hover">\n <thead>\n <tr>\n <th></th>\n <th>Login</th>\n <th>Email</th>\n <th>\n Seen\n <tip>Time since user was seen using Grafana</tip>\n </th>\n <th></th>\n <th style=width:1%></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="user in ctrl.users">\n <td class="width-4 text-center link-td">\n <a href=admin/users/edit/{{user.id}}>\n <img class=filter-table__avatar ng-src={{user.avatarUrl}}>\n </a>\n </td>\n <td class=link-td>\n <a href=admin/users/edit/{{user.id}}>\n {{user.login}}\n </a>\n </td>\n <td class=link-td>\n <a href=admin/users/edit/{{user.id}}>\n {{user.email}}\n </a>\n </td>\n <td class=link-td>\n <a href=admin/users/edit/{{user.id}}>\n {{user.lastSeenAtAge}}\n </a>\n </td>\n <td class=link-td>\n <a href=admin/users/edit/{{user.id}}>\n <i class="fa fa-shield" ng-show=user.isAdmin bs-tooltip="\'Grafana Admin\'"></i>\n </a>\n </td>\n <td class=text-right>\n <span class="label label-tag" ng-style=user.authLabelStyle ng-if=user.authLabel>\n {{user.authLabel}}\n </span>\n </td>\n <td class=text-right>\n <span class="label label-tag label-tag--gray" ng-if=user.isDisabled>Disabled</span>\n </td>\n </tr>\n </tbody>\n\n </table>\n </div>\n\n <div class=admin-list-paging ng-if=ctrl.showPaging>\n <ol>\n <li ng-repeat="page in ctrl.pages">\n <button class="btn btn-small" ng-class="{\'btn-secondary\': page.current, \'btn-inverse\': !page.current}" ng-click=ctrl.navigateToPage(page)>{{page.page}}</button>\n </li>\n </ol>\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + lzJ5: function (e, t, n) { + "use strict"; + function r(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function a(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(n), !0).forEach(function (t) { + o(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : r(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function o(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function i(e, t, n) { + if (e[t]) { + var r = e[t], + o = a({}, r.parentItem); + return ( + (o.children = o.children.map(function (e) { + return a({}, e, { active: e.url === r.url }); + })), + { node: r, main: o } + ); + } + return ( + n || + (function () { + var e = { + id: "not-found", + text: "Page not found", + icon: "fa fa-fw fa-warning", + subTitle: "404 Error", + url: "not-found", + }; + return { node: e, main: e }; + })() + ); + } + n.d(t, "a", function () { + return i; + }), + n.d(t, "b", function () { + return l; + }); + var l = function (e) { + return "" + .concat(e.main.text) + .concat(e.node.text ? ": " + e.node.text : ""); + }; + }, + "m+sf": function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return f; + }), + n.d(t, "b", function () { + return d; + }), + n.d(t, "f", function () { + return h; + }), + n.d(t, "a", function () { + return m; + }), + n.d(t, "e", function () { + return g; + }), + n.d(t, "d", function () { + return b; + }), + n.d(t, "g", function () { + return v; + }); + var r, + a = n("TYy9"), + o = n.n(a), + i = n("Zss7"), + l = n.n(i), + s = n("UcAx"); + function c(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var u = function (e, t, n, r) { + var a = c(n, 2); + return { + hue: e, + name: t, + variants: { light: a[0], dark: a[1] }, + isPrimary: !!r, + }; + }, + f = function (e) { + return o()(Array.from(v().values())).filter(function (t) { + return t.name === e; + })[0]; + }, + d = function (e, t) { + return o()(Array.from(v().values())).filter(function (n) { + return n.variants[t] === e; + })[0]; + }, + p = function (e) { + return /^((0x){0,1}|#{0,1})([0-9A-F]{8}|[0-9A-F]{6}|[0-9A-F]{3})$/gi.test( + e + ); + }, + h = function (e, t) { + if (e && !(e.indexOf("rgb") > -1)) { + if (p(e)) { + var n = d(e, t || s.a.Dark); + return n ? n.name : void 0; + } + return e; + } + }, + m = function (e) { + var t = o()(Array.from(v().values())).filter(function (t) { + return t.name === e; + }); + return t.length > 0 ? t[0] : void 0; + }, + g = function (e, t) { + if (e.indexOf("rgb") > -1 || p(e)) return e; + var n = m(e); + return n + ? t + ? n.variants[t] + : n.variants.dark + : new l.a(e).toHexString(); + }, + b = function (e, t) { + return t ? e.variants[t] : e.variants.dark; + }, + v = function () { + return ( + r || + ((e = new Map()), + (t = [ + u("green", "green", ["#56A64B", "#73BF69"], !0), + u("green", "dark-green", ["#19730E", "#37872D"]), + u("green", "semi-dark-green", ["#37872D", "#56A64B"]), + u("green", "light-green", ["#73BF69", "#96D98D"]), + u("green", "super-light-green", ["#96D98D", "#C8F2C2"]), + ]), + (n = [ + u("yellow", "yellow", ["#F2CC0C", "#FADE2A"], !0), + u("yellow", "dark-yellow", ["#CC9D00", "#E0B400"]), + u("yellow", "semi-dark-yellow", ["#E0B400", "#F2CC0C"]), + u("yellow", "light-yellow", ["#FADE2A", "#FFEE52"]), + u("yellow", "super-light-yellow", ["#FFEE52", "#FFF899"]), + ]), + (a = [ + u("red", "red", ["#E02F44", "#F2495C"], !0), + u("red", "dark-red", ["#AD0317", "#C4162A"]), + u("red", "semi-dark-red", ["#C4162A", "#E02F44"]), + u("red", "light-red", ["#F2495C", "#FF7383"]), + u("red", "super-light-red", ["#FF7383", "#FFA6B0"]), + ]), + (o = [ + u("blue", "blue", ["#3274D9", "#5794F2"], !0), + u("blue", "dark-blue", ["#1250B0", "#1F60C4"]), + u("blue", "semi-dark-blue", ["#1F60C4", "#3274D9"]), + u("blue", "light-blue", ["#5794F2", "#8AB8FF"]), + u("blue", "super-light-blue", ["#8AB8FF", "#C0D8FF"]), + ]), + (i = [ + u("orange", "orange", ["#FF780A", "#FF9830"], !0), + u("orange", "dark-orange", ["#E55400", "#FA6400"]), + u("orange", "semi-dark-orange", ["#FA6400", "#FF780A"]), + u("orange", "light-orange", ["#FF9830", "#FFB357"]), + u("orange", "super-light-orange", ["#FFB357", "#FFCB7D"]), + ]), + (l = [ + u("purple", "purple", ["#A352CC", "#B877D9"], !0), + u("purple", "dark-purple", ["#7C2EA3", "#8F3BB8"]), + u("purple", "semi-dark-purple", ["#8F3BB8", "#A352CC"]), + u("purple", "light-purple", ["#B877D9", "#CA95E5"]), + u("purple", "super-light-purple", ["#CA95E5", "#DEB6F2"]), + ]), + e.set("green", t), + e.set("yellow", n), + e.set("red", a), + e.set("blue", o), + e.set("orange", i), + e.set("purple", l), + (r = e)) + ); + var e, t, n, a, o, i, l; + }; + }, + m257: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return w; + }), + n.d(t, "b", function () { + return O; + }), + n.d(t, "q", function () { + return x; + }), + n.d(t, "k", function () { + return k; + }), + n.d(t, "d", function () { + return S; + }), + n.d(t, "e", function () { + return P; + }), + n.d(t, "t", function () { + return D; + }), + n.d(t, "r", function () { + return A; + }), + n.d(t, "u", function () { + return _; + }), + n.d(t, "i", function () { + return M; + }), + n.d(t, "j", function () { + return I; + }), + n.d(t, "h", function () { + return R; + }), + n.d(t, "p", function () { + return L; + }), + n.d(t, "y", function () { + return V; + }), + n.d(t, "m", function () { + return $; + }), + n.d(t, "n", function () { + return q; + }), + n.d(t, "o", function () { + return z; + }), + n.d(t, "v", function () { + return H; + }), + n.d(t, "c", function () { + return B; + }), + n.d(t, "s", function () { + return W; + }), + n.d(t, "w", function () { + return Q; + }), + n.d(t, "f", function () { + return Y; + }), + n.d(t, "x", function () { + return K; + }), + n.d(t, "g", function () { + return J; + }), + n.d(t, "l", function () { + return Z; + }); + var r = n("LvDl"), + a = n.n(r), + o = n("Obii"), + i = n("0Mjz"), + l = n("SMGL"), + s = n("PbtU"), + c = n("bMS5"), + u = n("kDLi"), + f = n("ZFWI"); + function d(e) { + return (d = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function p(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function h(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function m(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function g(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? m(Object(n), !0).forEach(function (t) { + b(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : m(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function b(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function v(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function y(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + v(o, r, a, i, l, "next", e); + } + function l(e) { + v(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var w = { from: "now-1h", to: "now" }, + O = { + showingTable: !0, + showingGraph: !0, + showingLogs: !0, + dedupStrategy: o.LogsDedupStrategy.none, + }, + x = function (e) { + return "".concat("grafana.explore.datasource", ".").concat(e); + }; + function k(e) { + return j.apply(this, arguments); + } + function j() { + return (j = y( + regeneratorRuntime.mark(function e(t) { + var n, r, a, o, l, s, c, u, f, d, p, h, m, b, v, y, w, O; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = t.panel), + (r = t.panelTargets), + (a = t.panelDatasource), + (o = t.datasourceSrv), + (l = t.timeSrv), + (s = a), + (c = r), + "mixed" !== a.meta.id || !c) + ) { + e.next = 32; + break; + } + (f = !0), + (d = !1), + (p = void 0), + (e.prev = 7), + (h = regeneratorRuntime.mark(function e() { + var t, n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = b.value), + (e.next = 3), + o.get(t.datasource) + ); + case 3: + if (!(n = e.sent)) { + e.next = 8; + break; + } + return ( + (s = n), + (c = r.filter(function (e) { + return e.datasource === n.name; + })), + e.abrupt("return", "break") + ); + case 8: + case "end": + return e.stop(); + } + }, e); + })), + (m = c[Symbol.iterator]()); + case 10: + if ((f = (b = m.next()).done)) { + e.next = 18; + break; + } + return e.delegateYield(h(), "t0", 12); + case 12: + if ("break" !== e.t0) { + e.next = 15; + break; + } + return e.abrupt("break", 18); + case 15: + (f = !0), (e.next = 10); + break; + case 18: + e.next = 24; + break; + case 20: + (e.prev = 20), (e.t1 = e.catch(7)), (d = !0), (p = e.t1); + case 24: + (e.prev = 24), + (e.prev = 25), + f || null == m.return || m.return(); + case 27: + if (((e.prev = 27), !d)) { + e.next = 30; + break; + } + throw p; + case 30: + return e.finish(27); + case 31: + return e.finish(24); + case 32: + return ( + s && + ((v = l.timeRangeForUrl()), + (y = { range: v }), + s.interpolateVariablesInQueries + ? ((w = n.scopedVars || {}), + (y = g({}, y, { + datasource: s.name, + context: "explore", + queries: s.interpolateVariablesInQueries(c, w), + }))) + : (y = g({}, y, { + datasource: s.name, + context: "explore", + queries: c.map(function (e) { + return g({}, e, { datasource: s.name }); + }), + })), + (O = JSON.stringify( + g({}, y, { originPanelId: n.id }) + )), + (u = Object(i.c)("/explore", { left: O }))), + e.abrupt("return", u) + ); + case 34: + case "end": + return e.stop(); + } + }, + e, + null, + [ + [7, 20, 24, 32], + [25, , 27, 31], + ] + ); + }) + )).apply(this, arguments); + } + function S(e, t, n, r) { + var a = e.map(function (e) { + return g({}, e, {}, t); + }), + i = e.reduce(function (e, t) { + return (e += t.key); + }, ""), + l = (function (e, t, n) { + if (!n) return { interval: "1s", intervalMs: 1e3 }; + return s.a.calculateInterval(e, n, t); + })(n, t.minInterval, t.maxDataPoints), + c = l.interval, + u = l.intervalMs, + f = "".concat(i); + return { + queries: e, + request: { + app: o.CoreApp.Explore, + dashboardId: 0, + timezone: o.DefaultTimeZone, + startTime: Date.now(), + interval: c, + intervalMs: u, + panelId: f, + targets: a, + range: n, + requestId: "explore", + rangeRaw: n.raw, + scopedVars: { + __interval: { text: c, value: c }, + __interval_ms: { text: u, value: u }, + }, + maxDataPoints: t.maxDataPoints, + exploreMode: t.mode, + }, + scanning: r, + id: N(), + done: !1, + latency: 0, + }; + } + var E, + C, + P = function (e) { + e.key, e.refId; + return h(e, ["key", "refId"]); + }, + T = function (e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + return n.some(function (t) { + return e.hasOwnProperty(t); + }); + }; + !(function (e) { + (e[(e.RangeFrom = 0)] = "RangeFrom"), + (e[(e.RangeTo = 1)] = "RangeTo"), + (e[(e.Datasource = 2)] = "Datasource"), + (e[(e.SegmentsStart = 3)] = "SegmentsStart"); + })(E || (E = {})), + (function (e) { + (e[(e.Graph = 0)] = "Graph"), + (e[(e.Logs = 1)] = "Logs"), + (e[(e.Table = 2)] = "Table"), + (e[(e.Strategy = 3)] = "Strategy"); + })(C || (C = {})); + var D = function (e, t) { + if (!e) return ""; + try { + return JSON.stringify(e, null, t); + } catch (e) { + console.error(e); + } + return ""; + }; + function A(e) { + var t = (function (e) { + if (e) + try { + return JSON.parse(decodeURI(e)); + } catch (e) { + console.error(e); + } + })(e), + n = { + datasource: null, + queries: [], + range: w, + ui: O, + mode: null, + originPanelId: null, + }; + if (!t) return n; + if (!Array.isArray(t)) return t; + if (t.length <= E.SegmentsStart) + return ( + console.error("Error parsing compact URL state for Explore."), n + ); + var r = { from: t[E.RangeFrom], to: t[E.RangeTo] }, + a = t[E.Datasource], + i = t.slice(E.SegmentsStart), + l = ["expr", "target", "datasource", "query"], + s = i.filter(function (e) { + return T.apply(void 0, [e].concat(l)); + }), + c = i.filter(function (e) { + return T(e, "mode"); + })[0], + u = c ? c.mode : o.ExploreMode.Metrics, + f = i.filter(function (e) { + return T(e, "ui"); + })[0]; + return { + datasource: a, + queries: s, + range: r, + ui: f + ? { + showingGraph: f.ui[C.Graph], + showingLogs: f.ui[C.Logs], + showingTable: f.ui[C.Table], + dedupStrategy: f.ui[C.Strategy], + } + : O, + mode: u, + originPanelId: i.filter(function (e) { + return T(e, "originPanelId"); + })[0], + }; + } + function _(e, t) { + return t + ? JSON.stringify( + [e.range.from, e.range.to, e.datasource].concat(p(e.queries), [ + { mode: e.mode }, + { + ui: [ + !!e.ui.showingGraph, + !!e.ui.showingLogs, + !!e.ui.showingTable, + e.ui.dedupStrategy, + ], + }, + ]) + ) + : JSON.stringify(e); + } + function N() { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; + return "Q-" + .concat(Date.now(), "-") + .concat(Math.random(), "-") + .concat(e); + } + function M(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; + return { refId: Object(c.b)(e), key: N(t) }; + } + var I = function (e, t) { + var n = + arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, + r = N(n), + a = e.refId || Object(c.b)(t); + return g({}, e, { refId: a, key: r }); + }; + function R(e) { + if (e && "object" === d(e) && e.length > 0) { + for (var t = [], n = 0; n < e.length; n++) { + var r = e[n], + a = N(n), + o = r.refId; + o || (o = Object(c.b)(t)), t.push(g({}, r, { refId: o, key: a })); + } + return t; + } + return [g({}, M(e))]; + } + var F = ["refId", "key", "context"]; + function L(e) { + return ( + e && + e.some(function (e) { + return ( + Object.keys(e) + .filter(function (e) { + return -1 === F.indexOf(e); + }) + .map(function (t) { + return e[t]; + }) + .filter(function (e) { + return e; + }).length > 0 + ); + }) + ); + } + function V(e, t, n) { + var r = Date.now(); + n.forEach(function (t) { + e = [{ query: t, ts: r }].concat(p(e)); + }), + e.length > 100 && (e = e.slice(0, 100)); + var a = "grafana.explore.history.".concat(t); + return l.a.setObject(a, e), e; + } + var B, + $ = function (e, t) { + return e.reduce(function (e, n, r) { + var a = t && t.name ? t.name : n.key; + return e.concat("".concat(a, "-").concat(r)); + }, []); + }, + q = function (e, t) { + return { + from: o.dateMath.parse(t.from, !1, e), + to: o.dateMath.parse(t.to, !0, e), + raw: t, + }; + }, + U = function (e) { + if (null === e) return null; + if (-1 !== e.indexOf("now")) return e; + if (8 === e.length) return Object(o.toUtc)(e, "YYYYMMDD"); + if (15 === e.length) return Object(o.toUtc)(e, "YYYYMMDDTHHmmss"); + if (19 === e.length) return Object(o.toUtc)(e, "YYYY-MM-DD HH:mm:ss"); + if (!isNaN(e)) { + var t = parseInt(e, 10); + return Object(o.toUtc)(t); + } + return null; + }, + z = function (e, t) { + var n = { from: U(e.from), to: U(e.to) }; + return { + from: o.dateMath.parse(n.from, !1, t), + to: o.dateMath.parse(n.to, !0, t), + raw: n, + }; + }, + H = function (e, t) { + return e.timeEpochMs < t.timeEpochMs + ? -1 + : e.timeEpochMs > t.timeEpochMs + ? 1 + : 0; + }, + G = function (e, t) { + return e.timeEpochMs > t.timeEpochMs + ? -1 + : e.timeEpochMs < t.timeEpochMs + ? 1 + : 0; + }; + !(function (e) { + (e.Descending = "Descending"), + (e.Ascending = "Ascending"), + (e.DatasourceAZ = "Datasource A-Z"), + (e.DatasourceZA = "Datasource Z-A"); + })(B || (B = {})); + var W = function (e) { + return u.RefreshPicker.isLive(e) ? B.Ascending : B.Descending; + }, + Q = function (e, t) { + var n = e ? e.rows : []; + return ( + t === B.Ascending ? n.sort(H) : n.sort(G), + e ? g({}, e, { rows: n }) : { hasUniqueLabels: !1, rows: n } + ); + }, + Y = function (e) { + var t = "https:" === window.location.protocol ? "wss://" : "ws://", + n = "".concat(t).concat(window.location.host).concat(f.a.appSubUrl); + return ( + n.endsWith("/") && (n = n.slice(0, -1)), "".concat(n).concat(e) + ); + }, + K = function (e) { + e && e.unsubscribe(); + }; + function J(e) { + return a.a.uniqBy(e, "uid"); + } + var Z = function (e) { + return (function e(t) { + if (t && "object" === d(t)) { + if (t.refId) return t; + for (var n = Object.keys(t), r = 0; r < n.length; r++) { + var a = e(t[n[r]]); + if (a) return a; + } + } + })(e) + ? null + : (function (e) { + if (e) + return e.filter(function (e) { + return !e || !e.refId; + })[0]; + })(e); + }; + }, + mCU5: function (e, t) { + var n = "public/app/plugins/panel/heatmap/partials/display_editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n <div class="section gf-form-group">\n <h5 class=section-heading>Colors</h5>\n <div class=gf-form>\n <label class="gf-form-label width-9">Mode</label>\n <div class="gf-form-select-wrapper width-8">\n <select class="input-small gf-form-input" ng-model=ctrl.panel.color.mode ng-options="s for s in ctrl.colorModes" ng-change=ctrl.render()></select>\n </div>\n </div>\n\n <div ng-show="ctrl.panel.color.mode === \'opacity\'">\n <div class=gf-form>\n <label class="gf-form-label width-9">Color</label>\n <span class=gf-form-label>\n <color-picker color=ctrl.panel.color.cardColor onchange=ctrl.onCardColorChange></color-picker>\n </span>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">Scale</label>\n <div class="gf-form-select-wrapper width-8">\n <select class="input-small gf-form-input" ng-model=ctrl.panel.color.colorScale ng-options="s for s in ctrl.opacityScales" ng-change=ctrl.render()></select>\n </div>\n </div>\n <div class=gf-form ng-if="ctrl.panel.color.colorScale === \'sqrt\'">\n <label class="gf-form-label width-9">Exponent</label>\n <input type=number class="gf-form-input width-8" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.color.exponent ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n </div>\n\n <div ng-show="ctrl.panel.color.mode === \'spectrum\'">\n <div class=gf-form>\n <label class="gf-form-label width-9">Scheme</label>\n <div class="gf-form-select-wrapper width-8">\n <select class="input-small gf-form-input" ng-model=ctrl.panel.color.colorScheme ng-options="s.value as s.name for s in ctrl.colorSchemes" ng-change=ctrl.render()></select>\n </div>\n </div>\n </div>\n\n <div class=gf-form>\n <color-legend></color-legend>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Color scale</h5>\n <div class=gf-form>\n <label class="gf-form-label width-8">Min</label>\n <input type=number ng-model=ctrl.panel.color.min class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Max</label>\n <input type=number ng-model=ctrl.panel.color.max class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Legend</h5>\n <gf-form-switch class=gf-form label-class=width-8 label="Show legend" checked=ctrl.panel.legend.show on-change=ctrl.render()>\n </gf-form-switch>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Buckets</h5>\n <gf-form-switch class=gf-form label-class=width-8 label="Hide zero" checked=ctrl.panel.hideZeroBuckets on-change=ctrl.render()>\n </gf-form-switch>\n <div class=gf-form>\n <label class="gf-form-label width-8">Space</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.cards.cardPadding ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Round</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.cards.cardRound ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Tooltip</h5>\n <gf-form-switch class=gf-form label-class=width-8 label="Show tooltip" checked=ctrl.panel.tooltip.show on-change=ctrl.render()>\n </gf-form-switch>\n <div ng-if=ctrl.panel.tooltip.show>\n <gf-form-switch class=gf-form label-class=width-8 label=Histogram checked=ctrl.panel.tooltip.showHistogram on-change=ctrl.render()>\n </gf-form-switch>\n <div class=gf-form>\n <label class="gf-form-label width-8">Decimals</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Max decimal precision for tooltip.\'" ng-model=ctrl.panel.tooltipDecimals ng-change=ctrl.render() ng-model-onblur>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + mHLn: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return b; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("NXk7"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function c(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function u(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + c(o, r, a, i, l, "next", e); + } + function l(e) { + c(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function f(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function d(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function p(e) { + return (p = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function h(e, t) { + return (h = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var m = [ + { value: "", label: "Default" }, + { value: "dark", label: "Dark" }, + { value: "light", label: "Light" }, + ], + g = [ + { value: "", label: "Default" }, + { value: "browser", label: "Local browser time" }, + { value: "utc", label: "UTC" }, + ], + b = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = d(this, p(t).call(this, e))).backendSrv = i.b), + (n.onSubmitForm = (function () { + var e = u( + regeneratorRuntime.mark(function e(t) { + var r, a, o, l; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.preventDefault(), + (r = n.state), + (a = r.homeDashboardId), + (o = r.theme), + (l = r.timezone), + (e.next = 4), + i.b.put( + "/api/".concat( + n.props.resourceUri, + "/preferences" + ), + { homeDashboardId: a, theme: o, timezone: l } + ) + ); + case 4: + window.location.reload(); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onThemeChanged = function (e) { + n.setState({ theme: e }); + }), + (n.onTimeZoneChanged = function (e) { + n.setState({ timezone: e }); + }), + (n.onHomeDashboardChanged = function (e) { + n.setState({ homeDashboardId: e }); + }), + (n.getFullDashName = function (e) { + return void 0 === e.folderTitle || "" === e.folderTitle + ? e.title + : e.folderTitle + " / " + e.title; + }), + (n.state = { + homeDashboardId: 0, + theme: "", + timezone: "", + dashboards: [], + }), + n + ); + } + var n, r, l, c; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && h(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((c = u( + regeneratorRuntime.mark(function e() { + var t, n, r, a; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + i.b.get( + "/api/".concat( + this.props.resourceUri, + "/preferences" + ) + ) + ); + case 2: + return ( + (t = e.sent), + (e.next = 5), + i.b.search({ starred: !0 }) + ); + case 5: + if ( + ((n = e.sent), + (r = { + id: 0, + title: "Default", + tags: [], + type: "", + uid: "", + uri: "", + url: "", + folderId: 0, + folderTitle: "", + folderUid: "", + folderUrl: "", + isStarred: !1, + slug: "", + }), + !(t.homeDashboardId > 0) || + n.find(function (e) { + return e.id === t.homeDashboardId; + })) + ) { + e.next = 12; + break; + } + return ( + (e.next = 10), + i.b.search({ + dashboardIds: [t.homeDashboardId], + }) + ); + case 10: + (a = e.sent) && a.length > 0 && n.push(a[0]); + case 12: + this.setState({ + homeDashboardId: t.homeDashboardId, + theme: t.theme, + timezone: t.timezone, + dashboards: [r].concat(s(n)), + }); + case 13: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return c.apply(this, arguments); + }), + }, + { + key: "render", + value: function () { + var e = this, + t = this.state, + n = t.theme, + r = t.timezone, + i = t.homeDashboardId, + l = t.dashboards; + return a.a.createElement( + "form", + { + className: "section gf-form-group", + onSubmit: this.onSubmitForm, + }, + a.a.createElement( + "h3", + { className: "page-heading" }, + "Preferences" + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "span", + { className: "gf-form-label width-11" }, + "UI Theme" + ), + a.a.createElement(o.Select, { + isSearchable: !1, + value: m.find(function (e) { + return e.value === n; + }), + options: m, + onChange: function (t) { + return e.onThemeChanged(t.value); + }, + width: 20, + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + o.FormLabel, + { + width: 11, + tooltip: + "Not finding dashboard you want? Star it first, then it should appear in this select box.", + }, + "Home Dashboard" + ), + a.a.createElement(o.Select, { + value: l.find(function (e) { + return e.id === i; + }), + getOptionValue: function (e) { + return e.id; + }, + getOptionLabel: this.getFullDashName, + onChange: function (t) { + return e.onHomeDashboardChanged(t.id); + }, + options: l, + placeholder: "Choose default dashboard", + width: 20, + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "label", + { className: "gf-form-label width-11" }, + "Timezone" + ), + a.a.createElement(o.Select, { + isSearchable: !1, + value: g.find(function (e) { + return e.value === r; + }), + onChange: function (t) { + return e.onTimeZoneChanged(t.value); + }, + options: g, + width: 20, + }) + ), + a.a.createElement( + "div", + { className: "gf-form-button-row" }, + a.a.createElement( + "button", + { type: "submit", className: "btn btn-primary" }, + "Save" + ) + ) + ); + }, + }, + ]) && f(n.prototype, r), + l && f(n, l), + t + ); + })(r.PureComponent); + t.b = b; + }, + maUf: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return x; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("Obii"), + i = n("kDDq"), + l = n("GQ3c"), + s = n("kDLi"), + c = n("3Tvq"), + u = n("NPB1"), + f = n("8YUl"), + d = n("HJRA"); + function p(e) { + return (p = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function h(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function m(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function g(e, t) { + return !t || ("object" !== p(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function b(e) { + return (b = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function v(e, t) { + return (v = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function y() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n position: relative;\n display: flex;\n "]); + return ( + (y = function () { + return e; + }), + e + ); + } + var w = Object(s.stylesFactory)(function (e) { + return { container: Object(i.css)(y()) }; + }), + O = (function (e) { + function t() { + var e, n; + h(this, t); + for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++) + a[i] = arguments[i]; + return ( + ((n = g( + this, + (e = b(t)).call.apply(e, [this].concat(a)) + )).triggerForceUpdate = function () { + n.forceUpdate(); + }), + (n.onChangeRefreshInterval = function (e) { + Object(u.a)().setAutoRefresh(e), n.forceUpdate(); + }), + (n.onRefresh = function () { + return Object(u.a)().refreshDashboard(), Promise.resolve(); + }), + (n.onMoveBack = function () { + d.a.emit(l.CoreEvents.shiftTime, -1); + }), + (n.onMoveForward = function () { + d.a.emit(l.CoreEvents.shiftTime, 1); + }), + (n.onChangeTimePicker = function (e) { + var t = n.props.dashboard.timepicker, + r = t.nowDelay && "now" === e.raw.to, + a = o.dateMath.isMathString(e.raw.from) ? e.raw.from : e.from, + i = o.dateMath.isMathString(e.raw.to) ? e.raw.to : e.to, + l = { from: a, to: r ? "now-" + t.nowDelay : i }; + Object(u.a)().setTime(l); + }), + (n.onZoom = function () { + d.a.emit(l.CoreEvents.zoomOut, 2); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && v(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.dashboard.on( + l.CoreEvents.timeRangeUpdated, + this.triggerForceUpdate + ); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.props.dashboard.off( + l.CoreEvents.timeRangeUpdated, + this.triggerForceUpdate + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.dashboard, + n = e.theme, + r = t.timepicker.refresh_intervals, + o = Object(u.a)().getValidIntervals(r || f.b), + i = Object(u.a)().timeRange(), + l = t.getTimezone(), + d = w(n); + return a.a.createElement( + "div", + { className: d.container }, + a.a.createElement(c.a, { + value: i, + onChange: this.onChangeTimePicker, + timeZone: l, + onMoveBackward: this.onMoveBack, + onMoveForward: this.onMoveForward, + onZoom: this.onZoom, + }), + a.a.createElement(s.RefreshPicker, { + onIntervalChanged: this.onChangeRefreshInterval, + onRefresh: this.onRefresh, + value: t.refresh, + intervals: o, + tooltip: "Refresh dashboard", + }) + ); + }, + }, + { + key: "refreshParamInUrl", + get: function () { + return this.props.location.query.refresh; + }, + }, + ]) && m(n.prototype, r), + i && m(n, i), + t + ); + })(r.Component), + x = Object(s.withTheme)(O); + }, + mbvD: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return y; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("MIBK"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + function p() { + var e = g(["\n padding-right: 2px;\n "]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h() { + var e = g(["\n flex-grow: 1;\n "]); + return ( + (h = function () { + return e; + }), + e + ); + } + function m() { + var e = g([ + "\n display: flex;\n align-items: center;\n justify-content: flex-start;\n justify-items: center;\n cursor: pointer;\n padding: 7px 10px;\n width: 100%;\n border-bottom: 1px solid ", + ";\n text-transform: capitalize;\n ", + ]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var b = Object(i.g)(function (e) { + var t = Object(i.e)( + { light: e.colors.gray4, dark: e.colors.dark9 }, + e.type + ); + return { + header: Object(o.css)(m(), t), + label: Object(o.css)(h()), + icon: Object(o.css)(p()), + }; + }), + v = (function (e) { + function t() { + var e, n; + s(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = u( + this, + (e = f(t)).call.apply(e, [this].concat(a)) + )).state = { expanded: !1 }), + (n.onToggleChildren = function () { + n.setState(function (e) { + return { expanded: !e.expanded }; + }); + }), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + if (this.props.data.expanded) this.setState({ expanded: !0 }); + else if ( + this.props.selectProps && + this.props.selectProps.value + ) { + var e = this.props.selectProps.value.value; + e && + this.props.options.some(function (t) { + return t.value === e; + }) && + this.setState({ expanded: !0 }); + } + }, + }, + { + key: "componentDidUpdate", + value: function (e) { + "" !== e.selectProps.inputValue && + this.setState({ expanded: !0 }); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.children, + n = e.label, + r = e.theme, + i = this.state.expanded, + l = b(r), + s = i ? "fa-caret-left" : "fa-caret-down"; + return a.a.createElement( + "div", + null, + a.a.createElement( + "div", + { className: l.header, onClick: this.onToggleChildren }, + a.a.createElement("span", { className: l.label }, n), + a.a.createElement("i", { + className: Object(o.cx)("fa", s, l.icon), + }), + " " + ), + i && t + ); + }, + }, + ]) && c(n.prototype, r), + i && c(n, i), + t + ); + })(r.PureComponent), + y = Object(i.i)(v); + }, + mgzm: function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e.Absolute = "absolute"), (e.Percentage = "percentage"); + })(r || (r = {})); + }, + mpro: function (e, t, n) { + "use strict"; + var r = n("i7Pf"), + a = n("BkRI"), + o = n.n(a), + i = n("buVq"), + l = n("+CPp"), + s = n("dcGt"); + var c = function e() { + var t = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.resolve = null), + (this.reject = null), + (this.promise = new Promise(function (e, n) { + (t.resolve = e), (t.reject = n); + })), + Object.freeze(this); + }, + u = n("gKd5"), + f = n("P20H"), + d = n("EcEN"); + function p(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function h(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? p(Object(n), !0).forEach(function (t) { + m(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : p(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function m(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + n.d(t, "k", function () { + return b; + }), + n.d(t, "a", function () { + return y; + }), + n.d(t, "h", function () { + return w; + }), + n.d(t, "b", function () { + return O; + }), + n.d(t, "d", function () { + return x; + }), + n.d(t, "c", function () { + return k; + }), + n.d(t, "l", function () { + return j; + }), + n.d(t, "f", function () { + return S; + }), + n.d(t, "j", function () { + return E; + }), + n.d(t, "e", function () { + return C; + }), + n.d(t, "g", function () { + return P; + }), + n.d(t, "i", function () { + return T; + }); + var g = Object(r.c)({ + name: "templating/shared", + initialState: u.a, + reducers: { + addVariable: function (e, t) { + var n, + r = + null !== (n = t.payload.uuid) && void 0 !== n + ? n + : Object(d.v4)(); + (e[r] = h( + {}, + o()(l.a.get(t.payload.type).initialState), + {}, + t.payload.data.model + )), + (e[r].uuid = r), + (e[r].index = t.payload.data.index), + (e[r].global = t.payload.data.global); + }, + addInitLock: function (e, t) { + Object(i.f)(e, t.payload.uuid).initLock = new c(); + }, + resolveInitLock: function (e, t) { + var n; + null === (n = Object(i.f)(e, t.payload.uuid).initLock) || + void 0 === n || + n.resolve(); + }, + removeInitLock: function (e, t) { + Object(i.f)(e, t.payload.uuid).initLock = null; + }, + removeVariable: function (e, t) { + if ((delete e[t.payload.uuid], t.payload.data.reIndex)) + for (var n = Object.values(e), r = 0; r < n.length; r++) + n[r].index = r; + }, + duplicateVariable: function (e, t) { + var n, + r, + a = + null !== + (n = + null === (r = t.payload.data) || void 0 === r + ? void 0 + : r.newUuid) && void 0 !== n + ? n + : Object(d.v4)(), + i = o()(e[t.payload.uuid]), + s = Object.keys(e).length, + c = "copy_of_".concat(i.name); + e[a] = h({}, o()(l.a.get(t.payload.type).initialState), {}, i, { + uuid: a, + name: c, + index: s, + }); + }, + changeVariableOrder: function (e, t) { + var n = Object.values(e).map(function (e) { + return e; + }), + r = n.find(function (e) { + return e.index === t.payload.data.fromIndex; + }), + a = n.find(function (e) { + return e.index === t.payload.data.toIndex; + }); + r && (e[r.uuid].index = t.payload.data.toIndex), + a && (e[a.uuid].index = t.payload.data.fromIndex); + }, + storeNewVariable: function (e, t) { + var n = t.payload.uuid, + r = o()(e[i.c]); + e[n] = h({}, o()(l.a.get(t.payload.type).initialState), {}, r, { + uuid: n, + index: r.index, + }); + }, + changeVariableType: function (e, t) { + var n = t.payload.uuid, + r = e[n], + a = r.label, + i = r.name, + s = r.index; + e[n] = h({}, o()(l.a.get(t.payload.data.newType).initialState), { + uuid: n, + label: a, + name: i, + index: s, + }); + }, + setCurrentVariableValue: function (e, t) { + var n = Object(i.f)(e, t.payload.uuid), + r = h({}, t.payload.data.option); + if ( + (Array.isArray(r.text) && r.text.length > 0 + ? (r.text = r.text.join(" + ")) + : Array.isArray(r.value) && + r.value[0] !== i.b && + (r.text = r.value.join(" + ")), + (n.current = r), + (n.options = n.options.map(function (e) { + var t = !1; + if (Array.isArray(r.value)) + for (var n = 0; n < r.value.length; n++) { + var a = r.value[n]; + if (e.value === a) { + t = !0; + break; + } + } + else e.value === r.value && (t = !0); + return (e.selected = t), e; + })), + D(r) && Object(f.a)(n)) + ) { + var a = r.tags.reduce(function (e, t) { + return (e[t.text.toString()] = t.selected), e; + }, {}); + n.tags = n.tags.map(function (e) { + var t = e.text.toString(); + return (e.selected = a[t]), e; + }); + } + }, + changeVariableProp: function (e, t) { + Object(i.f)(e, t.payload.uuid)[t.payload.data.propName] = + t.payload.data.propValue; + }, + }, + extraReducers: function (e) { + return e.addCase(s.d, function (e, t) { + Object(i.f)(e, t.payload.uuid).name = t.payload.data; + }); + }, + }), + b = g.reducer, + v = g.actions, + y = v.addInitLock, + w = v.removeVariable, + O = v.addVariable, + x = v.changeVariableProp, + k = v.changeVariableOrder, + j = v.storeNewVariable, + S = v.duplicateVariable, + E = v.setCurrentVariableValue, + C = v.changeVariableType, + P = v.removeInitLock, + T = v.resolveInitLock, + D = function (e) { + return Array.isArray(e.tags); + }; + }, + nABS: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }), + n.d(t, "c", function () { + return d; + }), + n.d(t, "d", function () { + return p; + }); + var r = n("i7Pf"), + a = n("ZFWI"); + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var s = { + invitees: [], + users: [], + searchQuery: "", + canInvite: !a.b.externalUserMngLinkName, + externalUserMngInfo: a.b.externalUserMngInfo, + externalUserMngLinkName: a.b.externalUserMngLinkName, + externalUserMngLinkUrl: a.b.externalUserMngLinkUrl, + hasFetched: !1, + }, + c = Object(r.c)({ + name: "users", + initialState: s, + reducers: { + usersLoaded: function (e, t) { + return i({}, e, { hasFetched: !0, users: t.payload }); + }, + inviteesLoaded: function (e, t) { + return i({}, e, { hasFetched: !0, invitees: t.payload }); + }, + setUsersSearchQuery: function (e, t) { + return i({}, e, { searchQuery: t.payload }); + }, + }, + }), + u = c.actions, + f = u.inviteesLoaded, + d = u.setUsersSearchQuery, + p = u.usersLoaded, + h = c.reducer; + t.a = { users: h }; + }, + nHyz: function (e, t) {}, + nfvv: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return r; + }), + n.d(t, "b", function () { + return a; + }); + var r = { + keepTime: "__url_time_range", + timeRangeFrom: "__from", + timeRangeTo: "__to", + includeVars: "__all_variables", + seriesName: "__series.name", + fieldName: "__field.name", + valueTime: "__value.time", + valueNumeric: "__value.numeric", + valueText: "__value.text", + valueRaw: "__value.raw", + valueCalc: "__value.calc", + }, + a = function (e) { + return e.getLinks().map(function (e) { + return { + label: e.title, + url: e.href, + target: e.target, + icon: "fa ".concat( + "_self" === e.target ? "fa-link" : "fa-external-link" + ), + onClick: e.onClick, + }; + }); + }; + }, + nnkO: function (e, t) {}, + nvwu: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("kDDq"); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function u(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function f(e) { + return (f = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function d(e, t) { + return (d = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var p = (function (e) { + function t() { + var e, n; + s(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = u(this, (e = f(t)).call.apply(e, [this].concat(a)))).state = { + isEditing: !1, + currentAdminOption: n.props.isGrafanaAdmin ? "YES" : "NO", + }), + (n.onChangeClick = function () { + n.setState({ isEditing: !0 }); + }), + (n.onCancelClick = function () { + n.setState({ + isEditing: !1, + currentAdminOption: n.props.isGrafanaAdmin ? "YES" : "NO", + }); + }), + (n.onGrafanaAdminChange = function () { + var e = "YES" === n.state.currentAdminOption; + n.props.onGrafanaAdminChange(e); + }), + (n.onAdminOptionSelect = function (e) { + n.setState({ currentAdminOption: e.target.value }); + }), + n + ); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && d(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.isGrafanaAdmin, + t = this.state, + n = t.isEditing, + r = t.currentAdminOption, + l = Object(i.cx)("pull-right"); + return a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + "h3", + { className: "page-heading" }, + "Permissions" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "table", + { className: "filter-table form-inline" }, + a.a.createElement( + "tbody", + null, + a.a.createElement( + "tr", + null, + a.a.createElement( + "td", + { className: "width-16" }, + "Grafana Admin" + ), + n + ? a.a.createElement( + "td", + { colSpan: 2 }, + a.a.createElement( + "div", + { + className: + "gf-form-select-wrapper width-8", + }, + a.a.createElement( + "select", + { + value: r, + className: "gf-form-input", + onChange: this.onAdminOptionSelect, + }, + ["YES", "NO"].map(function (e, t) { + return a.a.createElement( + "option", + { + value: e, + key: "".concat(e, "-").concat(t), + }, + e + ); + }) + ) + ) + ) + : a.a.createElement( + "td", + { colSpan: 2 }, + e + ? a.a.createElement( + a.a.Fragment, + null, + a.a.createElement("i", { + className: "gicon gicon-shield", + }), + " Yes" + ) + : a.a.createElement( + a.a.Fragment, + null, + "No" + ) + ), + a.a.createElement( + "td", + null, + a.a.createElement( + "div", + { className: l }, + a.a.createElement( + o.ConfirmButton, + { + className: "pull-right", + onClick: this.onChangeClick, + onConfirm: this.onGrafanaAdminChange, + onCancel: this.onCancelClick, + confirmText: "Change", + }, + "Change" + ) + ) + ) + ) + ) + ) + ) + ) + ); + }, + }, + ]) && c(n.prototype, r), + l && c(n, l), + t + ); + })(r.PureComponent); + }, + nwiq: function (e, t, n) { + "use strict"; + function r(e, t, n) { + var r = Math.sqrt(50), + a = Math.sqrt(10), + o = Math.sqrt(2), + i = Math.abs(t - e) / Math.max(0, n), + l = Math.pow(10, Math.floor(Math.log(i) / Math.LN10)), + s = i / l; + return ( + s >= r ? (l *= 10) : s >= a ? (l *= 5) : s >= o && (l *= 2), + t < e ? -l : l + ); + } + function a(e, t) { + return e - Math.floor(Math.log(t) / Math.LN10); + } + function o(e, t, n, r) { + var a, + o = (t - e) / n, + i = -Math.floor(Math.log(o) / Math.LN10), + l = r, + s = Math.pow(10, -i), + c = o / s; + return ( + c < 1.5 + ? (a = 1) + : c < 3 + ? ((a = 2), + c > 2.25 && (null == l || i + 1 <= l) && ((a = 2.5), ++i)) + : (a = c < 7.5 ? 5 : 10), + (a *= s) + ); + } + function i(e, t, n, r) { + var a = +(null != e ? e : n), + o = +(null != t ? t : r), + i = o - a; + if (0 === i) { + var l = Math.abs(0 === o ? 1 : 0.25 * o); + null === e && (a -= l), (null != t && null == e) || (o += l); + } else { + null == e && (a -= 0.02 * i) < 0 && null != n && n >= 0 && (a = 0), + null == t && (o += 0.02 * i) > 0 && null != r && r <= 0 && (o = 0); + } + return { min: a, max: o }; + } + function l(e, t, n, r) { + var a, + o = i(n.min, n.max, e, t), + l = o.min, + s = (o.max - l) / (0.3 * Math.sqrt(r)), + c = -Math.floor(Math.log(s) / Math.LN10), + u = Math.pow(10, -c), + f = s / u; + f < 1.5 + ? (a = 1) + : f < 3 + ? ((a = 2), f > 2.25 && (a = 2.5)) + : (a = f < 7.5 ? 5 : 10), + (a *= u); + var d = Math.max(0, 1 - Math.floor(Math.log(s) / Math.LN10)); + return { + tickDecimals: d, + scaledDecimals: d - Math.floor(Math.log(a) / Math.LN10), + }; + } + function s(e, t, n) { + if (t && n && e) { + var r = n - t, + a = r / e / 1e3; + return a <= 45 + ? "%H:%M:%S" + : a <= 7200 || r <= 864e5 + ? "%H:%M" + : a <= 8e4 + ? p() + " %H:%M" + : a <= 2419200 || r <= 31536e6 + ? p() + : (function () { + var e = d({ + year: "numeric", + month: "numeric", + timeZone: "UTC", + }); + if (!e) return "%Y-%m"; + return e.replace("1977", "%Y").replace("12", "%m"); + })(); + } + return "%H:%M"; + } + function c(e, t) { + return Math.log(e) / Math.log(t); + } + function u(e) { + return f(e.toString()); + } + function f(e) { + if (isNaN(e)) return 0; + var t = e.indexOf("."); + return -1 === t ? 0 : e.length - t - 1; + } + function d(e) { + var t = navigator.languages + ? navigator.languages[0] + : navigator.language || "en-GB"; + try { + return new Date(Date.UTC(1977, 11, 20, 0, 0, 0)).toLocaleDateString( + t, + e + ); + } catch (e) { + if ("RangeError" !== e.name) return ""; + } + return ""; + } + function p() { + var e = d({ month: "numeric", day: "numeric", timeZone: "UTC" }); + return e ? e.replace("12", "%m").replace("20", "%d") : "%d-%m"; + } + n.r(t), + n.d(t, "tickStep", function () { + return r; + }), + n.d(t, "getScaledDecimals", function () { + return a; + }), + n.d(t, "getFlotTickSize", function () { + return o; + }), + n.d(t, "getFlotRange", function () { + return i; + }), + n.d(t, "getFlotTickDecimals", function () { + return l; + }), + n.d(t, "grafanaTimeFormat", function () { + return s; + }), + n.d(t, "logp", function () { + return c; + }), + n.d(t, "getPrecision", function () { + return u; + }), + n.d(t, "getStringPrecision", function () { + return f; + }); + }, + o85q: function (e, t) {}, + oEIk: function (e, t, n) { + "use strict"; + n.d(t, "d", function () { + return x; + }), + n.d(t, "a", function () { + return k; + }), + n.d(t, "c", function () { + return j; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("Zss7"), + l = n.n(i), + s = n("MIBK"), + c = n("oeKk"), + u = n("4Qg+"); + function f() { + return (f = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function d(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function p() { + var e = w([ + "\n label: button-icon-wrap;\n & + * {\n margin-left: ", + ";\n }\n ", + ]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h() { + var e = w(["\n padding-right: 0;\n "]); + return ( + (h = function () { + return e; + }), + e + ); + } + function m() { + var e = w(["\n padding-left: ", ";\n "]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g() { + var e = w(["\n ", "\n "]); + return ( + (g = function () { + return e; + }), + e + ); + } + function b() { + var e = w([ + "\n label: button;\n display: inline-flex;\n align-items: center;\n font-weight: ", + ";\n font-family: ", + ";\n line-height: ", + ";\n font-size: ", + ";\n padding: ", + ";\n height: ", + ";\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid ", + ";\n border-radius: ", + ";\n ", + ";\n\n &[disabled],\n &:disabled {\n cursor: not-allowed;\n opacity: 0.65;\n box-shadow: none;\n }\n ", + ]); + return ( + (b = function () { + return e; + }), + e + ); + } + function v() { + var e = w([ + "\n &:focus {\n outline: none;\n box-shadow: none;\n }\n ", + ]); + return ( + (v = function () { + return e; + }), + e + ); + } + function y() { + var e = w([ + "\n background: linear-gradient(180deg, ", + " 0%, ", + " 100%);\n color: ", + ";\n &:hover {\n background: ", + ";\n color: ", + ";\n }\n\n &:focus {\n background: ", + ";\n outline: none;\n }\n", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var O = function (e, t, n) { + return Object(o.css)(y(), e, t, n, e, n, e); + }, + x = Object(s.g)(function (e) { + var t = e.theme, + n = e.size, + r = e.variant, + a = Object(u.c)(t, n), + i = a.padding, + c = a.fontSize, + f = a.height, + d = (function (e, t) { + switch (t) { + case "secondary": + var n = Object(s.e)( + { light: e.colors.gray7, dark: e.colors.gray15 }, + e.type + ), + r = Object(s.e)( + { + light: l()(n).darken(5).toString(), + dark: l()(n).lighten(4).toString(), + }, + e.type + ); + return { + borderColor: Object(s.e)( + { light: e.colors.gray85, dark: e.colors.gray25 }, + e.type + ), + background: O( + n, + r, + Object(s.e)( + { light: e.colors.gray25, dark: e.colors.gray4 }, + e.type + ) + ), + }; + case "destructive": + return { + borderColor: e.colors.redShade, + background: O( + e.colors.redBase, + e.colors.redShade, + e.colors.white + ), + }; + case "link": + return { + borderColor: "transparent", + background: O( + "transparent", + "transparent", + e.colors.linkExternal + ), + variantStyles: Object(o.css)(v()), + }; + case "primary": + default: + return { + borderColor: e.colors.blueShade, + background: O( + e.colors.blueBase, + e.colors.blueShade, + e.colors.white + ), + }; + } + })(t, r), + y = d.background, + w = d.borderColor, + x = d.variantStyles; + return { + button: Object(o.cx)( + Object(o.css)( + b(), + t.typography.weight.semibold, + t.typography.fontFamily.sansSerif, + t.typography.lineHeight.sm, + c, + i, + f, + w, + t.border.radius.sm, + y + ), + Object(u.b)(t), + Object(o.css)(g(), x) + ), + buttonWithIcon: Object(o.css)(m(), t.spacing.sm), + iconButton: Object(o.css)(h()), + iconWrap: Object(o.css)(p(), t.spacing.sm), + }; + }), + k = a.a.forwardRef(function (e, t) { + var n = e.variant, + o = d(e, ["variant"]), + i = Object(r.useContext)(s.a), + l = x({ theme: i, size: o.size || "md", variant: n || "primary" }); + return a.a.createElement( + c.a, + f({}, o, { variant: n, styles: l, ref: t }) + ); + }), + j = a.a.forwardRef(function (e, t) { + var n = e.variant, + o = d(e, ["variant"]), + i = Object(r.useContext)(s.a), + l = x({ theme: i, size: o.size || "md", variant: n || "primary" }); + return a.a.createElement( + c.b, + f({}, o, { variant: n, styles: l, ref: t }) + ); + }); + }, + oEL2: function (e, t) { + var n = "public/app/features/panel/partials/query_editor_row.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put(n, "<div ng-transclude class=gf-form-query-content></div>\n\n"); + }, + ]), + (e.exports = n); + }, + oOjz: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "h", function () { + return o; + }), + n.d(t, "b", function () { + return i; + }), + n.d(t, "c", function () { + return l; + }), + n.d(t, "d", function () { + return s; + }), + n.d(t, "g", function () { + return c; + }), + n.d(t, "f", function () { + return u; + }), + n.d(t, "e", function () { + return f; + }); + var r = [ + "(", + "[", + "{", + "}", + "]", + ")", + "|", + "*", + "+", + "-", + ".", + "?", + "<", + ">", + "#", + "&", + "^", + "$", + ], + a = function (e) { + return e + ? r.reduce(function (e, t) { + return e.replace(t, "\\" + t); + }, e) + : e; + }, + o = function (e) { + return e + ? r.reduce(function (e, t) { + return e.replace("\\" + t, t); + }, e) + : e; + }; + function i(e) { + return !!e && "/" === e[0]; + } + function l(e) { + if (!i(e)) return new RegExp("^".concat(e, "$")); + var t = e.match(new RegExp("^/(.*?)/(g?i?m?y?)$")); + if (!t) + throw new Error( + "'".concat(e, "' is not a valid regular expression.") + ); + return new RegExp(t[1], t[2]); + } + function s(e) { + if (!e) return 0; + var t = parseInt(e, 10), + n = e.substr(String(t).length); + switch (n) { + case "s": + return 1e3 * t; + case "m": + return 6e4 * t; + case "h": + return 36e5 * t; + case "d": + return 864e5 * t; + default: + if (!n) return isNaN(t) ? 0 : t; + throw new Error("Not supported unit: " + n); + } + } + function c(e) { + return null != e && Number.isFinite(e) ? e.toString() : ""; + } + function u(e) { + if (e) { + var t = parseInt(e, 10); + return isNaN(t) ? void 0 : t; + } + } + function f(e) { + if (e) { + var t = parseFloat(e); + return isNaN(t) ? void 0 : t; + } + } + }, + oZti: function (e, t) { + var n = "public/app/features/panel/partials/panelTime.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class="fa fa-clock-o"></i>\n\t\t</span>\n\n\t\t<span class="gf-form-label width-12">Override relative time</span>\n\t\t<span class="gf-form-label width-6">Last</span>\n\n\t\t<input type=text class="gf-form-input max-width-8" placeholder=1h empty-to-null ng-model=ctrl.panel.timeFrom valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class="fa fa-clock-o"></i>\n\t\t</span>\n\t\t<span class="gf-form-label width-12">Add time shift</span>\n\t\t<span class="gf-form-label width-6">Amount</span>\n\t\t<input type=text class="gf-form-input max-width-8" placeholder=1h empty-to-null ng-model=ctrl.panel.timeShift valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class="fa fa-clock-o"></i>\n\t\t\t</span>\n\t\t</div>\n\t\t<gf-form-switch class="gf-form max-width-30" label="Hide time override info" label-class=width-12 checked=ctrl.panel.hideTimeOverride switch-class=max-width-6 on-change=ctrl.refresh()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n\n\n' + ); + }, + ]), + (e.exports = n); + }, + oeKk: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("MIBK"), + i = n("Zss7"), + l = n.n(i), + s = n("kDDq"); + function c() { + var e = h([ + "\n label: button-icon-wrap;\n & + * {\n margin-left: ", + ";\n }\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = h([ + "\n label: button;\n display: inline-flex;\n align-items: center;\n font-weight: ", + ";\n font-size: ", + ";\n font-family: ", + ";\n line-height: ", + ";\n padding: ", + ";\n vertical-align: middle;\n cursor: pointer;\n border: none;\n height: ", + ";\n border-radius: ", + ";\n ", + ";\n\n &[disabled],\n &:disabled {\n cursor: not-allowed;\n opacity: 0.65;\n box-shadow: none;\n }\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = h([ + "\n ", + ";\n background: transparent;\n ", + ]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d() { + var e = h([ + "\n ", + ";\n background: transparent;\n ", + ]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p() { + var e = h([ + "\n background: linear-gradient(to bottom, ", + ", ", + ");\n color: ", + ";\n text-shadow: 0 ", + " ", + ";\n &:hover {\n background: ", + ";\n color: ", + ";\n }\n\n &:focus {\n background: ", + ";\n outline: none;\n }\n", + ]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var m = function (e, t, n) { + var r = + arguments.length > 3 && void 0 !== arguments[3] + ? arguments[3] + : "rgba(0, 0, 0, 0.1)", + a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4]; + return Object(s.css)(p(), e, t, n, a ? "1px" : "-1px", r, e, n, e); + }, + g = Object(o.g)(function (e) { + var t, + n = e.theme, + r = e.size, + a = e.variant, + i = e.textAndIcon, + p = n.border.radius.sm, + h = b(n, r, !!i), + g = h.padding, + v = h.fontSize, + y = h.height, + w = h.fontWeight; + switch (a) { + case "primary": + t = m(n.colors.greenBase, n.colors.greenShade, n.colors.white); + break; + case "secondary": + t = m(n.colors.blueBase, n.colors.blueShade, n.colors.white); + break; + case "danger": + t = m(n.colors.redBase, n.colors.redShade, n.colors.white); + break; + case "inverse": + var O = Object(o.e)( + { light: n.colors.gray5, dark: n.colors.dark6 }, + n.type + ), + x = Object(o.e)( + { + light: l()(O).darken(5).toString(), + dark: l()(O).lighten(4).toString(), + }, + n.type + ); + t = m(O, x, n.colors.link, "rgba(0, 0, 0, 0.1)", !0); + break; + case "transparent": + t = Object(s.css)( + d(), + m("", "", n.colors.link, "rgba(0, 0, 0, 0.1)", !0) + ); + break; + case "link": + t = Object(s.css)( + f(), + m("", "", n.colors.linkExternal, "rgba(0, 0, 0, 0.1)", !0) + ); + } + return { + button: Object(s.css)( + u(), + w, + v, + n.typography.fontFamily.sansSerif, + n.typography.lineHeight.xs, + g, + y, + p, + t + ), + iconWrap: Object(s.css)(c(), n.spacing.sm), + }; + }), + b = function (e, t, n) { + switch (t) { + case "sm": + return { + padding: "".concat(e.spacing.xs, " ").concat(e.spacing.sm), + fontSize: e.typography.size.sm, + height: e.height.sm, + fontWeight: e.typography.weight.semibold, + }; + case "md": + var r = n ? e.spacing.sm : e.spacing.md; + return { + padding: "" + .concat(e.spacing.sm, " ") + .concat(e.spacing.md, " ") + .concat(e.spacing.sm, " ") + .concat(r), + fontSize: e.typography.size.md, + height: e.height.md, + fontWeight: e.typography.weight.semibold, + }; + case "lg": + var a = n ? e.spacing.md : e.spacing.lg; + return { + padding: "" + .concat(e.spacing.md, " ") + .concat(e.spacing.lg, " ") + .concat(e.spacing.md, " ") + .concat(a), + fontSize: e.typography.size.lg, + height: e.height.lg, + fontWeight: e.typography.weight.regular, + }; + default: + var o = n ? e.spacing.sm : e.spacing.md; + return { + padding: "" + .concat(e.spacing.sm, " ") + .concat(e.spacing.md, " ") + .concat(e.spacing.sm, " ") + .concat(o), + fontSize: e.typography.size.base, + height: e.height.md, + fontWeight: e.typography.weight.regular, + }; + } + }; + function v() { + var e = w([ + "\n position: relative;\n top: 1px;\n & + * {\n margin-left: ", + ";\n }\n ", + ]); + return ( + (v = function () { + return e; + }), + e + ); + } + function y() { + var e = w([ + "\n display: flex;\n flex-direction: row;\n align-items: center;\n white-space: nowrap;\n height: 100%;\n ", + ]); + return ( + (y = function () { + return e; + }), + e + ); + } + function w(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + var O = Object(o.g)(function (e) { + return { + content: Object(s.css)(y()), + icon: Object(s.css)(v(), e.spacing.sm), + }; + }); + function x(e) { + var t = e.icon, + n = e.children, + r = Object(o.h)(), + i = O(r); + if (!n) + return a.a.createElement( + "span", + { className: i.content }, + a.a.createElement("i", { className: t }) + ); + var l = + t && + a.a.createElement( + "span", + { className: i.icon }, + a.a.createElement("i", { className: t }) + ); + return a.a.createElement( + "span", + { className: i.content }, + l, + a.a.createElement("span", null, n) + ); + } + function k() { + return (k = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function j(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + n.d(t, "a", function () { + return S; + }), + n.d(t, "b", function () { + return E; + }); + var S = a.a.forwardRef(function (e, t) { + var n = Object(r.useContext)(o.a), + i = e.size, + l = e.variant, + c = e.icon, + u = e.children, + f = e.className, + d = e.styles, + p = j(e, [ + "size", + "variant", + "icon", + "children", + "className", + "styles", + ]); + p.type = p.type || "button"; + var h = + d || + g({ + theme: n, + size: i || "md", + variant: l || "primary", + textAndIcon: !(!u || !c), + }); + return a.a.createElement( + "button", + k({ className: Object(s.cx)(h.button, f) }, p, { ref: t }), + a.a.createElement(x, { icon: c }, u) + ); + }); + S.displayName = "Button"; + var E = a.a.forwardRef(function (e, t) { + var n = Object(r.useContext)(o.a), + i = e.size, + l = e.variant, + c = e.icon, + u = e.children, + f = e.className, + d = e.styles, + p = j(e, [ + "size", + "variant", + "icon", + "children", + "className", + "styles", + ]), + h = + d || + g({ + theme: n, + size: i || "md", + variant: l || "primary", + textAndIcon: !(!u || !c), + }); + return a.a.createElement( + "a", + k({ className: Object(s.cx)(h.button, f) }, p, { ref: t }), + a.a.createElement(x, { icon: c }, u) + ); + }); + E.displayName = "LinkButton"; + }, + okuo: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("t8hP"), + a = {}; + function o(e) { + var t = a[e]; + return t + ? Promise.resolve(t) + : Object(r.getBackendSrv)() + .get("/api/plugins/".concat(e, "/settings")) + .then(function (t) { + return (a[e] = t), t; + }) + .catch(function (e) { + return Promise.reject("Unknown Plugin"); + }); + } + }, + "p+Sq": function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return g; + }), + n.d(t, "a", function () { + return b; + }); + var r = n("Obii"), + a = n("txxJ"), + o = n("Xmxp"), + i = n("rd46"), + l = n("+JUD"), + s = n("GQ3c"), + c = n("NXk7"), + u = n("2KQq"); + function f(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function d(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function p(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var h, + m = (function () { + function e(t, n) { + var a = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.$location = n), + (this.onRemovePanel = function (e) { + var t = a.getCurrent(); + Object(l.e)(t, t.getPanelById(e), !0); + }), + (this.onPanelChangeView = function (e) { + var t = e.fullscreen, + n = void 0 !== t && t, + r = e.edit, + o = void 0 !== r && r, + i = e.panelId, + l = a.$location.search(); + if (n !== l.fullscreen || o !== !!l.edit) { + var s = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? f(Object(n), !0).forEach(function (t) { + d(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : f(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, l, { + fullscreen: n || void 0, + edit: o || void 0, + tab: o ? l.tab : void 0, + panelId: i, + }); + Object.keys(s).forEach(function (e) { + void 0 === s[e] && delete s[e]; + }), + a.$location.search(s); + } else { + for ( + var c = 0, u = ["fullscreen", "edit", "panelId", "tab"]; + c < u.length; + c++ + ) { + delete l[u[c]]; + } + a.$location.search(l); + } + }), + o.a.on(r.PanelEvents.panelChangeView, this.onPanelChangeView), + o.a.on(s.CoreEvents.removePanel, this.onRemovePanel); + } + var t, n, a; + return ( + (e.$inject = ["$rootScope", "$location"]), + (t = e), + (n = [ + { + key: "create", + value: function (e, t) { + return new i.a(e, t); + }, + }, + { + key: "setCurrent", + value: function (e) { + this.dashboard = e; + }, + }, + { + key: "getCurrent", + value: function () { + return this.dashboard; + }, + }, + { + key: "saveJSONDashboard", + value: function (e) { + var t = JSON.parse(e); + return Object(c.c)().saveDashboard(t, { + folderId: this.dashboard.meta.folderId || t.folderId, + }); + }, + }, + { + key: "starDashboard", + value: function (e, t) { + var n = this; + return (t + ? Object(u.a)(this.$rootScope)( + c.b + .delete("/api/user/stars/dashboard/" + e) + .then(function () { + return !1; + }) + ) + : Object(u.a)(this.$rootScope)( + c.b + .post("/api/user/stars/dashboard/" + e) + .then(function () { + return !0; + }) + ) + ).then(function (t) { + return ( + n.dashboard && + n.dashboard.id === e && + (n.dashboard.meta.isStarred = t), + t + ); + }); + }, + }, + ]) && p(t.prototype, n), + a && p(t, a), + e + ); + })(); + function g(e) { + h = e; + } + function b() { + return h; + } + a.c.service("dashboardSrv", m); + }, + "pCo/": function (e, t) { + var n = + "public/app/plugins/datasource/testdata/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Scenario</label>\n\t\t\t<div class="gf-form-select-wrapper width-15">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.target.scenarioId ng-options="v.id as v.name for v in ctrl.scenarioList" ng-change=ctrl.scenarioChanged() aria-label={{ctrl.selectors.scenarioSelect}}></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="gf-form gf-form gf-form--grow" ng-if=ctrl.scenario.stringInput>\n\t\t\t<label class="gf-form-label query-keyword">String Input</label>\n <input type=text class=gf-form-input placeholder={{ctrl.scenario.stringInput}} ng-model=ctrl.target.stringInput ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Alias</label>\n\t\t\t<input type=text class="gf-form-input width-14" placeholder=optional ng-model=ctrl.target.alias ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=ctrl.showLabels class="gf-form gf-form--grow">\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\tLabels\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tSet labels using a key=value syntax:<br/>\n\t\t\t\t\t{key="value", key2="value"}<br/>\n\t\t\t\t\tkey="value", key2="value"<br/>\n\t\t\t\t\tkey=value, key2=value<br/>\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class="gf-form-input gf-form--grow" placeholder="key=value, key2=value2" ng-model=ctrl.target.labels ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=!ctrl.showLabels class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'manual_entry\'">\n\t\t<div class="gf-form gf-form">\n\t\t\t<label class="gf-form-label query-keyword width-7">New value</label>\n <input type=number class="gf-form-input width-15" placeholder=value ng-model=ctrl.newPointValue>\n\t\t\t<label class="gf-form-label query-keyword">Time</label>\n <input type=string class="gf-form-input width-12" placeholder=time ng-model=ctrl.newPointTime>\n\t\t\t<button class="btn btn-secondary gf-form-btn" ng-click=ctrl.addPoint()>Add</button>\n\t\t\t<label class="gf-form-label query-keyword">All values</label>\n\t\t\t<gf-form-dropdown css-class=width-12 model=ctrl.selectedPoint get-options=ctrl.getPoints() on-change=ctrl.pointSelected($option)>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form gf-form" ng-if="ctrl.selectedPoint.value !== null">\n\t\t\t<button class="btn btn-danger gf-form-btn" ng-click=ctrl.deletePoint()>Delete</button>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n <div class=gf-form-inline ng-if="ctrl.scenario.id === \'random_walk\'">\n <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Series count</label>\n\t\t\t<input type=number class="gf-form-input width-7" placeholder=1 ng-model=ctrl.target.seriesCount min=1 step=1 ng-change=ctrl.refresh() />\n\t\t</div>\n <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Start value</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=auto ng-model=ctrl.target.startValue step=1 ng-change=ctrl.refresh() />\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Spread</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=1 ng-model=ctrl.target.spread min=0.5 step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Noise</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=0 ng-model=ctrl.target.noise min=0 step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Min</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=none ng-model=ctrl.target.min step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Max</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=none ng-model=ctrl.target.max step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n </div>\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'streaming_client\'">\n\t\t<div class="gf-form gf-form">\n\t\t\t<label class="gf-form-label query-keyword width-7">Type</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.stream.type class=gf-form-input ng-options="type for type in [\'signal\',\'logs\', \'fetch\']" ng-change=ctrl.streamChanged() />\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Speed (ms)</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.speed min=10 step=10 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Spread</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.spread min=0.5 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Noise</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.noise min=0 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Bands</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=bands ng-model=ctrl.target.stream.bands min=0 step=1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow" ng-if="ctrl.target.stream.type === \'fetch\'">\n\t\t\t<label class="gf-form-label query-keyword">URL</label>\n\t\t\t<input type=string class="gf-form-input gf-form-label--grow" placeholder="Fetch URL" ng-model=ctrl.target.stream.url ng-change=ctrl.streamChanged() ng-model-onblur/>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow" ng-if="ctrl.target.stream.type !== \'fetch\'">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'logs\'">\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Lines</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=10 ng-model=ctrl.target.lines ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label=Level label-class="query-keyword width-5" checked=ctrl.target.levelColumn switch-class=max-width-6 on-change=ctrl.refresh()></gf-form-switch>\n\t\t</div>\n\t</div>\n\n\t\x3c!-- Predictable Pulse Scenario Options Form --\x3e\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'predictable_pulse\'">\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tStep\n\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=60 ng-model=ctrl.target.pulseWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOn Count\n\t\t\t\t<info-popover mode=right-normal>The number of values within a cycle, at the start of the cycle, that should have the onValue.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class="gf-form-input width-3" placeholder=3 ng-model=ctrl.target.pulseWave.onCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOff Count\n\t\t\t\t<info-popover mode=right-normal>The number of offValues within the cycle.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class="gf-form-input width-3" placeholder=6 ng-model=ctrl.target.pulseWave.offCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOn Value\n\t\t\t\t<info-popover mode=right-normal>The value for "on values", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class="gf-form-input width-5" placeholder=1 ng-model=ctrl.target.pulseWave.onValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOff Value\n\t\t\t\t<info-popover mode=right-normal>The value for "off values", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class="gf-form-input width-5" placeholder=1 ng-model=ctrl.target.pulseWave.offValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t</div>\n\n\t\x3c!-- Predictable CSV Wave Scenario Options Form --\x3e\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'predictable_csv_wave\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\t\tStep\n\t\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t\t</label>\n\t\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=60 ng-model=ctrl.target.csvWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t</div>\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t\t<label class="gf-form-label query-keyword width-10">\n\t\t\t\t\t\t\tCSV Values\n\t\t\t\t\t\t\t<info-popover mode=right-normal>Comma separated values. Each value may be an int, float, or null and must not be empty. Whitespace and trailing commas are removed.</info-popover>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t<input type=string class="gf-form-input gf-form-label--grow" placeholder=1,2,3,2 ng-model=ctrl.target.csvWave.valuesCSV ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t\t</div>\n\t\t</div>\n</query-editor-row>\n' + ); + }, + ]), + (e.exports = n); + }, + pDgv: function (e, t) { + var n = "public/app/plugins/panel/graph/time_regions_form.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<div class=gf-form-group>\n <div class=gf-form-inline ng-repeat=\"timeRegion in ctrl.panel.timeRegions\">\n <div class=gf-form>\n <label class=gf-form-label>T{{$index+1}}</label>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>From</label>\n <div class=gf-form-select-wrapper>\n <select class=\"gf-form-input width-6\" ng-model=timeRegion.fromDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n </div>\n <input type=text ng-maxlength=5 ng-model=timeRegion.from class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n <label class=gf-form-label>To</label>\n <div class=gf-form-select-wrapper>\n <select class=\"gf-form-input width-6\" ng-model=timeRegion.toDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n </div>\n <input type=text ng-maxlength=5 ng-model=timeRegion.to class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>Color</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=timeRegion.colorMode ng-options=\"f.key as f.value for f in ctrl.colorModes\" ng-change=ctrl.render()>\n </select>\n </div>\n </div>\n\n <gf-form-switch class=gf-form label=Fill checked=timeRegion.fill on-change=ctrl.render()></gf-form-switch>\n\n <div class=gf-form ng-if=\"timeRegion.fill && timeRegion.colorMode === 'custom'\">\n <label class=gf-form-label>Fill color</label>\n <span class=gf-form-label>\n <color-picker color=timeRegion.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n </span>\n </div>\n\n <gf-form-switch class=gf-form label=Line checked=timeRegion.line on-change=ctrl.render()></gf-form-switch>\n\n <div class=gf-form ng-if=\"timeRegion.line && timeRegion.colorMode === 'custom'\">\n <label class=gf-form-label>Line color</label>\n <span class=gf-form-label>\n <color-picker color=timeRegion.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n </span>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer ng-click=ctrl.removeTimeRegion($index)>\n <i class=\"fa fa-trash\"></i>\n </a>\n </label>\n </div>\n </div>\n\n <div class=gf-form-button-row>\n <button class=\"btn btn-inverse\" ng-click=ctrl.addTimeRegion()>\n <i class=\"fa fa-plus\"></i> Add time region<tip>All configured time regions refers to UTC time</tip>\n </button>\n </div>\n</div>" + ); + }, + ]), + (e.exports = n); + }, + pFCG: function (e, t, n) { + "use strict"; + var r = n("F03Y"); + function a(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function o(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var i = (function () { + function e() { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 0; + a(this, e), + (this.length = 0), + (this.source = []), + (this.length = t); + } + var t, n, i; + return ( + (t = e), + (n = [ + { + key: "setLength", + value: function (e) { + if (e > this.length) this.length = e; + else if (e < this.length) { + var t = [], + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = this.source[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + if ((t.push(l), l.end > e)) { + l.end = e; + break; + } + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + (this.source = t), (this.length = e); + } + }, + }, + { + key: "append", + value: function (e) { + var t = { + start: this.length, + end: this.length + e.length, + values: e, + }; + return (this.length = t.end), this.source.push(t), t; + }, + }, + { + key: "get", + value: function (e) { + for (var t = 0; t < this.source.length; t++) { + var n = this.source[t]; + if (e >= n.start && e < n.end) + return n.values.get(e - n.start); + } + }, + }, + { + key: "toArray", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "toJSON", + value: function () { + return Object(r.a)(this); + }, + }, + ]) && o(t.prototype, n), + i && o(t, i), + e + ); + })(), + l = n("0uOV"), + s = n("Rabt"); + function c(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var u = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.value = t), + (this.len = n); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "get", + value: function (e) { + return this.value; + }, + }, + { + key: "toArray", + value: function () { + return new Array(this.length).fill(this.value); + }, + }, + { + key: "toJSON", + value: function () { + return this.toArray(); + }, + }, + { + key: "length", + get: function () { + return this.len; + }, + }, + ]) && c(t.prototype, n), + r && c(t, r), + e + ); + })(); + function f(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var d = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.source = t), + (this.scale = n); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "get", + value: function (e) { + return this.source.get(e) * this.scale; + }, + }, + { + key: "toArray", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "toJSON", + value: function () { + return Object(r.a)(this); + }, + }, + { + key: "length", + get: function () { + return this.source.length; + }, + }, + ]) && f(t.prototype, n), + a && f(t, a), + e + ); + })(), + p = n("YmbM"); + n.d(t, "a", function () { + return i; + }), + n.d(t, "b", function () { + return l.a; + }), + n.d(t, "c", function () { + return s.a; + }), + n.d(t, "d", function () { + return u; + }), + n.d(t, "e", function () { + return d; + }), + n.d(t, "f", function () { + return p.a; + }); + }, + phJb: function (e, t) { + var n = "public/app/plugins/panel/alertlist/editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div>\n <div class="section gf-form-group">\n <h5 class=section-heading>Options</h5>\n <div class=gf-form>\n <span class="gf-form-label width-8">Show</span>\n <div class="gf-form-select-wrapper max-width-15">\n <select class=gf-form-input ng-model=ctrl.panel.show ng-options="f.value as f.text for f in ctrl.showOptions" ng-change=ctrl.onRefresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-8">Max items</span>\n <input type=text class="gf-form-input max-width-15" ng-model=ctrl.panel.limit ng-change=ctrl.onRefresh() />\n </div>\n <div class=gf-form ng-show="ctrl.panel.show === \'current\'">\n <span class="gf-form-label width-8">Sort order</span>\n <div class="gf-form-select-wrapper max-width-15">\n <select class=gf-form-input ng-model=ctrl.panel.sortOrder ng-options="f.value as f.text for f in ctrl.sortOrderOptions" ng-change=ctrl.onRefresh()></select>\n </div>\n </div>\n <gf-form-switch class=gf-form label="Alerts from this dashboard" label-class=width-18 checked=ctrl.panel.onlyAlertsOnDashboard on-change=ctrl.updateStateFilter()></gf-form-switch>\n </div>\n <div class="section gf-form-group" ng-show="ctrl.panel.show === \'current\'">\n <h5 class=section-heading>Filter</h5>\n <div class=gf-form>\n <span class="gf-form-label width-8">Alert name</span>\n <input type=text class="gf-form-input max-width-15" ng-model=ctrl.panel.nameFilter placeholder="Alert name query" ng-change=ctrl.onRefresh() />\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-8">Dashboard title</span>\n <input type=text class=gf-form-input placeholder="Dashboard title query" ng-model=ctrl.panel.dashboardFilter ng-change=ctrl.onRefresh() ng-model-onblur>\n </div>\n <div class=gf-form>\n <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange label-class=width-8 initial-title="\'All\'" enable-reset=true>\n </folder-picker>\n </div>\n <div class=gf-form>\n <span class="gf-form-label width-8">Dashboard tags</span>\n <bootstrap-tagsinput ng-model=ctrl.panel.dashboardTags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n </bootstrap-tagsinput>\n </div>\n </div>\n <div class="section gf-form-group" ng-show="ctrl.panel.show === \'current\'">\n <h5 class=section-heading>State filter</h5>\n <gf-form-switch class=gf-form label=Ok label-class=width-10 checked="ctrl.stateFilter[\'ok\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n <gf-form-switch class=gf-form label=Paused label-class=width-10 checked="ctrl.stateFilter[\'paused\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n <gf-form-switch class=gf-form label="No data" label-class=width-10 checked="ctrl.stateFilter[\'no_data\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n <gf-form-switch class=gf-form label="Execution error" label-class=width-10 checked="ctrl.stateFilter[\'execution_error\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n <gf-form-switch class=gf-form label=Alerting label-class=width-10 checked="ctrl.stateFilter[\'alerting\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n <gf-form-switch class=gf-form label=Pending label-class=width-10 checked="ctrl.stateFilter[\'pending\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + pu3h: function (e, t) {}, + qOGI: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return f; + }), + n.d(t, "c", function () { + return d; + }), + n.d(t, "d", function () { + return p; + }); + var r = n("3ulR"), + a = n("Obii"), + o = n("i7Pf"); + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + s(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function s(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var c = Object(o.c)({ + name: "alertRules", + initialState: { items: [], searchQuery: "", isLoading: !1 }, + reducers: { + loadAlertRules: function (e) { + return l({}, e, { isLoading: !0 }); + }, + loadedAlertRules: function (e, t) { + var n = t.payload.map(function (e) { + return (function (e, t) { + var n = r.a.getStateDisplayModel(t), + o = l({}, e, { + stateText: n.text, + stateIcon: n.iconClass, + stateClass: n.stateClass, + stateAge: Object(a.dateTime)(e.newStateDate).fromNow(!0), + }); + return ( + "paused" !== o.state && + (o.executionError && + (o.info = "Execution Error: " + o.executionError), + o.evalData && + o.evalData.noData && + (o.info = "Query returned no data")), + o + ); + })(e, e.state); + }); + return l({}, e, { items: n, isLoading: !1 }); + }, + setSearchQuery: function (e, t) { + return l({}, e, { searchQuery: t.payload }); + }, + }, + }), + u = c.actions, + f = u.loadAlertRules, + d = u.loadedAlertRules, + p = u.setSearchQuery, + h = c.reducer; + t.a = { alertRules: h }; + }, + qQGB: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = n("Wwog"); + function a(e) { + return Object(r.a)(e); + } + }, + qrvd: function (e, t) { + var n = + "public/app/features/dashboard/components/ExportDataModal/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body>\n <div class=modal-header>\n <h2 class=modal-header-title>\n Export CSV\n </h2>\n\n <a class=modal-header-close ng-click=ctrl.dismiss();>\n <i class="fa fa-remove"></i>\n </a>\n </div>\n\n <div class=modal-content>\n <div class=p-t-2>\n <div class=gf-form ng-hide="ctrl.panel === \'table\'">\n <label class="gf-form-label width-10">Mode</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=ctrl.asRows ng-options="f.value as f.text for f in [{text: \'Series as rows\', value: true}, {text: \'Series as columns\', value: false}]">\n </select>\n </div>\n </div>\n <div class=gf-form ng-hide="ctrl.panel === \'table\'">\n <label class="gf-form-label width-10">Date Time Format</label>\n <input type=text class=gf-form-input ng-model=ctrl.dateTimeFormat>\n </div>\n <gf-form-switch class=gf-form label="Excel CSV Dialect" label-class=width-10 switch-class=max-width-6 checked=ctrl.excel>\n </gf-form-switch>\n </div>\n\n <div class="gf-form-button-row text-center">\n <a class="btn btn-primary" ng-click=ctrl.export();>Export</a>\n <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + rCnR: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"); + function i(e) { + return (i = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function s(e, t) { + return !t || ("object" !== i(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function c(e) { + return (c = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function u(e, t) { + return (u = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var f = (function (e) { + function t(e) { + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + s(this, c(t).call(this, e)) + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && u(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.label, + n = e.removeIcon, + r = e.count, + i = Object(o.getTagColorsFromName)(t), + l = { backgroundColor: i.color, borderColor: i.borderColor }, + s = + 0 !== r && + a.a.createElement( + "span", + { className: "tag-count-label" }, + "(".concat(r, ")") + ); + return a.a.createElement( + "span", + { className: "label label-tag", style: l }, + n && a.a.createElement("i", { className: "fa fa-remove" }), + t, + " ", + s + ); + }, + }, + ]) && l(n.prototype, r), + i && l(n, i), + t + ); + })(a.a.Component); + }, + rEbV: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return d; + }); + var r = n("q1tI"); + function a(e) { + return (a = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function o(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function i(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : o(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + return !t || ("object" !== a(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function u(e) { + return (u = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function f(e, t) { + return (f = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var d = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = c(this, u(t).call(this, e))).showPopper = function () { + n.hideTimeout && clearTimeout(n.hideTimeout), + n.setState(function (e) { + return i({}, e, { show: !0 }); + }); + }), + (n.hidePopper = function () { + 0 === n.props.hideAfter + ? n.setState(function (e) { + return i({}, e, { show: !1 }); + }) + : (n.hideTimeout = setTimeout(function () { + n.setState(function (e) { + return i({}, e, { show: !1 }); + }); + }, n.props.hideAfter)); + }), + (n.state = { placement: n.props.placement || "auto", show: !1 }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && f(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "UNSAFE_componentWillReceiveProps", + value: function (e) { + e.placement && + e.placement !== this.state.placement && + this.setState(function (t) { + return i({}, t, { placement: e.placement || "auto" }); + }); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.children, + n = e.content, + r = this.state, + a = r.show, + o = r.placement; + return t(this.showPopper, this.hidePopper, { + show: a, + placement: o, + content: n, + }); + }, + }, + ]) && s(n.prototype, r), + a && s(n, a), + t + ); + })(n.n(r).a.Component); + }, + rd46: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("kDLi"), + i = n("eXZ6"), + l = n("1524"), + s = n("umNM"); + function c(e) { + if (a.a.isArray(e)) return e.map(c); + if (a.a.isPlainObject(e)) { + var t = {}, + n = !0, + r = !1, + o = void 0; + try { + for ( + var i, l = a.a.keys(e).sort()[Symbol.iterator](); + !(n = (i = l.next()).done); + n = !0 + ) { + var s = i.value; + t[s] = c(e[s]); + } + } catch (e) { + (r = !0), (o = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw o; + } + } + return t; + } + return e; + } + var u = n("K47g"); + var f = n("0Mjz"), + d = n("PbtU"); + function p(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function h(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? p(Object(n), !0).forEach(function (t) { + m(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : p(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function m(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function g(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function b(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function v(e, t, n) { + return t && b(e.prototype, t), n && b(e, n), e; + } + var y = (function () { + function e(t) { + g(this, e), (this.dashboard = t); + } + return ( + v(e, [ + { + key: "updateSchema", + value: function (e) { + var t, + n, + r, + o, + l = this.dashboard.schemaVersion, + s = []; + if ( + ((this.dashboard.schemaVersion = 22), + l !== this.dashboard.schemaVersion) + ) { + if ( + (l < 2 && + (e.services && + e.services.filter && + ((this.dashboard.time = e.services.filter.time), + (this.dashboard.templating.list = + e.services.filter.list || [])), + s.push(function (e) { + "graphite" === e.type && (e.type = "graph"), + "graph" === e.type && + (a.a.isBoolean(e.legend) && + (e.legend = { show: e.legend }), + e.grid && + (e.grid.min && + ((e.grid.leftMin = e.grid.min), + delete e.grid.min), + e.grid.max && + ((e.grid.leftMax = e.grid.max), + delete e.grid.max)), + e.y_format && + (e.y_formats || (e.y_formats = []), + (e.y_formats[0] = e.y_format), + delete e.y_format), + e.y2_format && + (e.y_formats || (e.y_formats = []), + (e.y_formats[1] = e.y2_format), + delete e.y2_format)); + })), + l < 3) + ) { + var c = this.dashboard.getNextPanelId(); + s.push(function (e) { + e.id || ((e.id = c), (c += 1)); + }); + } + if ( + (l < 4 && + s.push(function (e) { + "graph" === e.type && + (a.a.each(e.aliasYAxis, function (t, n) { + e.seriesOverrides = [{ alias: n, yaxis: t }]; + }), + delete e.aliasYAxis); + }), + l < 6) + ) { + var u = a.a.find(e.pulldowns, { type: "annotations" }); + u && + (this.dashboard.annotations = { + list: u.annotations || [], + }); + var f = this.dashboard.getVariables(); + for (t = 0; t < f.length; t++) { + var d = f[t]; + void 0 === d.datasource && (d.datasource = null), + "filter" === d.type && (d.type = "query"), + void 0 === d.type && (d.type = "query"), + void 0 === d.allFormat && (d.allFormat = "glob"); + } + } + if ( + (l < 7 && + (e.nav && + e.nav.length && + (this.dashboard.timepicker = e.nav[0]), + s.push(function (e) { + a.a.each(e.targets, function (t) { + t.refId || + (t.refId = + e.getNextQueryLetter && e.getNextQueryLetter()); + }); + })), + l < 8 && + s.push(function (e) { + a.a.each(e.targets, function (e) { + e.fields && + e.tags && + e.groupBy && + (e.rawQuery + ? (delete e.fields, delete e.fill) + : ((e.select = a.a.map(e.fields, function (e) { + var t = []; + return ( + t.push({ type: "field", params: [e.name] }), + t.push({ type: e.func, params: [] }), + e.mathExpr && + t.push({ + type: "math", + params: [e.mathExpr], + }), + e.asExpr && + t.push({ + type: "alias", + params: [e.asExpr], + }), + t + ); + })), + delete e.fields, + a.a.each(e.groupBy, function (e) { + "time" === e.type && + e.interval && + ((e.params = [e.interval]), + delete e.interval), + "tag" === e.type && + e.key && + ((e.params = [e.key]), delete e.key); + }), + e.fill && + (e.groupBy.push({ + type: "fill", + params: [e.fill], + }), + delete e.fill))); + }); + }), + l < 9 && + s.push(function (e) { + if ( + ("singlestat" === e.type || "" === e.thresholds) && + e.thresholds + ) { + var t = e.thresholds.split(","); + t.length >= 3 && + (t.shift(), (e.thresholds = t.join(","))); + } + }), + l < 10 && + s.push(function (e) { + "table" === e.type && + a.a.each(e.styles, function (e) { + if (e.thresholds && e.thresholds.length >= 3) { + var t = e.thresholds; + t.shift(), (e.thresholds = t); + } + }); + }), + l < 12 && + a.a.each(this.dashboard.getVariables(), function (e) { + e.refresh && (e.refresh = 1), + e.refresh || (e.refresh = 0), + e.hideVariable + ? (e.hide = 2) + : e.hideLabel && (e.hide = 1); + }), + l < 12 && + s.push(function (e) { + "graph" === e.type && + e.grid && + (e.yaxes || + ((e.yaxes = [ + { + show: e["y-axis"], + min: e.grid.leftMin, + max: e.grid.leftMax, + logBase: e.grid.leftLogBase, + format: e.y_formats[0], + label: e.leftYAxisLabel, + }, + { + show: e["y-axis"], + min: e.grid.rightMin, + max: e.grid.rightMax, + logBase: e.grid.rightLogBase, + format: e.y_formats[1], + label: e.rightYAxisLabel, + }, + ]), + (e.xaxis = { show: e["x-axis"] }), + delete e.grid.leftMin, + delete e.grid.leftMax, + delete e.grid.leftLogBase, + delete e.grid.rightMin, + delete e.grid.rightMax, + delete e.grid.rightLogBase, + delete e.y_formats, + delete e.leftYAxisLabel, + delete e.rightYAxisLabel, + delete e["y-axis"], + delete e["x-axis"])); + }), + l < 13 && + s.push(function (e) { + if ("graph" === e.type && e.grid) { + e.thresholds || (e.thresholds = []); + var t = {}, + n = {}; + null !== e.grid.threshold1 && + ((t.value = e.grid.threshold1), + e.grid.thresholdLine + ? ((t.line = !0), + (t.lineColor = e.grid.threshold1Color), + (t.colorMode = "custom")) + : ((t.fill = !0), + (t.fillColor = e.grid.threshold1Color), + (t.colorMode = "custom"))), + null !== e.grid.threshold2 && + ((n.value = e.grid.threshold2), + e.grid.thresholdLine + ? ((n.line = !0), + (n.lineColor = e.grid.threshold2Color), + (n.colorMode = "custom")) + : ((n.fill = !0), + (n.fillColor = e.grid.threshold2Color), + (n.colorMode = "custom"))), + a.a.isNumber(t.value) && + (a.a.isNumber(n.value) + ? t.value > n.value + ? ((t.op = n.op = "lt"), + e.thresholds.push(t), + e.thresholds.push(n)) + : ((t.op = n.op = "gt"), + e.thresholds.push(t), + e.thresholds.push(n)) + : ((t.op = "gt"), e.thresholds.push(t))), + delete e.grid.threshold1, + delete e.grid.threshold1Color, + delete e.grid.threshold2, + delete e.grid.threshold2Color, + delete e.grid.thresholdLine; + } + }), + l < 14 && + (this.dashboard.graphTooltip = e.sharedCrosshair ? 1 : 0), + l < 16 && this.upgradeToGridLayout(e), + l < 17 && + s.push(function (e) { + if (e.minSpan) { + var t = i.f / e.minSpan, + n = + ((r = i.f), + Array.from(new Array(r + 1), function (e, t) { + return t; + }).filter(function (e) { + return r % e == 0; + })); + e.maxPerRow = + n[ + a.a.findIndex(n, function (e) { + return e > t; + }) - 1 + ]; + } + var r; + delete e.minSpan; + }), + l < 18 && + s.push(function (e) { + e["options-gauge"] && + ((e.options = e["options-gauge"]), + (e.options.valueOptions = { + unit: e.options.unit, + stat: e.options.stat, + decimals: e.options.decimals, + prefix: e.options.prefix, + suffix: e.options.suffix, + }), + e.options.thresholds && + e.options.thresholds.reverse(), + delete e.options.options, + delete e.options.unit, + delete e.options.stat, + delete e.options.decimals, + delete e.options.prefix, + delete e.options.suffix, + delete e["options-gauge"]); + }), + l < 19 && + s.push(function (e) { + e.links && + a.a.isArray(e.links) && + (e.links = e.links.map(x)); + }), + l < 20) + ) { + var p = function (e) { + return h({}, e, { url: k(e.url) }); + }; + s.push(function (e) { + e.options && + e.options.dataLinks && + a.a.isArray(e.options.dataLinks) && + (e.options.dataLinks = e.options.dataLinks.map(p)), + e.options && + e.options.fieldOptions && + e.options.fieldOptions.defaults && + (e.options.fieldOptions.defaults.links && + a.a.isArray( + e.options.fieldOptions.defaults.links + ) && + (e.options.fieldOptions.defaults.links = e.options.fieldOptions.defaults.links.map( + p + )), + e.options.fieldOptions.defaults.title && + (e.options.fieldOptions.defaults.title = k( + e.options.fieldOptions.defaults.title + ))); + }); + } + if (l < 21) { + var m = function (e) { + return h({}, e, { + url: e.url.replace( + /__series.labels/g, + "__field.labels" + ), + }); + }; + s.push(function (e) { + e.options && + e.options.dataLinks && + a.a.isArray(e.options.dataLinks) && + (e.options.dataLinks = e.options.dataLinks.map(m)), + e.options && + e.options.fieldOptions && + e.options.fieldOptions.defaults && + e.options.fieldOptions.defaults.links && + a.a.isArray(e.options.fieldOptions.defaults.links) && + (e.options.fieldOptions.defaults.links = e.options.fieldOptions.defaults.links.map( + m + )); + }); + } + if ( + (l < 22 && + s.push(function (e) { + "table" === e.type && + a.a.each(e.styles, function (e) { + e.align = "auto"; + }); + }), + 0 !== s.length) + ) + for (n = 0; n < this.dashboard.panels.length; n++) + for (r = 0; r < s.length; r++) + if ( + (s[r].call(this, this.dashboard.panels[n]), + this.dashboard.panels[n].panels) + ) + for ( + o = 0; + o < this.dashboard.panels[n].panels.length; + o++ + ) + s[r].call(this, this.dashboard.panels[n].panels[o]); + } + }, + }, + { + key: "upgradeToGridLayout", + value: function (e) { + var t = 0, + n = i.f / 12, + r = + a.a.max( + a.a.flattenDeep( + a.a.map(e.rows, function (e) { + return a.a.map(e.panels, "id"); + }) + ) + ) + 1; + if (e.rows) { + var o = a.a.some(e.rows, function (e) { + return e.collapse || e.showTitle || e.repeat; + }), + l = !0, + s = !1, + c = void 0; + try { + for ( + var f, d = e.rows[Symbol.iterator](); + !(l = (f = d.next()).done); + l = !0 + ) { + var p = f.value; + if (!p.repeatIteration) { + var h = w(p.height || i.b), + m = {}, + g = void 0; + o && + ((m.id = r), + (m.type = "row"), + (m.title = p.title), + (m.collapsed = p.collapse), + (m.repeat = p.repeat), + (m.panels = []), + (m.gridPos = { x: 0, y: t, w: i.f, h: h }), + (g = new u.a(m)), + r++, + t++); + var b = new O(h, i.f, t), + v = !0, + y = !1, + x = void 0; + try { + for ( + var k, j = p.panels[Symbol.iterator](); + !(v = (k = j.next()).done); + v = !0 + ) { + var S = k.value; + (S.span = S.span || i.a), + S.minSpan && + (S.minSpan = Math.min( + i.f, + (i.f / 12) * S.minSpan + )); + var E = Math.floor(S.span) * n, + C = S.height ? w(S.height) : h, + P = b.getPanelPosition(C, E); + (t = b.yPos), + (S.gridPos = { x: P.x, y: t + P.y, w: E, h: C }), + b.addPanel(S.gridPos), + delete S.span, + g && m.collapsed + ? g.panels.push(S) + : this.dashboard.panels.push(new u.a(S)); + } + } catch (e) { + (y = !0), (x = e); + } finally { + try { + v || null == j.return || j.return(); + } finally { + if (y) throw x; + } + } + g && this.dashboard.panels.push(g), + (g && m.collapsed) || (t += h); + } + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == d.return || d.return(); + } finally { + if (s) throw c; + } + } + } + }, + }, + ]), + e + ); + })(); + function w(e) { + return ( + a.a.isString(e) && (e = parseInt(e.replace("px", ""), 10)), + e < i.h && (e = i.h), + Math.ceil(e / (i.d + i.e)) + ); + } + var O = (function () { + function e(t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : i.f, + r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : 0; + g(this, e), + (this.area = new Array(n).fill(0)), + (this.yPos = r), + (this.height = t); + } + return ( + v(e, [ + { + key: "reset", + value: function () { + this.area.fill(0); + }, + }, + { + key: "addPanel", + value: function (e) { + for (var t = e.x; t < e.x + e.w; t++) + (!this.area[t] || e.y + e.h - this.yPos > this.area[t]) && + (this.area[t] = e.y + e.h - this.yPos); + return this.area; + }, + }, + { + key: "getPanelPosition", + value: function (e, t) { + for ( + var n, + r, + o = + arguments.length > 2 && + void 0 !== arguments[2] && + arguments[2], + i = this.area.length - 1; + i >= 0 && this.height - this.area[i] > 0; + i-- + ) + if (void 0 === r) r = i; + else { + if ( + !( + i < this.area.length - 1 && + this.area[i] <= this.area[i + 1] + ) + ) + break; + n = i; + } + if (!(void 0 !== n && void 0 !== r && r - n >= t - 1)) + return o + ? null + : ((this.yPos += this.height), + this.reset(), + this.getPanelPosition(e, t, !0)); + var l = a.a.max(this.area.slice(n)); + return { x: n, y: l }; + }, + }, + ]), + e + ); + })(); + function x(e) { + var t = e.url; + return ( + !t && + e.dashboard && + (t = "dashboard/db/".concat(d.a.slugifyForUrl(e.dashboard))), + !t && e.dashUri && (t = "dashboard/".concat(e.dashUri)), + t || (t = "/"), + e.keepTime && + (t = Object(f.a)(t, "$".concat(o.DataLinkBuiltInVars.keepTime))), + e.includeVars && + (t = Object(f.a)(t, "$".concat(o.DataLinkBuiltInVars.includeVars))), + e.params && (t = Object(f.a)(t, e.params)), + { url: t, title: e.title, targetBlank: e.targetBlank } + ); + } + function k(e) { + return e.replace( + /(__series_name)|(\$__series_name)|(__value_time)|(__field_name)|(\$__field_name)/g, + function (e, t, n, r, a, o) { + return t + ? "__series.name" + : n + ? "${__series.name}" + : r + ? "__value.time" + : a + ? "__field.name" + : o + ? "${__field.name}" + : e; + } + ); + } + var j = n("Obii"), + S = n("GQ3c"), + E = n("ZFWI"), + C = n("Yyu/"), + P = n("+CPp"); + function T(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function D(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + n.d(t, "a", function () { + return A; + }); + var A = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.getVariables = function () { + return Object(E.c)().featureToggles.newVariables + ? r.variables.list + : r.templating.list; + }), + t || (t = {}), + (this.events = new l.a()), + (this.id = t.id || null), + (this.uid = t.uid || null), + (this.revision = t.revision), + (this.title = t.title || "No Title"), + (this.autoUpdate = t.autoUpdate), + (this.description = t.description), + (this.tags = t.tags || []), + (this.style = t.style || "dark"), + (this.timezone = t.timezone || ""), + (this.editable = !1 !== t.editable), + (this.graphTooltip = t.graphTooltip || 0), + (this.time = t.time || { from: "now-6h", to: "now" }), + (this.timepicker = t.timepicker || {}), + (this.templating = this.ensureListExist(t.templating)), + (this.variables = this.ensureListExist(t.variables)), + (this.annotations = this.ensureListExist(t.annotations)), + (this.refresh = t.refresh), + (this.snapshot = t.snapshot), + (this.schemaVersion = t.schemaVersion || 0), + (this.version = t.version || 0), + (this.links = t.links || []), + (this.gnetId = t.gnetId || null), + (this.panels = a.a.map(t.panels || [], function (e) { + return new u.a(e); + })), + this.resetOriginalVariables(!0), + this.resetOriginalTime(), + this.initMeta(n), + this.updateSchema(t), + this.addBuiltInAnnotationQuery(), + this.sortPanelsByGridPos(); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "addBuiltInAnnotationQuery", + value: function () { + var e = !1, + t = !0, + n = !1, + r = void 0; + try { + for ( + var a, i = this.annotations.list[Symbol.iterator](); + !(t = (a = i.next()).done); + t = !0 + ) + if (1 === a.value.builtIn) { + e = !0; + break; + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + e || + this.annotations.list.unshift({ + datasource: "-- Grafana --", + name: "Annotations & Alerts", + type: "dashboard", + iconColor: o.DEFAULT_ANNOTATION_COLOR, + enable: !0, + hide: !0, + builtIn: 1, + }); + }, + }, + { + key: "initMeta", + value: function (e) { + ((e = e || {}).canShare = !1 !== e.canShare), + (e.canSave = !1 !== e.canSave), + (e.canStar = !1 !== e.canStar), + (e.canEdit = !1 !== e.canEdit), + (e.showSettings = e.canEdit), + (e.canMakeEditable = e.canSave && !this.editable), + (e.fullscreen = !1), + (e.isEditing = !1), + this.editable || + ((e.canEdit = !1), (e.canDelete = !1), (e.canSave = !1)), + (this.meta = e); + }, + }, + { + key: "getSaveModelClone", + value: function (t) { + var n = a.a.defaults(t || {}, { + saveVariables: !0, + saveTimerange: !0, + }), + r = {}; + for (var o in this) + !e.nonPersistedProperties[o] && + this.hasOwnProperty(o) && + (r[o] = a.a.cloneDeep(this[o])); + return ( + this.updateTemplatingSaveModelClone(r, n), + n.saveTimerange || (r.time = this.originalTime), + (r.panels = a.a + .chain(this.panels) + .filter(function (e) { + return "add-panel" !== e.type; + }) + .map(function (e) { + return e.getSaveModel(); + }) + .value()), + ((r = c(r)).getVariables = function () { + return Object(E.c)().featureToggles.newVariables + ? r.variables.list + : r.templating.list; + }), + r + ); + }, + }, + { + key: "updateTemplatingSaveModelClone", + value: function (e, t) { + Object(E.c)().featureToggles.newVariables && + this.updateTemplatingSaveModel(e, t), + this.updateAngularTemplatingSaveModel(e, t); + }, + }, + { + key: "updateAngularTemplatingSaveModel", + value: function (e, t) { + if ( + ((e.templating = { + list: a.a.map(this.templating.list, function (e) { + return e.getSaveModel ? e.getSaveModel() : e; + }), + }), + !t.saveVariables) + ) + for (var n = 0; n < e.templating.list.length; n++) { + var r = e.templating.list[n], + o = a.a.find(this.originalTemplating, { + name: r.name, + type: r.type, + }); + o && + ("adhoc" === r.type + ? (e.templating.list[n].filters = o.filters) + : (e.templating.list[n].current = o.current)); + } + }, + }, + { + key: "updateTemplatingSaveModel", + value: function (e, t) { + var n = this.variables.list, + r = Object(C.d)(); + if ( + ((e.variables = { + list: r.map(function (e) { + return P.a.get(e.type).getSaveModel(e); + }), + }), + !t.saveVariables) + ) + for (var o = 0; o < e.variables.list.length; o++) { + var i = e.variables.list[o], + l = a.a.find(n, { name: i.name, type: i.type }); + l && + ("adhoc" === i.type + ? (e.variables.list[o].filters = l.filters) + : (e.variables.list[o].current = l.current)); + } + }, + }, + { + key: "setViewMode", + value: function (e, t, n) { + (this.meta.fullscreen = t), + (this.meta.isEditing = n && this.meta.canEdit), + e.setViewMode(t, this.meta.isEditing), + this.events.emit(j.PanelEvents.viewModeChanged, e); + }, + }, + { + key: "timeRangeUpdated", + value: function (e) { + this.events.emit(S.CoreEvents.timeRangeUpdated, e); + }, + }, + { + key: "startRefresh", + value: function () { + if ((this.events.emit(j.PanelEvents.refresh), this.panelInEdit)) + this.panelInEdit.refresh(); + else { + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.panels[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) { + var o = r.value; + this.otherPanelInFullscreen(o) || o.refresh(); + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + } + }, + }, + { + key: "render", + value: function () { + this.events.emit(j.PanelEvents.render); + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.panels[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) + r.value.render(); + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + }, + }, + { + key: "panelInitialized", + value: function (e) { + e.initialized(), + this.otherPanelInFullscreen(e) || e.refresh(), + this.panelInEdit !== e || + this.panelInEdit.getQueryRunner().getLastResult() || + e.refresh(); + }, + }, + { + key: "otherPanelInFullscreen", + value: function (e) { + return ( + (this.meta.fullscreen && !e.fullscreen) || this.panelInEdit + ); + }, + }, + { + key: "initPanelEditor", + value: function (e) { + return (this.panelInEdit = e.getEditClone()), this.panelInEdit; + }, + }, + { + key: "exitPanelEditor", + value: function () { + this.panelInEdit = void 0; + }, + }, + { + key: "ensureListExist", + value: function (e) { + return e || (e = {}), e.list || (e.list = []), e; + }, + }, + { + key: "getNextPanelId", + value: function () { + var e = 0, + t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.panels[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + if ((i.id > e && (e = i.id), i.collapsed)) { + var l = !0, + s = !1, + c = void 0; + try { + for ( + var u, f = i.panels[Symbol.iterator](); + !(l = (u = f.next()).done); + l = !0 + ) { + var d = u.value; + d.id > e && (e = d.id); + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == f.return || f.return(); + } finally { + if (s) throw c; + } + } + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + return e + 1; + }, + }, + { + key: "forEachPanel", + value: function (e) { + for (var t = 0; t < this.panels.length; t++) + e(this.panels[t], t); + }, + }, + { + key: "getPanelById", + value: function (e) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.panels[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + if (i.id === e) return i; + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + return null; + }, + }, + { + key: "canEditPanel", + value: function (e) { + return this.meta.canEdit && e && !e.repeatPanelId; + }, + }, + { + key: "canEditPanelById", + value: function (e) { + return this.canEditPanel(this.getPanelById(e)); + }, + }, + { + key: "addPanel", + value: function (e) { + e.id = this.getNextPanelId(); + var t = new u.a(e); + this.panels.unshift(t), + this.sortPanelsByGridPos(), + this.events.emit(u.b, t); + }, + }, + { + key: "sortPanelsByGridPos", + value: function () { + this.panels.sort(function (e, t) { + return e.gridPos.y === t.gridPos.y + ? e.gridPos.x - t.gridPos.x + : e.gridPos.y - t.gridPos.y; + }); + }, + }, + { + key: "cleanUpRepeats", + value: function () { + if (!this.isSnapshotTruthy() && this.hasVariables()) { + this.iteration = (this.iteration || new Date().getTime()) + 1; + var e = [], + t = !0, + n = !1, + r = void 0; + try { + for ( + var o, i = this.panels[Symbol.iterator](); + !(t = (o = i.next()).done); + t = !0 + ) + delete o.value.scopedVars; + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == i.return || i.return(); + } finally { + if (n) throw r; + } + } + for (var l = 0; l < this.panels.length; l++) { + var s = this.panels[l]; + (s.repeat && !s.repeatedByRow) || + !s.repeatPanelId || + s.repeatIteration === this.iteration || + e.push(s); + } + a.a.pull.apply(a.a, [this.panels].concat(e)), + e.map(function (e) { + return e.destroy(); + }), + this.sortPanelsByGridPos(), + this.events.emit(S.CoreEvents.repeatsProcessed); + } + }, + }, + { + key: "processRepeats", + value: function () { + if (!this.isSnapshotTruthy() && this.hasVariables()) { + this.cleanUpRepeats(), + (this.iteration = + (this.iteration || new Date().getTime()) + 1); + for (var e = 0; e < this.panels.length; e++) { + var t = this.panels[e]; + t.repeat && this.repeatPanel(t, e); + } + this.sortPanelsByGridPos(), + this.events.emit(S.CoreEvents.repeatsProcessed); + } + }, + }, + { + key: "cleanUpRowRepeats", + value: function (e) { + for (var t = [], n = 0; n < e.length; n++) { + var r = e[n]; + !r.repeat && r.repeatPanelId && t.push(r); + } + a.a.pull.apply(a.a, [e].concat(t)), + a.a.pull.apply(a.a, [this.panels].concat(t)); + }, + }, + { + key: "processRowRepeats", + value: function (e) { + var t = this; + if (!this.isSnapshotTruthy() && this.hasVariables()) { + var n = e.panels; + if (!e.collapsed) { + var r = a.a.findIndex(this.panels, function (t) { + return t.id === e.id; + }); + n = this.getRowPanels(r); + } + this.cleanUpRowRepeats(n); + for ( + var o = function (e) { + var r = n[e]; + if (r.repeat) { + var o = a.a.findIndex(t.panels, function (e) { + return e.id === r.id; + }); + t.repeatPanel(r, o); + } + }, + i = 0; + i < n.length; + i++ + ) + o(i); + } + }, + }, + { + key: "getPanelRepeatClone", + value: function (e, t, n) { + if (0 === t) return e; + var r = new u.a(e.getSaveModel()); + return ( + (r.id = this.getNextPanelId()), + this.panels.splice(n + t, 0, r), + (r.repeatIteration = this.iteration), + (r.repeatPanelId = e.id), + (r.repeat = null), + r + ); + }, + }, + { + key: "getRowRepeatClone", + value: function (e, t, n) { + if (0 === t) { + if (!e.collapsed) { + var r = this.getRowPanels(n); + e.panels = r; + } + return e; + } + var o, + i, + l = new u.a(e.getSaveModel()); + return ( + e.collapsed + ? ((o = a.a.cloneDeep(e.panels)), + (l.panels = o), + (i = n + t)) + : ((o = this.getRowPanels(n)), + (l.panels = a.a.map(o, function (e) { + return e.getSaveModel(); + })), + (i = n + (o.length + 1) * t)), + this.panels.splice(i, 0, l), + this.updateRepeatedPanelIds(l), + l + ); + }, + }, + { + key: "repeatPanel", + value: function (e, t) { + var n = this.getPanelRepeatVariable(e); + if (n) + if ("row" !== e.type) { + for ( + var r = this.getSelectedVariableOptions(n), + a = e.maxPerRow || 4, + o = 0, + l = e.gridPos.y, + s = 0; + s < r.length; + s++ + ) { + var c = r[s], + u = void 0; + ((u = this.getPanelRepeatClone(e, s, t)).scopedVars = + u.scopedVars || {}), + (u.scopedVars[n.name] = c), + e.repeatDirection === i.j + ? (s > 0 && (l += u.gridPos.h), (u.gridPos.y = l)) + : ((u.gridPos.w = Math.max(i.f / r.length, i.f / a)), + (u.gridPos.x = o), + (u.gridPos.y = l), + (o += u.gridPos.w) + u.gridPos.w > i.f && + ((o = 0), (l += u.gridPos.h))); + } + var f = l - e.gridPos.y; + if (f > 0) + for (var d = t + r.length; d < this.panels.length; d++) + this.panels[d].gridPos.y += f; + } else this.repeatRow(e, t, n); + }, + }, + { + key: "repeatRow", + value: function (e, t, n) { + var r = this, + o = this.getSelectedVariableOptions(n), + i = e.gridPos.y; + function l(e, t) { + (e.scopedVars = e.scopedVars || {}), + (e.scopedVars[n.name] = t); + } + for ( + var s = function (n) { + var s = o[n], + c = r.getRowRepeatClone(e, n, t); + l(c, s); + var f = r.getRowHeight(c), + d = c.panels || [], + p = void 0; + if (e.collapsed) + a.a.each(d, function (e, t) { + l(e, s), n > 0 && r.updateRepeatedPanelIds(e, !0); + }), + (c.gridPos.y += n), + (i += n), + (p = t + n + 1); + else { + var h = t + (d.length + 1) * n + 1; + a.a.each(d, function (e, t) { + if ((l(e, s), n > 0)) { + var a = new u.a(e); + r.updateRepeatedPanelIds(a, !0), + (a.gridPos.y += f * n), + r.panels.splice(h + t, 0, a); + } + }), + (c.panels = []), + (c.gridPos.y += f * n), + (i += f), + (p = h + d.length); + } + for (var m = p; m < r.panels.length; m++) + r.panels[m].gridPos.y += i; + }, + c = 0; + c < o.length; + c++ + ) + s(c); + }, + }, + { + key: "updateRepeatedPanelIds", + value: function (e, t) { + return ( + (e.repeatPanelId = e.id), + (e.id = this.getNextPanelId()), + (e.repeatIteration = this.iteration), + t ? (e.repeatedByRow = !0) : (e.repeat = null), + e + ); + }, + }, + { + key: "getSelectedVariableOptions", + value: function (e) { + return "All" === e.current.text + ? e.options.slice(1, e.options.length) + : a.a.filter(e.options, { selected: !0 }); + }, + }, + { + key: "getRowHeight", + value: function (e) { + if (!e.panels || 0 === e.panels.length) return 0; + var t = e.gridPos.y, + n = a.a.map(e.panels, "gridPos"), + r = a.a.maxBy(n, function (e) { + return e.y + e.h; + }); + return r.y + r.h - t; + }, + }, + { + key: "removePanel", + value: function (e) { + var t = a.a.indexOf(this.panels, e); + this.panels.splice(t, 1), this.events.emit(u.c, e); + }, + }, + { + key: "removeRow", + value: function (e, t) { + ((!t && e.collapsed) || (t && !e.collapsed)) && + this.toggleRow(e), + this.removePanel(e); + }, + }, + { + key: "expandRows", + value: function () { + for (var e = 0; e < this.panels.length; e++) { + var t = this.panels[e]; + "row" === t.type && t.collapsed && this.toggleRow(t); + } + }, + }, + { + key: "collapseRows", + value: function () { + for (var e = 0; e < this.panels.length; e++) { + var t = this.panels[e]; + "row" === t.type && (t.collapsed || this.toggleRow(t)); + } + }, + }, + { + key: "setPanelFocus", + value: function (e) { + this.meta.focusPanelId = e; + }, + }, + { + key: "updateSubmenuVisibility", + value: function () { + var e = this; + (this.meta.submenuEnabled = + e.links.length > 0 || + a.a.filter(e.templating.list, function (e) { + return 2 !== e.hide; + }).length > 0 || + a.a.filter(e.annotations.list, function (e) { + return !0 !== e.hide; + }).length > 0), + this.events.emit( + S.CoreEvents.submenuVisibilityChanged, + this.meta.submenuEnabled + ); + }, + }, + { + key: "getPanelInfoById", + value: function (e) { + for (var t = 0; t < this.panels.length; t++) + if (this.panels[t].id === e) + return { panel: this.panels[t], index: t }; + return null; + }, + }, + { + key: "duplicatePanel", + value: function (e) { + var t = e.getSaveModel(); + return ( + (t.id = this.getNextPanelId()), + delete t.repeat, + delete t.repeatIteration, + delete t.repeatPanelId, + delete t.scopedVars, + t.alert && delete t.thresholds, + delete t.alert, + e.gridPos.x + 2 * e.gridPos.w <= i.f + ? (t.gridPos.x += e.gridPos.w) + : (t.gridPos.y += e.gridPos.h), + this.addPanel(t), + t + ); + }, + }, + { + key: "formatDate", + value: function (e, t) { + return ( + (e = Object(j.isDateTime)(e) ? e : Object(j.dateTime)(e)), + (t = t || "YYYY-MM-DD HH:mm:ss"), + "browser" === this.getTimezone() + ? Object(j.dateTime)(e).format(t) + : Object(j.toUtc)(e).format(t) + ); + }, + }, + { + key: "destroy", + value: function () { + this.events.removeAllListeners(); + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.panels[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) + r.value.destroy(); + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + }, + }, + { + key: "toggleRow", + value: function (e) { + var t = a.a.indexOf(this.panels, e); + if (e.collapsed) { + e.collapsed = !1; + var n = a.a.some(e.panels, function (e) { + return e.repeat; + }); + if (e.panels.length > 0) { + var r = e.panels[0].gridPos.y - (e.gridPos.y + e.gridPos.h), + o = t + 1, + i = e.gridPos.y, + l = !0, + s = !1, + c = void 0; + try { + for ( + var f, d = e.panels[Symbol.iterator](); + !(l = (f = d.next()).done); + l = !0 + ) { + var p = f.value; + (p.gridPos.y -= r), + this.panels.splice(o, 0, new u.a(p)), + (o += 1), + (i = Math.max(i, p.gridPos.y + p.gridPos.h)); + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == d.return || d.return(); + } finally { + if (s) throw c; + } + } + for ( + var h = i - e.gridPos.y - 1, m = o; + m < this.panels.length; + m++ + ) + this.panels[m].gridPos.y += h; + (e.panels = []), n && this.processRowRepeats(e); + } + return ( + this.sortPanelsByGridPos(), + void this.events.emit(S.CoreEvents.rowExpanded) + ); + } + var g = this.getRowPanels(t); + a.a.pull.apply(a.a, [this.panels].concat(T(g))), + (e.panels = a.a.map(g, function (e) { + return e.getSaveModel(); + })), + (e.collapsed = !0), + this.events.emit(S.CoreEvents.rowCollapsed); + }, + }, + { + key: "getRowPanels", + value: function (e) { + for (var t = [], n = e + 1; n < this.panels.length; n++) { + var r = this.panels[n]; + if ("row" === r.type) break; + t.push(r); + } + return t; + }, + }, + { + key: "on", + value: function (e, t) { + this.events.on(e, t); + }, + }, + { + key: "off", + value: function (e, t) { + this.events.off(e, t); + }, + }, + { + key: "cycleGraphTooltip", + value: function () { + this.graphTooltip = (this.graphTooltip + 1) % 3; + }, + }, + { + key: "sharedTooltipModeEnabled", + value: function () { + return this.graphTooltip > 0; + }, + }, + { + key: "sharedCrosshairModeOnly", + value: function () { + return 1 === this.graphTooltip; + }, + }, + { + key: "getRelativeTime", + value: function (e) { + return ( + (e = Object(j.isDateTime)(e) ? e : Object(j.dateTime)(e)), + "browser" === this.timezone + ? Object(j.dateTime)(e).fromNow() + : Object(j.toUtc)(e).fromNow() + ); + }, + }, + { + key: "isTimezoneUtc", + value: function () { + return "utc" === this.getTimezone(); + }, + }, + { + key: "isSnapshot", + value: function () { + return void 0 !== this.snapshot; + }, + }, + { + key: "getTimezone", + value: function () { + return this.timezone ? this.timezone : s.a.user.timezone; + }, + }, + { + key: "updateSchema", + value: function (e) { + new y(this).updateSchema(e); + }, + }, + { + key: "resetOriginalTime", + value: function () { + this.originalTime = a.a.cloneDeep(this.time); + }, + }, + { + key: "hasTimeChanged", + value: function () { + return !a.a.isEqual(this.time, this.originalTime); + }, + }, + { + key: "resetOriginalVariables", + value: function () { + var e = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0]; + Object(E.c)().featureToggles.newVariables || + (this.originalTemplating = this.cloneVariablesFrom( + this.templating.list + )), + !e && + Object(E.c)().featureToggles.newVariables && + (this.variables.list = this.cloneVariablesFrom( + Object(C.d)() + )); + }, + }, + { + key: "hasVariableValuesChanged", + value: function () { + return Object(E.c)().featureToggles.newVariables + ? this.hasVariablesChanged(this.variables.list, Object(C.d)()) + : this.hasVariablesChanged( + this.originalTemplating, + this.templating.list + ); + }, + }, + { + key: "autoFitPanels", + value: function (e, t) { + var n = Math.max.apply( + Math, + T( + this.panels.map(function (e) { + return e.gridPos.h + e.gridPos.y; + }) + ) + ), + r = e - 55 - 20; + this.meta.submenuEnabled && !t && (r -= 50), + t && t !== S.KIOSK_MODE_TV && (r += 55); + var a = n / Math.floor(r / (i.d + i.e)); + this.panels.forEach(function (e, t) { + (e.gridPos.y = Math.round(e.gridPos.y / a) || 1), + (e.gridPos.h = Math.round(e.gridPos.h / a) || 1); + }); + }, + }, + { + key: "templateVariableValueUpdated", + value: function () { + this.processRepeats(), + this.events.emit(S.CoreEvents.templateVariableValueUpdated); + }, + }, + { + key: "expandParentRowFor", + value: function (e) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.panels[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value; + if (i.collapsed) { + var l = !0, + s = !1, + c = void 0; + try { + for ( + var u, f = i.panels[Symbol.iterator](); + !(l = (u = f.next()).done); + l = !0 + ) + if (u.value.id === e) return void this.toggleRow(i); + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == f.return || f.return(); + } finally { + if (s) throw c; + } + } + } + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + }, + }, + { + key: "toggleLegendsForAll", + value: function () { + var e = this.panels.filter(function (e) { + return void 0 !== e.legend && null !== e.legend; + }), + t = e.filter(function (e) { + return e.legend.show; + }).length, + n = t >= e.length - t, + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + (s.legend.show = !n), s.render(); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + }, + }, + { + key: "getPanelRepeatVariable", + value: function (e) { + return Object(E.c)().featureToggles.newVariables + ? Object(C.d)().find(function (t) { + return t.name === e.repeat; + }) + : a.a.find(this.templating.list, { name: e.repeat }); + }, + }, + { + key: "isSnapshotTruthy", + value: function () { + return this.snapshot; + }, + }, + { + key: "hasVariables", + value: function () { + return Object(E.c)().featureToggles.newVariables + ? Object(C.d)().length > 0 + : this.templating.list.length > 0; + }, + }, + { + key: "hasVariablesChanged", + value: function (e, t) { + if (e.length !== t.length) return !1; + var n = a.a.map(t, function (e) { + return { + name: e.name, + type: e.type, + current: a.a.cloneDeep(e.current), + filters: a.a.cloneDeep(e.filters), + }; + }); + return !a.a.isEqual(n, e); + }, + }, + { + key: "cloneVariablesFrom", + value: function (e) { + return e.map(function (e) { + return { + name: e.name, + type: e.type, + current: a.a.cloneDeep(e.current), + filters: a.a.cloneDeep(e.filters), + }; + }); + }, + }, + ]) && D(t.prototype, n), + r && D(t, r), + e + ); + })(); + A.nonPersistedProperties = { + events: !0, + meta: !0, + panels: !0, + templating: !0, + originalTime: !0, + originalTemplating: !0, + panelInEdit: !0, + }; + }, + "s+LN": function (e, t) { + var n = + "public/app/plugins/datasource/opentsdb/partials/annotations.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=gf-form-group>\n <div class=gf-form>\n <span class="gf-form-label width-13">OpenTSDB metrics query</span>\n <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder=events.eventname>\n </div>\n <gf-form-switch class=gf-form label="Show Global Annotations?" checked=ctrl.annotation.isGlobal switch-class=max-width-6 label-class=width-13></gf-form-switch>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + sAJe: function (e, t, n) { + "use strict"; + n.d(t, "h", function () { + return u; + }), + n.d(t, "q", function () { + return d; + }), + n.d(t, "n", function () { + return p; + }), + n.d(t, "f", function () { + return h; + }), + n.d(t, "g", function () { + return m; + }), + n.d(t, "e", function () { + return g; + }), + n.d(t, "r", function () { + return b; + }), + n.d(t, "a", function () { + return y; + }), + n.d(t, "p", function () { + return w; + }), + n.d(t, "d", function () { + return O; + }), + n.d(t, "m", function () { + return k; + }), + n.d(t, "l", function () { + return j; + }), + n.d(t, "j", function () { + return S; + }), + n.d(t, "o", function () { + return E; + }), + n.d(t, "i", function () { + return C; + }), + n.d(t, "k", function () { + return P; + }), + n.d(t, "b", function () { + return T; + }), + n.d(t, "c", function () { + return D; + }); + var r = n("3SGO"), + a = n("ZFWI"), + o = n("Obii"), + i = n("t8hP"), + l = n("YiuE"); + function s(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function c(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + s(o, r, a, i, l, "next", e); + } + function l(e) { + s(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function u(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var r; + return regeneratorRuntime.wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + n(Object(l.h)(!1)), + (t.next = 4), + n(f(e)) + ); + case 4: + return (t.next = 6), n(v(e)); + case 6: + return (t.next = 8), n(x(e)); + case 8: + if (!a.b.ldapEnabled || !a.b.licenseInfo.hasLicense) { + t.next = 11; + break; + } + return (t.next = 11), n(S()); + case 11: + n(Object(l.h)(!0)), (t.next = 20); + break; + case 14: + (t.prev = 14), + (t.t0 = t.catch(0)), + console.log(t.t0), + (t.t0.isHandled = !0), + (r = { + title: t.t0.data.message, + body: t.t0.data.error, + }), + n(Object(l.g)(r)); + case 20: + case "end": + return t.stop(); + } + }, + t, + null, + [[0, 14]] + ); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function f(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var r; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().get("/api/users/".concat(e)) + ); + case 2: + (r = t.sent), n(Object(l.l)(r)); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function d(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().put( + "/api/users/".concat(e.id), + e + ) + ); + case 2: + n(u(e.id)); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function p(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(r) { + var a; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (a = { password: t }), + (n.next = 3), + Object(i.getBackendSrv)().put( + "/api/admin/users/".concat(e, "/password"), + a + ) + ); + case 3: + r(u(e)); + case 4: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + } + function h(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().post( + "/api/admin/users/".concat(e, "/disable") + ) + ); + case 2: + n(Object(r.c)({ path: "/admin/users" })); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function m(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().post( + "/api/admin/users/".concat(e, "/enable") + ) + ); + case 2: + n(u(e)); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function g(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().delete( + "/api/admin/users/".concat(e) + ) + ); + case 2: + n(Object(r.c)({ path: "/admin/users" })); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function b(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(r) { + var a; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (a = { isGrafanaAdmin: t }), + (n.next = 3), + Object(i.getBackendSrv)().put( + "/api/admin/users/".concat(e, "/permissions"), + a + ) + ); + case 3: + r(u(e)); + case 4: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + } + function v(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var r; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().get( + "/api/users/".concat(e, "/orgs") + ) + ); + case 2: + (r = t.sent), n(Object(l.k)(r)); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function y(e, t, n) { + return (function () { + var r = c( + regeneratorRuntime.mark(function r(a) { + var o; + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (o = { loginOrEmail: e.login, role: n }), + (r.next = 3), + Object(i.getBackendSrv)().post( + "/api/orgs/".concat(t, "/users/"), + o + ) + ); + case 3: + a(u(e.id)); + case 4: + case "end": + return r.stop(); + } + }, r); + }) + ); + return function (e) { + return r.apply(this, arguments); + }; + })(); + } + function w(e, t, n) { + return (function () { + var r = c( + regeneratorRuntime.mark(function r(a) { + var o; + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (o = { role: n }), + (r.next = 3), + Object(i.getBackendSrv)().patch( + "/api/orgs/".concat(t, "/users/").concat(e), + o + ) + ); + case 3: + a(u(e)); + case 4: + case "end": + return r.stop(); + } + }, r); + }) + ); + return function (e) { + return r.apply(this, arguments); + }; + })(); + } + function O(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(r) { + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + Object(i.getBackendSrv)().delete( + "/api/orgs/".concat(t, "/users/").concat(e) + ) + ); + case 2: + r(u(e)); + case 3: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + } + function x(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var r, a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().get( + "/api/admin/users/".concat(e, "/auth-tokens") + ) + ); + case 2: + (r = t.sent).reverse(), + (a = r.map(function (e) { + return { + id: e.id, + isActive: e.isActive, + seenAt: Object(o.dateTime)(e.seenAt).fromNow(), + createdAt: Object(o.dateTime)(e.createdAt).format( + "MMMM DD, YYYY" + ), + clientIp: e.clientIp, + browser: e.browser, + browserVersion: e.browserVersion, + os: e.os, + osVersion: e.osVersion, + device: e.device, + }; + })), + n(Object(l.m)(a)); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function k(e, t) { + return (function () { + var n = c( + regeneratorRuntime.mark(function n(r) { + var a; + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (a = { authTokenId: e }), + (n.next = 3), + Object(i.getBackendSrv)().post( + "/api/admin/users/".concat(t, "/revoke-auth-token"), + a + ) + ); + case 3: + r(x(t)); + case 4: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e) { + return n.apply(this, arguments); + }; + })(); + } + function j(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().post( + "/api/admin/users/".concat(e, "/logout") + ) + ); + case 2: + n(x(e)); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function S() { + return (function () { + var e = c( + regeneratorRuntime.mark(function e(t) { + var n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!a.b.licenseInfo.hasLicense) { + e.next = 5; + break; + } + return ( + (e.next = 3), + Object(i.getBackendSrv)().get( + "/api/admin/ldap-sync-status" + ) + ); + case 3: + (n = e.sent), t(Object(l.f)(n)); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })(); + } + function E(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Object(i.getBackendSrv)().post( + "/api/admin/ldap/sync/".concat(e) + ) + ); + case 2: + n(u(e)); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function C() { + return (function () { + var e = c( + regeneratorRuntime.mark(function e(t) { + var n, r; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + Object(i.getBackendSrv)().get( + "/api/admin/ldap/status" + ) + ); + case 3: + (n = e.sent), t(Object(l.d)(n)), (e.next = 12); + break; + case 7: + (e.prev = 7), + (e.t0 = e.catch(0)), + (e.t0.isHandled = !0), + (r = { + title: e.t0.data.message, + body: e.t0.data.error, + }), + t(Object(l.e)(r)); + case 12: + case "end": + return e.stop(); + } + }, + e, + null, + [[0, 7]] + ); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })(); + } + function P(e) { + return (function () { + var t = c( + regeneratorRuntime.mark(function t(n) { + var r, a, o, s, c, u, f, d, p, h, m; + return regeneratorRuntime.wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + Object(i.getBackendSrv)().get( + "/api/admin/ldap/".concat(e) + ) + ); + case 3: + (r = t.sent), + (a = r.name), + (o = r.surname), + (s = r.email), + (c = r.login), + (u = r.isGrafanaAdmin), + (f = r.isDisabled), + (d = r.roles), + (p = r.teams), + (h = { + info: { name: a, surname: o, email: s, login: c }, + permissions: { isGrafanaAdmin: u, isDisabled: f }, + roles: d, + teams: p, + }), + n(Object(l.j)(h)), + (t.next = 15); + break; + case 9: + (t.prev = 9), + (t.t0 = t.catch(0)), + (t.t0.isHandled = !0), + (m = { + title: t.t0.data.message, + body: t.t0.data.error, + }), + n(Object(l.b)()), + n(Object(l.i)(m)); + case 15: + case "end": + return t.stop(); + } + }, + t, + null, + [[0, 9]] + ); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })(); + } + function T() { + return function (e) { + e(Object(l.a)()); + }; + } + function D() { + return function (e) { + e(Object(l.a)()), e(Object(l.b)()); + }; + } + }, + sBLX: function (e, t, n) { + "use strict"; + var r; + n.d(t, "a", function () { + return r; + }), + (function (e) { + (e.left = "left"), (e.right = "right"); + })(r || (r = {})); + }, + sH2m: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("kDDq"), + i = n("EwfM"); + function l(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + var s = n("MIBK"), + c = n("Al41"), + u = n("VtFO"), + f = n("AWKi"); + function d() { + var e = g(["\n overflow: hidden;\n "]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p() { + var e = g([ + "\n width: 100%;\n height: 100%;\n position: absolute;\n ", + ]); + return ( + (p = function () { + return e; + }), + e + ); + } + function h() { + var e = g([ + "\n width: 16px;\n height: 16px;\n display: inline-block;\n margin-right: 10px;\n position: relative;\n vertical-align: middle;\n overflow: hidden;\n ", + ]); + return ( + (h = function () { + return e; + }), + e + ); + } + function m() { + var e = g([ + "\n label: singleValue;\n color: ", + ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-sizing: border-box;\n max-width: 100%;\n /* padding-right: 40px; */\n ", + ]); + return ( + (m = function () { + return e; + }), + e + ); + } + function g(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + n.d(t, "a", function () { + return v; + }); + var b = Object(s.g)(function (e) { + return { + singleValue: Object(o.css)(m(), e.colors.formInputText), + container: Object(o.css)(h()), + item: Object(o.css)(p()), + }; + }), + v = function (e) { + var t = e.children, + n = e.data, + u = Object(s.h)(), + p = b(u), + h = (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}, + n = t.duration, + a = void 0 === n ? 250 : n, + o = t.delay, + i = void 0 === o ? 250 : o, + s = Object(r.useState)(e), + c = l(s, 2), + u = c[0], + f = c[1], + d = Object(r.useRef)(); + return ( + Object(r.useEffect)( + function () { + var t; + if (e) + t = setTimeout(function () { + (d.current = new Date()), f(e); + }, i); + else { + var n = d.current ? Date.now() - d.current.valueOf() : 0, + r = function () { + (d.current = void 0), f(e); + }; + n >= a ? r() : (t = setTimeout(r, a - n)); + } + return function () { + t && (clearTimeout(t), (t = void 0)); + }; + }, + [e, a, i] + ), + u + ); + })(n.loading || !1, { delay: 250, duration: 750 }); + return a.a.createElement( + i.z.SingleValue, + e, + a.a.createElement( + "div", + { className: Object(o.cx)(p.singleValue, Object(o.css)(d())) }, + n.imgUrl + ? a.a.createElement(y, { loading: h, imgUrl: n.imgUrl }) + : a.a.createElement( + c.a, + { horizontal: !0, size: 16, visible: h, duration: 150 }, + a.a.createElement( + "div", + { className: p.container }, + a.a.createElement(f.a, { className: p.item, inline: !0 }) + ) + ), + !n.hideText && t + ) + ); + }, + y = function (e) { + var t = Object(s.h)(), + n = b(t); + return a.a.createElement( + "div", + { className: n.container }, + a.a.createElement( + u.a, + { duration: 150, visible: e.loading }, + a.a.createElement(f.a, { className: n.item, inline: !0 }) + ), + a.a.createElement( + u.a, + { duration: 150, visible: !e.loading }, + a.a.createElement("img", { className: n.item, src: e.imgUrl }) + ) + ); + }; + }, + sjC4: function (e, t) {}, + "spX/": function (e, t, n) { + "use strict"; + var r = n("2kIT"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = function (e, t) { + return function (n) { + h(e, t, n.currentTarget.value); + }; + }, + s = function (e, t) { + return function (n) { + b(e, t, n.currentTarget.value); + }; + }, + c = function (e, t) { + return function (n) { + v(e, t, n.currentTarget.value); + }; + }, + u = function (e, t) { + return function (n) { + b(e, t, n.value); + }; + }, + f = function (e, t, n) { + return function (r) { + b(e, t, n); + }; + }, + d = function (e, t) { + return function (n) { + v(e, t, n.value); + }; + }, + p = function (e, t) { + return function (n) { + y(e, t); + }; + }; + function h(e, t, n) { + var r = e.options; + e.onOptionsChange(o({}, r, i({}, t, n))); + } + var m, + g, + b = function (e, t, n) { + var r = e.options; + e.onOptionsChange( + o({}, r, { jsonData: o({}, r.jsonData, i({}, t, n)) }) + ); + }, + v = function (e, t, n) { + var r = e.options; + e.onOptionsChange( + o({}, r, { secureJsonData: o({}, r.secureJsonData, i({}, t, n)) }) + ); + }, + y = function (e, t) { + var n = e.options; + e.onOptionsChange( + o({}, n, { + secureJsonData: o({}, n.secureJsonData, i({}, t, "")), + secureJsonFields: o({}, n.secureJsonFields, i({}, t, !1)), + }) + ); + }, + w = n("lhB2"), + O = n("NpuA"), + x = n.n(O), + k = n("la6v"), + j = n.n(k), + S = n("UB5X"), + E = n.n(S), + C = n("KgU3"), + P = n("0v62"), + T = n("ir79"); + function D(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function A(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function _(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function N(e, t) { + return new M(t).readCSV(e); + } + !(function (e) { + (e[(e.full = 0)] = "full"), + (e[(e.name = 1)] = "name"), + (e[(e.none = 2)] = "none"); + })(m || (m = {})), + (function (e) { + (e[(e.Starting = 0)] = "Starting"), + (e[(e.InHeader = 1)] = "InHeader"), + (e[(e.ReadingRows = 2)] = "ReadingRows"); + })(g || (g = {})); + var M = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.step = function (e, t) { + for (var r = 0; r < e.data.length; r++) { + var a = e.data[r]; + if (!(a.length < 1)) { + var o = a[0]; + if (o) { + if (o.startsWith("#")) { + var i = o.indexOf("#", 2); + if (i > 0) { + var l = o.substr(1, i - 1), + s = "name" === l; + if (s || { unit: "#" }.hasOwnProperty(l)) { + n.state === g.ReadingRows && + ((n.current = new T.b({ fields: [] })), + n.data.push(n.current)); + var c = o.substr(i + 1); + if (s) { + n.current.addFieldFor(void 0, c); + for (var u = 1; u < a.length; u++) + n.current.addFieldFor(void 0, a[u]); + } else + for ( + var f = n.current.fields, d = 0; + d < f.length; + d++ + ) { + f[d].config || (f[d].config = {}), + (f[d].config[l] = 0 === d ? c : a[d]); + } + n.state = g.InHeader; + continue; + } + } else if (n.state === g.Starting) { + n.state = g.InHeader; + continue; + } + continue; + } + if (n.state === g.Starting) { + if (Object(P.d)(o) === C.FieldType.string) { + var p = !0, + h = !1, + m = void 0; + try { + for ( + var b, v = a[Symbol.iterator](); + !(p = (b = v.next()).done); + p = !0 + ) { + var y = b.value; + n.current.addFieldFor(void 0, y); + } + } catch (e) { + (h = !0), (m = e); + } finally { + try { + p || null == v.return || v.return(); + } finally { + if (h) throw m; + } + } + n.state = g.InHeader; + continue; + } + n.state = g.InHeader; + } + } + if ( + (n.state, + g.ReadingRows, + (n.state = g.ReadingRows), + a.length > n.current.fields.length) + ) { + for (var w = n.current.fields.length; w < a.length; w++) + n.current.addFieldFor(a[w]); + n.callback && n.callback.onHeader(n.current.fields); + } + n.current.appendRow(a), n.callback && n.callback.onRow(a); + } + } + }), + t || (t = {}), + (this.config = t.config || {}), + (this.callback = t.callback), + (this.current = new T.b({ fields: [] })), + (this.state = g.Starting), + (this.data = []); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "readCSV", + value: function (e) { + (this.current = new T.b({ fields: [] })), + (this.data = [this.current]); + var t = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? D(Object(n), !0).forEach(function (t) { + A(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : D(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, this.config, { + dynamicTyping: !1, + skipEmptyLines: !0, + comments: !1, + step: this.step, + }); + return x.a.parse(e, t), this.data; + }, + }, + ]) && _(t.prototype, n), + r && _(t, r), + e + ); + })(); + function I(e, t) { + var n = e.toString(); + return n.includes('"') + ? t.quoteChar + n.replace(/"/gi, '""') + t.quoteChar + : n.includes("\n") || n.includes(t.delimiter) + ? t.quoteChar + n + t.quoteChar + : n; + } + function R(e, t) { + if (e.type) { + if (e.type === C.FieldType.boolean) + return function (e) { + return e ? "true" : "false"; + }; + if (e.type === C.FieldType.number) + return function (e) { + return E()(e) ? e.toString() : I(e, t); + }; + } + return function (e) { + return I(e, t); + }; + } + function F(e, t, n) { + var r = "name" === e, + a = "type" === e, + o = !0, + i = !1, + l = void 0; + try { + for ( + var s, c = t[Symbol.iterator](); + !(o = (s = c.next()).done); + o = !0 + ) { + var u = s.value.config; + if (r || a || (u && u.hasOwnProperty(e))) { + for (var f = "#" + e + "#", d = 0; d < t.length; d++) { + d > 0 && (f += n.delimiter); + var p = t[d].name; + a ? (p = t[d].type) : r || (p = t[d].config[e]), + p && (f += I(p, n)); + } + return f + n.newline; + } + } + } catch (e) { + (i = !0), (l = e); + } finally { + try { + o || null == c.return || c.return(); + } finally { + if (i) throw l; + } + } + return ""; + } + function L(e, t) { + if (!e) return ""; + var n = ""; + t = j()(t, { + delimiter: ",", + newline: "\r\n", + quoteChar: '"', + encoding: "", + headerStyle: m.name, + }); + var r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value.fields; + if (0 !== s.length) { + if (t.headerStyle === m.full) + n = + n + + F("name", s, t) + + F("type", s, t) + + F("unit", s, t) + + F("dateFormat", s, t); + else if (t.headerStyle === m.name) { + for (var c = 0; c < s.length; c++) + c > 0 && (n += t.delimiter), (n += s[c].name); + n += t.newline; + } + var u = s[0].values.length; + if (u > 0) + for ( + var f = s.map(function (e) { + return R(e, t); + }), + d = 0; + d < u; + d++ + ) { + for (var p = 0; p < s.length; p++) { + p > 0 && (n += t.delimiter); + var h = s[p].values.get(d); + null !== h && (n += f[p](h)); + } + n += t.newline; + } + n += t.newline; + } + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + } + var V = n("LvDl"), + B = n("RH9q"), + $ = n("0uOV"); + function q(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function U(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function z(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var H = /(?:^|\s)([\w\(\)\[\]\{\}]+)=(""|(?:".*?[^\\]"|[^"\s]\S*))/; + function G(e) { + if (!e) return B.a.unknown; + for ( + var t = B.a.unknown, n = void 0, r = 0, a = Object.keys(B.a); + r < a.length; + r++ + ) { + var o = a[r], + i = new RegExp("\\b".concat(o, "\\b"), "i").exec(e); + i && (void 0 === n || i.index < n) && ((t = B.a[o]), (n = i.index)); + } + return t; + } + function W(e) { + var t = B.a[e.toLowerCase()]; + return t || B.a.unknown; + } + function Q(e, t) { + for ( + var n = new $.a(), r = e.fields[t], a = 0; + a < r.values.length; + a++ + ) { + var o = r.values.get(t); + n.buffer.push(G(o)); + } + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? U(Object(n), !0).forEach(function (t) { + z(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : U(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { + fields: [].concat(q(e.fields), [ + { + name: "LogLevel", + type: C.FieldType.string, + values: n, + config: {}, + }, + ]), + }); + } + var Y = { + JSON: { + buildMatcher: function (e) { + return new RegExp( + '(?:{|,)\\s*"'.concat(e, '"\\s*:\\s*"?([\\d\\.]+|[^"]*)"?') + ); + }, + getFields: function (e) { + try { + var t = JSON.parse(e); + return Object.keys(t).map(function (e) { + return '"'.concat(e, '":').concat(JSON.stringify(t[e])); + }); + } catch (e) {} + return []; + }, + getLabelFromField: function (e) { + return (e.match(/^"([^"]+)"\s*:/) || [])[1]; + }, + getValueFromField: function (e) { + return (e.match(/:\s*(.*)$/) || [])[1]; + }, + test: function (e) { + try { + return JSON.parse(e); + } catch (e) {} + }, + }, + logfmt: { + buildMatcher: function (e) { + return new RegExp( + "(?:^|\\s)".concat(Object(V.escapeRegExp)(e), '=("[^"]*"|\\S+)') + ); + }, + getFields: function (e) { + var t = []; + return ( + e.replace(new RegExp(H, "g"), function (e) { + return t.push(e.trim()), ""; + }), + t + ); + }, + getLabelFromField: function (e) { + return (e.match(H) || [])[1]; + }, + getValueFromField: function (e) { + return (e.match(H) || [])[2]; + }, + test: function (e) { + return H.test(e); + }, + }, + }; + function K(e, t) { + var n = e.filter(function (e) { + return t.test(e.entry); + }), + r = n.length, + a = Object(V.countBy)(n, function (e) { + var n = e.entry.match(t); + return n ? n[1] : null; + }); + return X(a, r); + } + function J(e, t) { + var n = e.filter(function (e) { + return void 0 !== e.labels[t]; + }), + r = n.length, + a = Object(V.countBy)(n, function (e) { + return e.labels[t]; + }); + return X(a, r); + } + function Z(e) { + var t = e.filter(function (e) { + return null != e; + }), + n = Object(V.countBy)(t); + return X(n, t.length); + } + var X = function (e, t) { + return Object(V.chain)(e) + .map(function (e, n) { + return { count: e, value: n, proportion: e / t }; + }) + .sortBy("count") + .reverse() + .value(); + }; + function ee(e) { + var t; + try { + Y.JSON.test(e) && (t = Y.JSON); + } catch (e) {} + return !t && Y.logfmt.test(e) && (t = Y.logfmt), t; + } + function te(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ne(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? te(Object(n), !0).forEach(function (t) { + re(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : te(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function re(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var ae = /\b(\w+)(!?=~?)"([^"\n]*?)"/g; + function oe(e) { + var t = {}; + return ( + e.replace(ae, function (e, n, r, a) { + return (t[n] = a), ""; + }), + t + ); + } + function ie(e) { + return e.reduce(function (e, t) { + if (!t) throw new Error("Need parsed labels to find common labels."); + return ( + e + ? (Object.keys(t).forEach(function (n) { + (void 0 !== e[n] && e[n] === t[n]) || delete e[n]; + }), + Object.keys(e).forEach(function (n) { + void 0 === t[n] && delete e[n]; + })) + : (e = ne({}, t)), + e + ); + }, void 0); + } + function le(e, t) { + var n = ne({}, e); + return ( + Object.keys(t).forEach(function (e) { + delete n[e]; + }), + n + ); + } + function se(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""; + if (!e || 0 === Object.keys(e).length) return t; + var n = Object.keys(e).sort(), + r = n + .map(function (t) { + return "".concat(t, '="').concat(e[t], '"'); + }) + .join(", "); + return ["{", r, "}"].join(""); + } + var ce = function (e) { + return Object.keys(e).reduce(function (t, n) { + return void 0 !== e[n] && (t[n] = e[n]), t; + }, {}); + }, + ue = n("m+sf"), + fe = function (e) { + for (var t, n, r = 0; r < e.values.length; r++) { + var a = e.values.get(r); + if (void 0 !== t) { + var o = a - t; + void 0 === n && (n = o), o < n && (n = o); + } + t = a; + } + return n; + }, + de = function (e) { + for (var t = 0; t < e.values.length; t++) { + var n = e.values.get(t); + if (null != n) { + var r = n.toString(); + if (13 === r.length && r % 1e3 != 0) return !0; + } + } + return !1; + }, + pe = n("b+mb"), + he = n("U5HE"); + n.d(t, "d", function () { + return r.a; + }), + n.d(t, "F", function () { + return l; + }), + n.d(t, "C", function () { + return s; + }), + n.d(t, "H", function () { + return c; + }), + n.d(t, "E", function () { + return u; + }), + n.d(t, "D", function () { + return f; + }), + n.d(t, "I", function () { + return d; + }), + n.d(t, "G", function () { + return p; + }), + n.d(t, "N", function () { + return h; + }), + n.d(t, "M", function () { + return b; + }), + n.d(t, "P", function () { + return v; + }), + n.d(t, "O", function () { + return y; + }), + n.d(t, "i", function () { + return w.a; + }), + n.d(t, "a", function () { + return m; + }), + n.d(t, "K", function () { + return N; + }), + n.d(t, "b", function () { + return M; + }), + n.d(t, "L", function () { + return L; + }), + n.d(t, "u", function () { + return G; + }), + n.d(t, "v", function () { + return W; + }), + n.d(t, "e", function () { + return Q; + }), + n.d(t, "c", function () { + return Y; + }), + n.d(t, "f", function () { + return K; + }), + n.d(t, "g", function () { + return J; + }), + n.d(t, "h", function () { + return Z; + }), + n.d(t, "y", function () { + return ee; + }), + n.d(t, "J", function () { + return oe; + }), + n.d(t, "j", function () { + return ie; + }), + n.d(t, "k", function () { + return le; + }), + n.d(t, "l", function () { + return se; + }), + n.d(t, "J", function () { + return oe; + }), + n.d(t, "j", function () { + return ie; + }), + n.d(t, "k", function () { + return le; + }), + n.d(t, "l", function () { + return se; + }), + n.d(t, "B", function () { + return ce; + }), + n.d(t, "o", function () { + return ue.c; + }), + n.d(t, "n", function () { + return ue.b; + }), + n.d(t, "r", function () { + return ue.f; + }), + n.d(t, "m", function () { + return ue.a; + }), + n.d(t, "q", function () { + return ue.e; + }), + n.d(t, "p", function () { + return ue.d; + }), + n.d(t, "x", function () { + return ue.g; + }), + n.d(t, "z", function () { + return fe; + }), + n.d(t, "A", function () { + return de; + }), + n.d(t, "w", function () { + return pe.a; + }), + n.d(t, "s", function () { + return he.a; + }), + n.d(t, "t", function () { + return he.b; + }); + }, + "t/ct": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return p; + }), + n.d(t, "b", function () { + return m; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("t8hP"), + i = n("kDLi"), + l = n("Obii"); + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + u(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function u(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var f = a.a.createContext(o.config), + d = f.Consumer, + p = function () { + return Object(i.getTheme)( + o.config.bootData.user.lightTheme + ? l.GrafanaThemeType.Light + : l.GrafanaThemeType.Dark + ); + }, + h = function (e) { + var t = e.children; + return a.a.createElement(d, null, function (e) { + return a.a.createElement( + i.ThemeContext.Provider, + { value: p() }, + t + ); + }); + }, + m = function (e) { + return (function (e) { + return function (t) { + return a.a.createElement( + f.Provider, + { value: o.config }, + a.a.createElement(e, c({}, t)) + ); + }; + })(function (t) { + return a.a.createElement(h, null, a.a.createElement(e, c({}, t))); + }); + }; + }, + t8hP: function (e, t, n) { + "use strict"; + n.r(t); + var r = n("3x4x"); + n.d(t, "setBackendSrv", function () { + return r.i; + }), + n.d(t, "getBackendSrv", function () { + return r.c; + }), + n.d(t, "setAngularLoader", function () { + return r.h; + }), + n.d(t, "getAngularLoader", function () { + return r.b; + }), + n.d(t, "setDataSourceSrv", function () { + return r.j; + }), + n.d(t, "getDataSourceSrv", function () { + return r.d; + }), + n.d(t, "setLocationSrv", function () { + return r.l; + }), + n.d(t, "getLocationSrv", function () { + return r.f; + }), + n.d(t, "EchoEventType", function () { + return r.a; + }), + n.d(t, "setEchoSrv", function () { + return r.k; + }), + n.d(t, "getEchoSrv", function () { + return r.e; + }), + n.d(t, "registerEchoBackend", function () { + return r.g; + }); + var a = n("J9Im"); + n.d(t, "GrafanaBootConfig", function () { + return a.a; + }), + n.d(t, "config", function () { + return a.b; + }); + var o = n("MbqT"); + for (var i in o) + [ + "loadPluginCss", + "SystemJS", + "reportMetaAnalytics", + "DataSourceWithBackend", + "setBackendSrv", + "getBackendSrv", + "setAngularLoader", + "getAngularLoader", + "setDataSourceSrv", + "getDataSourceSrv", + "setLocationSrv", + "getLocationSrv", + "EchoEventType", + "setEchoSrv", + "getEchoSrv", + "registerEchoBackend", + "GrafanaBootConfig", + "config", + "default", + ].indexOf(i) < 0 && + (function (e) { + n.d(t, e, function () { + return o[e]; + }); + })(i); + var l = n("/vR/"); + n.d(t, "loadPluginCss", function () { + return l.b; + }), + n.d(t, "SystemJS", function () { + return l.a; + }); + var s = n("4aoj"); + n.d(t, "reportMetaAnalytics", function () { + return s.a; + }); + var c = n("+4lh"); + n.d(t, "DataSourceWithBackend", function () { + return c.a; + }); + }, + tAX7: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }), + n.d(t, "g", function () { + return i; + }), + n.d(t, "e", function () { + return l; + }), + n.d(t, "f", function () { + return s; + }), + n.d(t, "i", function () { + return c; + }), + n.d(t, "h", function () { + return u; + }), + n.d(t, "b", function () { + return f; + }), + n.d(t, "c", function () { + return d; + }), + n.d(t, "d", function () { + return p; + }); + var r = n("wd/R"), + a = n.n(r), + o = a.a.ISO_8601, + i = function (e) { + a.a.locale(e); + }, + l = function () { + return a.a.localeData(); + }, + s = function (e) { + return a.a.isMoment(e); + }, + c = function (e, t) { + return a.a.utc(e, t); + }, + u = function (e, t) { + return a.a.duration(e, t); + }, + f = function (e, t) { + return a()(e, t); + }, + d = function (e) { + return f(e); + }, + p = function (e, t, n) { + return "utc" === e ? c(t, n) : f(t, n); + }; + }, + tEy8: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }), + n.d(t, "g", function () { + return m; + }), + n.d(t, "e", function () { + return g; + }), + n.d(t, "d", function () { + return b; + }), + n.d(t, "b", function () { + return v; + }), + n.d(t, "f", function () { + return y; + }), + n.d(t, "c", function () { + return w; + }); + var r = n("i7Pf"), + a = n("K47g"), + o = n("Obii"), + i = n("eLz+"), + l = n("SMGL"); + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + u(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function u(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var f = "grafana.dashboard.editor.ui", + d = { + isPanelOptionsVisible: !0, + rightPaneSize: 350, + topPaneSize: "45%", + mode: i.a.Fill, + }, + p = Object(r.c)({ + name: "panelEditorNew", + initialState: { + getPanel: function () { + return new a.a({}); + }, + getSourcePanel: function () { + return new a.a({}); + }, + getData: function () { + return { + state: o.LoadingState.NotStarted, + series: [], + timeRange: o.DefaultTimeRange, + }; + }, + initDone: !1, + shouldDiscardChanges: !1, + isOpen: !1, + ui: c({}, d, {}, l.a.getObject(f, d)), + }, + reducers: { + updateEditorInitState: function (e, t) { + (e.getPanel = function () { + return t.payload.panel; + }), + (e.getSourcePanel = function () { + return t.payload.sourcePanel; + }), + (e.querySubscription = t.payload.querySubscription), + (e.initDone = !0), + (e.isOpen = !0); + }, + setEditorPanelData: function (e, t) { + e.getData = function () { + return t.payload; + }; + }, + setDiscardChanges: function (e, t) { + e.shouldDiscardChanges = t.payload; + }, + setPanelEditorUIState: function (e, t) { + e.ui = c({}, e.ui, {}, t.payload); + }, + closeCompleted: function (e) { + (e.isOpen = !1), (e.initDone = !1); + }, + }, + }), + h = p.actions, + m = h.updateEditorInitState, + g = h.setEditorPanelData, + b = h.setDiscardChanges, + v = h.closeCompleted, + y = h.setPanelEditorUIState, + w = p.reducer; + }, + tOGo: function (e, t) {}, + ttS0: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return m; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("sxGJ"), + i = n.n(o); + function l(e) { + return (l = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function s(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function c(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function u(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function f(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function d(e, t) { + return !t || ("object" !== l(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function p(e) { + return (p = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function h(e, t) { + return (h = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var m = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = d(this, p(t).call(this, e))).getElementType = function () { + return n.props.elType || "button"; + }), + (n.myRef = a.a.createRef()), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && h(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + var e = this.props, + t = e.text, + n = e.onSuccess, + r = e.onError; + (this.clipboardjs = new i.a(this.myRef.current, { text: t })), + n && + this.clipboardjs.on("success", function (e) { + e.clearSelection(), n(e); + }), + r && + this.clipboardjs.on("error", function (e) { + console.error("Action:", e.action), + console.error("Trigger:", e.trigger), + r(e); + }); + }, + }, + { + key: "componentWillUnmount", + value: function () { + this.clipboardjs && this.clipboardjs.destroy(); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = + (e.elType, + e.text, + e.children, + e.onError, + e.onSuccess, + u(e, [ + "elType", + "text", + "children", + "onError", + "onSuccess", + ])); + return a.a.createElement( + this.getElementType(), + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(n), !0).forEach(function (t) { + c(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : s(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({ ref: this.myRef }, t), + this.props.children + ); + }, + }, + ]) && f(n.prototype, r), + o && f(n, o), + t + ); + })(r.PureComponent); + }, + txxJ: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return i; + }), + n.d(t, "b", function () { + return o; + }); + var r = n("KHwQ"), + a = n.n(r), + o = a.a.module("grafana.core", ["ngRoute"]), + i = [ + o, + a.a.module("grafana.controllers", []), + a.a.module("grafana.directives", []), + a.a.module("grafana.factories", []), + a.a.module("grafana.services", []), + a.a.module("grafana.filters", []), + a.a.module("grafana.routes", []), + ]; + t.c = o; + }, + uiFW: function (e, t) { + var n = + "public/app/features/manage-dashboards/partials/dashboard_import.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-cloak>\n <div ng-if="ctrl.step === 1">\n\n <form class=page-action-bar>\n <div class=page-action-bar__spacer></div>\n <dash-upload on-upload=ctrl.onUpload(dash)></dash-upload>\n </form>\n\n <h5 class=section-heading>Grafana.com Dashboard</h5>\n\n <div class=gf-form-group>\n <div class="gf-form gf-form--grow">\n <input type=text class="gf-form-input max-width-30" ng-model=ctrl.gnetUrl placeholder="Paste Grafana.com dashboard url or id" ng-blur=ctrl.checkGnetDashboard()>\n </div>\n <div class=gf-form ng-if=ctrl.gnetError>\n <label class="gf-form-label text-warning">\n <i class="fa fa-warning"></i>\n {{ctrl.gnetError}}\n </label>\n </div>\n </div>\n\n <h5 class=section-heading>Or paste JSON</h5>\n\n <div class=gf-form-group>\n <div class=gf-form>\n <textarea rows=10 data-share-panel-url="" class=gf-form-input ng-model=ctrl.jsonText></textarea>\n </div>\n <button type=button class="btn btn-secondary" ng-click=ctrl.loadJsonText()>\n <i class="fa fa-paste"></i>\n Load\n </button>\n <span ng-if=ctrl.parseError class="text-error p-l-1">\n <i class="fa fa-warning"></i>\n {{ctrl.parseError}}\n </span>\n </div>\n </div>\n\n <div ng-if="ctrl.step === 2">\n <div class=gf-form-group ng-if=ctrl.dash.gnetId>\n <h3 class=section-heading>\n Importing Dashboard from\n <a href=https://grafana.com/dashboards/{{ctrl.dash.gnetId}} class=external-link target=_blank>Grafana.com</a>\n </h3>\n\n <div class=gf-form>\n <label class="gf-form-label width-15">Published by</label>\n <label class="gf-form-label width-15">{{ctrl.gnetInfo.orgName}}</label>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-15">Updated on</label>\n <label class="gf-form-label width-15">{{ctrl.gnetInfo.updatedAt | date : \'yyyy-MM-dd HH:mm:ss\'}}</label>\n </div>\n </div>\n\n <h3 class=section-heading>\n Options\n </h3>\n\n <div class=gf-form-group>\n <div class=gf-form-inline>\n <div class="gf-form gf-form--grow">\n <label class="gf-form-label width-15">Name</label>\n <input type=text class=gf-form-input ng-model=ctrl.dash.title give-focus=true ng-change=ctrl.titleChanged() ng-class="{\'validation-error\': ctrl.nameExists || !ctrl.dash.title}">\n <label class="gf-form-label text-success" ng-if="ctrl.titleTouched && !ctrl.hasNameValidationError">\n <i class="fa fa-check"></i>\n </label>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if=ctrl.hasNameValidationError>\n <div class="gf-form offset-width-15 gf-form--grow">\n <label class="gf-form-label text-warning gf-form-label--grow">\n <i class="fa fa-warning"></i>\n {{ctrl.nameValidationError}}\n </label>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class="gf-form gf-form--grow">\n <folder-picker label-class=width-15 initial-folder-id=ctrl.folderId initial-title=ctrl.initialFolderTitle on-change=ctrl.onFolderChange enter-folder-creation=ctrl.onEnterFolderCreation exit-folder-creation=ctrl.onExitFolderCreation enable-create-new=true>\n </folder-picker>\n </div>\n </div>\n\n <div class=gf-form-inline>\n <div class="gf-form gf-form--grow">\n <span class="gf-form-label width-15">\n Unique identifier (uid)\n <info-popover mode=right-normal>\n The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple\n Grafana installs.\n The uid allows having consistent URL’s for accessing dashboards so changing the title of a dashboard will\n not break any\n bookmarked links to that dashboard.\n </info-popover>\n </span>\n <input type=text class=gf-form-input disabled=disabled ng-model=ctrl.autoGenerateUidValue ng-if=ctrl.autoGenerateUid>\n <a class="btn btn-secondary gf-form-btn" href=# ng-click="ctrl.autoGenerateUid = false" ng-if=ctrl.autoGenerateUid>change</a>\n <input type=text class=gf-form-input maxlength=40 placeholder="optional, will be auto-generated if empty" ng-model=ctrl.dash.uid ng-change=ctrl.uidChanged() ng-if=!ctrl.autoGenerateUid>\n <label class="gf-form-label text-success" ng-if="!ctrl.autoGenerateUid && !ctrl.hasUidValidationError">\n <i class="fa fa-check"></i>\n </label>\n </div>\n </div>\n\n <div class=gf-form-inline ng-if=ctrl.hasUidValidationError>\n <div class="gf-form offset-width-15 gf-form--grow">\n <label class="gf-form-label text-warning gf-form-label--grow">\n <i class="fa fa-warning"></i>\n {{ctrl.uidValidationError}}\n </label>\n </div>\n </div>\n\n <div ng-repeat="input in ctrl.inputs">\n <div class=gf-form>\n <label class="gf-form-label width-15">\n {{input.label}}\n <info-popover mode=right-normal>\n {{input.info}}\n </info-popover>\n </label>\n \x3c!-- Data source input --\x3e\n <div class=gf-form-select-wrapper style=width:100% ng-if="input.type === \'datasource\'">\n <select class=gf-form-input ng-model=input.value ng-options="v.value as v.text for v in input.options" ng-change=ctrl.inputValueChanged()>\n <option value="" ng-hide=input.value>{{input.info}}</option>\n </select>\n </div>\n \x3c!-- Constant input --\x3e\n <input ng-if="input.type === \'constant\'" type=text class=gf-form-input ng-model=input.value placeholder={{input.default}} ng-change=ctrl.inputValueChanged()>\n <label class="gf-form-label text-success" ng-show=input.value>\n <i class="fa fa-check"></i>\n </label>\n </div>\n </div>\n </div>\n\n <div class=gf-form-button-row>\n <button type=button class="btn btn-primary width-12" ng-click=ctrl.saveDashboard() ng-hide="ctrl.nameExists || ctrl.uidExists" ng-disabled=!ctrl.isValid()>\n Import\n </button>\n <button type=button class="btn btn-danger width-12" ng-click=ctrl.saveDashboard() ng-show="ctrl.nameExists || ctrl.uidExists" ng-disabled=!ctrl.isValid()>\n Import (Overwrite)\n </button>\n <a class="btn btn-link" ng-click=ctrl.back()>Cancel</a>\n </div>\n\n </div>\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + umNM: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return f; + }); + var r = n("ZFWI"), + a = n("LvDl"), + o = n.n(a), + i = n("txxJ"), + l = n("PbtU"); + function s(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function c(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + var u = function e() { + c(this, e), r.b.bootData.user && o.a.extend(this, r.b.bootData.user); + }, + f = new ((function () { + function e() { + c(this, e), + (this.sidemenuSmallBreakpoint = !1), + r.b.bootData || (r.b.bootData = { user: {}, settings: {} }), + (this.user = new u()), + (this.isSignedIn = this.user.isSignedIn), + (this.isGrafanaAdmin = this.user.isGrafanaAdmin), + (this.isEditor = this.hasRole("Editor") || this.hasRole("Admin")), + (this.hasEditPermissionInFolders = this.user.hasEditPermissionInFolders), + (this.minRefreshInterval = r.b.minRefreshInterval); + } + var t, n, a; + return ( + (t = e), + (n = [ + { + key: "hasRole", + value: function (e) { + return this.user.orgRole === e; + }, + }, + { + key: "isGrafanaVisible", + value: function () { + return !( + void 0 !== document.visibilityState && + "visible" !== document.visibilityState + ); + }, + }, + { + key: "isAllowedInterval", + value: function (e) { + return ( + !r.b.minRefreshInterval || + l.a.interval_to_ms(e) >= + l.a.interval_to_ms(r.b.minRefreshInterval) + ); + }, + }, + { + key: "getValidInterval", + value: function (e) { + return this.isAllowedInterval(e) ? e : r.b.minRefreshInterval; + }, + }, + { + key: "hasAccessToExplore", + value: function () { + return ( + (this.isEditor || r.b.viewersCanEdit) && r.b.exploreEnabled + ); + }, + }, + ]) && s(t.prototype, n), + a && s(t, a), + e + ); + })())(); + i.c.factory("contextSrv", function () { + return f; + }); + }, + uomI: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return w; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("I7VN"), + i = n("BC3V"), + l = n("S3Uj"), + s = n.n(l); + function c(e) { + return (c = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function u(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function f(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(n), !0).forEach(function (t) { + d(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : u(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function d(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function p(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function h(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function m(e, t) { + return !t || ("object" !== c(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function g(e) { + return (g = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function b(e, t) { + return (b = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var v = { transition: "opacity 200ms linear", opacity: 0 }, + y = { + exited: { opacity: 0 }, + entering: { opacity: 0 }, + entered: { opacity: 1, transitionDelay: "0s" }, + exiting: { opacity: 0, transitionDelay: "500ms" }, + }, + w = (function (e) { + function t() { + return p(this, t), m(this, g(t).apply(this, arguments)); + } + var n, r, l; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && b(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.content, + n = e.show, + r = e.placement, + l = e.onMouseEnter, + c = e.onMouseLeave, + u = e.className, + d = e.wrapperClassName, + p = e.renderArrow, + h = e.referenceElement, + m = e.eventsEnabled; + return a.a.createElement( + o.a, + null, + a.a.createElement( + s.a, + { + in: n, + timeout: 100, + mountOnEnter: !0, + unmountOnExit: !0, + }, + function (e) { + return a.a.createElement( + i.a, + null, + a.a.createElement( + o.b, + { + placement: r, + referenceElement: h, + eventsEnabled: m, + modifiers: { + preventOverflow: { + enabled: !0, + boundariesElement: "window", + }, + }, + }, + function (n) { + var r = n.ref, + o = n.style, + i = n.placement, + s = n.arrowProps, + h = n.scheduleUpdate; + return a.a.createElement( + "div", + { + onMouseEnter: l, + onMouseLeave: c, + ref: r, + style: f({}, o, {}, v, {}, y[e]), + "data-placement": i, + className: "".concat(d), + }, + a.a.createElement( + "div", + { className: u }, + "string" == typeof t && t, + a.a.isValidElement(t) && a.a.cloneElement(t), + "function" == typeof t && + t({ updatePopperPosition: h }), + p && p({ arrowProps: s, placement: i }) + ) + ); + } + ) + ); + } + ) + ); + }, + }, + ]) && h(n.prototype, r), + l && h(n, l), + t + ); + })(r.PureComponent); + w.defaultProps = { eventsEnabled: !0 }; + }, + v4Fa: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return o; + }); + var r = n("LvDl"), + a = n.n(r); + function o(e) { + return e && !a.a.isString(e) + ? e.message + ? e.message + : e.data && e.data.message + ? e.data.message + : e.statusText + ? e.statusText + : JSON.stringify(e) + : e; + } + }, + v7bs: function (e, t) { + var n = "public/app/plugins/panel/table/column_options.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=edit-tab-content ng-repeat="style in editor.panel.styles">\n <div class="section gf-form-group">\n <h5 class=section-heading>Options</h5>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-12">Apply to columns named</label>\n <input type=text placeholder="Name or regex" class="gf-form-input width-13" ng-model=style.pattern bs-tooltip="\'Specify regex using /my.*regex/ syntax\'" bs-typeahead=editor.getColumnNames ng-blur=editor.render() data-min-length=0 data-items=100 ng-model-onblur data-placement=right>\n </div>\n </div>\n <div class=gf-form ng-if="style.type !== \'hidden\'">\n <label class="gf-form-label width-12">Column Header</label>\n <input type=text class="gf-form-input width-12" ng-model=style.alias ng-change=editor.render() ng-model-onblur placeholder="Override header label">\n </div>\n <gf-form-switch class=gf-form label-class=width-12 label="Render value as link" checked=style.link on-change=editor.render()></gf-form-switch>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Type</h5>\n\n <div class=gf-form>\n <label class="gf-form-label width-10">Type</label>\n <div class="gf-form-select-wrapper width-16">\n <select class=gf-form-input ng-model=style.type ng-options="c.value as c.text for c in editor.columnTypes" ng-change=editor.render()></select>\n </div>\n </div>\n <div class=gf-form ng-if="style.type === \'date\'">\n <label class="gf-form-label width-10">Date Format</label>\n <gf-form-dropdown model=style.dateFormat css-class="gf-form-input width-16" lookup-text=true get-options=editor.dateFormats on-change=editor.render() allow-custom=true>\n </gf-form-dropdown>\n </div>\n\n <div ng-if="style.type === \'string\'">\n <gf-form-switch class=gf-form label-class=width-10 ng-if="style.type === \'string\'" label="Sanitize HTML" checked=style.sanitize on-change=editor.render()></gf-form-switch>\n </div>\n\n <div ng-if="style.type !== \'hidden\'">\n <div class=gf-form>\n <label class="gf-form-label width-10">Align</label>\n <gf-form-dropdown model=style.align css-class="gf-form-input width-16" lookup-text=true get-options=editor.alignTypes allow-custom=false on-change=editor.render() allow-custom=false />\n </div>\n </div>\n\n <div ng-if="style.type === \'string\'">\n <gf-form-switch class=gf-form label-class=width-10 ng-if="style.type === \'string\'" label="Preserve Formatting" checked=style.preserveFormat on-change=editor.render()></gf-form-switch>\n </div>\n\n <div ng-if="style.type === \'number\'">\n <div class=gf-form>\n <label class="gf-form-label width-10">Unit</label>\n <unit-picker onchange=editor.setUnitFormat(style) value=style.unit width=16></unit-picker>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-10">Decimals</label>\n <input type=number class="gf-form-input width-4" data-placement=right ng-model=style.decimals ng-change=editor.render() ng-model-onblur>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group" ng-if="style.type === \'string\'">\n <h5 class=section-heading>Value Mappings</h5>\n <div class=editor-row>\n <div class=gf-form-group>\n <div class=gf-form>\n <span class=gf-form-label>\n Type\n </span>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=style.mappingType ng-options="c.value as c.text for c in editor.mappingTypes" ng-change=editor.render()></select>\n </div>\n </div>\n <div class=gf-form-group ng-if="style.mappingType==1">\n <div class=gf-form ng-repeat="map in style.valueMaps">\n <span class=gf-form-label>\n <i class="fa fa-remove pointer" ng-click="editor.removeValueMap(style, $index)"></i>\n </span>\n <input type=text class="gf-form-input max-width-6" ng-model=map.value placeholder=Value ng-blur=editor.render()>\n <label class=gf-form-label>\n <i class="fa fa-arrow-right"></i>\n </label>\n <input type=text class="gf-form-input max-width-8" ng-model=map.text placeholder=Text ng-blur=editor.render()>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer ng-click=editor.addValueMap(style)><i class="fa fa-plus"></i></a>\n </label>\n </div>\n </div>\n <div class=gf-form-group ng-if="style.mappingType==2">\n <div class=gf-form ng-repeat="rangeMap in style.rangeMaps">\n <span class=gf-form-label>\n <i class="fa fa-remove pointer" ng-click="editor.removeRangeMap(style, $index)"></i>\n </span>\n <span class=gf-form-label>From</span>\n <input type=text ng-model=rangeMap.from class="gf-form-input max-width-6" ng-blur=editor.render()>\n <span class=gf-form-label>To</span>\n <input type=text ng-model=rangeMap.to class="gf-form-input max-width-6" ng-blur=editor.render()>\n <span class=gf-form-label>Text</span>\n <input type=text ng-model=rangeMap.text class="gf-form-input max-width-8" ng-blur=editor.render()>\n </div>\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer ng-click=editor.addRangeMap(style)><i class="fa fa-plus"></i></a>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group" ng-if="[\'number\', \'string\'].indexOf(style.type) !== -1">\n <h5 class=section-heading>Thresholds</h5>\n <div class=gf-form>\n <label class="gf-form-label width-8">Thresholds\n <tip>Comma separated values</tip>\n </label>\n <input type=text class="gf-form-input width-10" ng-model=style.thresholds placeholder=50,80 ng-blur=editor.render() array-join>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Color Mode</label>\n <div class="gf-form-select-wrapper width-10">\n <select class=gf-form-input ng-model=style.colorMode ng-options="c.value as c.text for c in editor.colorModes" ng-change=editor.render()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Colors</label>\n <span class=gf-form-label>\n <color-picker color=style.colors[0] onchange=editor.onColorChange(style,0)></color-picker>\n </span>\n <span class=gf-form-label>\n <color-picker color=style.colors[1] onchange=editor.onColorChange(style,1)></color-picker>\n </span>\n <span class=gf-form-label>\n <color-picker color=style.colors[2] onchange=editor.onColorChange(style,2)></color-picker>\n </span>\n <div class=gf-form-label>\n <a class=pointer ng-click=editor.invertColorOrder($index)>Invert</a>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group" ng-if=style.link>\n <h5 class=section-heading>Link</h5>\n <div class=gf-form>\n <label class="gf-form-label width-9">\n Url\n <info-popover mode=right-normal>\n <p>Specify an URL (relative or absolute)</p>\n <span>\n Use special variables to specify cell values:\n <br>\n <em>${__cell}</em> refers to current cell value\n <br>\n <em>${__cell_n}</em> refers to Nth column value in current row. Column indexes are started from 0. For instance,\n <em>${__cell_1}</em> refers to second column\'s value.\n <br>\n <em>${__cell:raw}</em> syntax. By default values are URI encoded. If the value is a complete URL you can disable all encoding using\n </span>\n </info-popover>\n </label>\n <input type=text class="gf-form-input width-29" ng-model=style.linkUrl ng-blur=editor.render() ng-model-onblur data-placement=right>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-9">\n Tooltip\n <info-popover mode=right-normal>\n <p>Specify text for link tooltip.</p>\n <span>\n This title appears when user hovers pointer over the cell with link. Use the same variables as for URL.\n </span>\n </info-popover>\n </label>\n <input type=text class="gf-form-input width-29" ng-model=style.linkTooltip ng-blur=editor.render() ng-model-onblur data-placement=right>\n </div>\n <gf-form-switch class=gf-form label-class=width-9 label="Open in new tab" checked=style.linkTargetBlank></gf-form-switch>\n </div>\n\n <div class=clearfix></div>\n <div class=gf-form-group>\n <button class="btn btn-danger btn-small" ng-click=editor.removeColumnStyle(style)>\n <i class="fa fa-trash"></i> Remove Rule\n </button>\n </div>\n\n <hr>\n</div>\n\n<div class=gf-form-button-row>\n <button class="btn btn-inverse" ng-click=editor.addColumnStyle()>\n <i class="fa fa-plus"></i> Add column style\n </button>\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + vFKA: function (e, t, n) { + var r = { + "./core/components/manage_dashboards/manage_dashboards.html": "EOC3", + "./core/components/search/search.html": "xQSJ", + "./core/components/search/search_results.html": "VDBq", + "./features/admin/partials/admin_home.html": "1duI", + "./features/admin/partials/edit_org.html": "1yDb", + "./features/admin/partials/edit_user.html": "QH30", + "./features/admin/partials/orgs.html": "eYNV", + "./features/admin/partials/stats.html": "iSop", + "./features/admin/partials/styleguide.html": "6rcN", + "./features/admin/partials/users.html": "lpb/", + "./features/alerting/partials/alert_howto.html": "wvI5", + "./features/alerting/partials/alert_tab.html": "0LRa", + "./features/alerting/partials/notification_edit.html": "WNR3", + "./features/alerting/partials/notifications_list.html": "BvEB", + "./features/annotations/partials/editor.html": "RyIb", + "./features/annotations/partials/event_editor.html": "vk65", + "./features/dashboard/components/DashLinks/editor.html": "HPUJ", + "./features/dashboard/components/DashboardSettings/template.html": + "jvip", + "./features/dashboard/components/ExportDataModal/template.html": "qrvd", + "./features/dashboard/components/RowOptions/template.html": "iyz2", + "./features/dashboard/components/SubMenu/template.html": "coz7", + "./features/dashboard/components/VersionHistory/template.html": "wxmp", + "./features/datasources/partials/http_settings.html": "11hs", + "./features/datasources/partials/http_settings_next.html": "WtGe", + "./features/datasources/partials/tls_auth_settings.html": "/2Ru", + "./features/folders/partials/create_folder.html": "3XPa", + "./features/folders/partials/folder_dashboards.html": "yFUm", + "./features/manage-dashboards/components/MoveToFolderModal/template.html": + "3lkw", + "./features/manage-dashboards/partials/dashboard_import.html": "uiFW", + "./features/manage-dashboards/partials/dashboard_list.html": "OPwE", + "./features/manage-dashboards/partials/snapshot_list.html": "aLCo", + "./features/org/partials/newOrg.html": "iFH1", + "./features/org/partials/select_org.html": "QBcC", + "./features/panel/panellinks/module.html": "bDa/", + "./features/panel/partials/general_tab.html": "XrM5", + "./features/panel/partials/panelTime.html": "oZti", + "./features/panel/partials/query_editor_row.html": "oEL2", + "./features/playlist/partials/playlist.html": "krwA", + "./features/playlist/partials/playlist_search.html": "4x4p", + "./features/playlist/partials/playlists.html": "M76c", + "./features/plugins/partials/plugin_page.html": "0+gp", + "./features/plugins/partials/update_instructions.html": "X4jf", + "./features/profile/partials/profile.html": "Uw6O", + "./features/templating/partials/editor.html": "6V0m", + "./partials/confirm_modal.html": "iKVC", + "./partials/edit_json.html": "Ukuu", + "./partials/error.html": "UkAP", + "./partials/modal.html": "/YHu", + "./partials/reset_password.html": "YRnh", + "./partials/signup_invited.html": "7teh", + "./partials/valueSelectDropdown.html": "0bcw", + "./plugins/datasource/cloudwatch/partials/annotations.editor.html": + "E1lu", + "./plugins/datasource/cloudwatch/partials/query.parameter.html": "hSYD", + "./plugins/datasource/elasticsearch/partials/annotations.editor.html": + "LzuI", + "./plugins/datasource/elasticsearch/partials/bucket_agg.html": "NhjT", + "./plugins/datasource/elasticsearch/partials/metric_agg.html": "Pfkp", + "./plugins/datasource/elasticsearch/partials/pipeline_variables.html": + "VKbU", + "./plugins/datasource/elasticsearch/partials/query.editor.html": "bR/a", + "./plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html": + "Qinm", + "./plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html": + "ADUO", + "./plugins/datasource/grafana/partials/annotations.editor.html": "/8l8", + "./plugins/datasource/grafana/partials/query.editor.html": "dQag", + "./plugins/datasource/graphite/partials/annotations.editor.html": + "2rVl", + "./plugins/datasource/graphite/partials/query.editor.html": "ePCq", + "./plugins/datasource/influxdb/partials/annotations.editor.html": + "Szrz", + "./plugins/datasource/influxdb/partials/query.editor.html": "/HFP", + "./plugins/datasource/loki/partials/annotations.editor.html": "3CYn", + "./plugins/datasource/mssql/partials/annotations.editor.html": "PQb9", + "./plugins/datasource/mssql/partials/config.html": "1kYe", + "./plugins/datasource/mssql/partials/query.editor.html": "U1ax", + "./plugins/datasource/mysql/partials/annotations.editor.html": "9RCP", + "./plugins/datasource/mysql/partials/config.html": "7ym3", + "./plugins/datasource/mysql/partials/query.editor.html": "gw38", + "./plugins/datasource/opentsdb/partials/annotations.editor.html": + "s+LN", + "./plugins/datasource/opentsdb/partials/query.editor.html": "vhkK", + "./plugins/datasource/postgres/partials/annotations.editor.html": + "I+An", + "./plugins/datasource/postgres/partials/config.html": "diqK", + "./plugins/datasource/postgres/partials/query.editor.html": "HmKx", + "./plugins/datasource/prometheus/partials/annotations.editor.html": + "jaLZ", + "./plugins/datasource/stackdriver/partials/annotations.editor.html": + "cytP", + "./plugins/datasource/stackdriver/partials/config.html": "OEPh", + "./plugins/datasource/stackdriver/partials/query.editor.html": "7wpZ", + "./plugins/datasource/testdata/partials/query.editor.html": "pCo/", + "./plugins/panel/alertlist/editor.html": "phJb", + "./plugins/panel/alertlist/module.html": "0ZQg", + "./plugins/panel/dashlist/editor.html": "QqjE", + "./plugins/panel/dashlist/module.html": "eNSq", + "./plugins/panel/graph/axes_editor.html": "ZG7E", + "./plugins/panel/graph/tab_display.html": "Lmi3", + "./plugins/panel/graph/tab_drilldown_links.html": "cZsJ", + "./plugins/panel/graph/tab_legend.html": "/XDc", + "./plugins/panel/graph/tab_thresholds_time_regions.html": "hiSG", + "./plugins/panel/graph/thresholds_form.html": "zJCM", + "./plugins/panel/graph/time_regions_form.html": "pDgv", + "./plugins/panel/heatmap/module.html": "NoBN", + "./plugins/panel/heatmap/partials/axes_editor.html": "vInx", + "./plugins/panel/heatmap/partials/display_editor.html": "mCU5", + "./plugins/panel/pluginlist/editor.html": "7dpV", + "./plugins/panel/pluginlist/module.html": "UJAu", + "./plugins/panel/singlestat/editor.html": "hE9y", + "./plugins/panel/singlestat/mappings.html": "2euF", + "./plugins/panel/singlestat/module.html": "8iRp", + "./plugins/panel/table/column_options.html": "v7bs", + "./plugins/panel/table/editor.html": "RYWr", + "./plugins/panel/table/module.html": "N1Zo", + "./plugins/panel/text/editor.html": "9CCn", + "./plugins/panel/text/module.html": "/Dwp", + }; + function a(e) { + var t = o(e); + return n(t); + } + function o(e) { + if (!n.o(r, e)) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = "MODULE_NOT_FOUND"), t); + } + return r[e]; + } + (a.keys = function () { + return Object.keys(r); + }), + (a.resolve = o), + (e.exports = a), + (a.id = "vFKA"); + }, + vInx: function (e, t) { + var n = "public/app/plugins/panel/heatmap/partials/axes_editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=editor-row>\n <div class="section gf-form-group">\n <h5 class=section-heading>Y Axis</h5>\n <div class=gf-form>\n <label class="gf-form-label width-8">Unit</label>\n <div class="gf-form-dropdown-typeahead width-12" ng-model=ctrl.panel.yAxis.format dropdown-typeahead2=editor.unitFormats dropdown-typeahead-on-select=editor.setUnitFormat($subItem)>\n </div>\n </div>\n <div ng-if="ctrl.panel.dataFormat == \'timeseries\'">\n <div class=gf-form>\n <label class="gf-form-label width-8">Scale</label>\n <div class="gf-form-select-wrapper width-12">\n <select class=gf-form-input ng-model=ctrl.panel.yAxis.logBase ng-options="v as k for (k, v) in editor.logScales" ng-change=ctrl.refresh()></select>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Y-Min</label>\n <input type=text class="gf-form-input width-12" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.min ng-change=ctrl.render() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Y-Max</label>\n <input type=text class="gf-form-input width-12" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.max ng-change=ctrl.render() ng-model-onblur>\n </div>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-8">Decimals</label>\n <input type=number class="gf-form-input width-12" placeholder=auto data-placement=right bs-tooltip="\'Override automatic decimal precision for axis.\'" ng-model=ctrl.panel.yAxis.decimals ng-change=ctrl.render() ng-model-onblur>\n </div>\n <div class=gf-form ng-if="ctrl.panel.dataFormat == \'tsbuckets\'">\n <label class="gf-form-label width-8">Bucket bound</label>\n <div class="gf-form-select-wrapper max-width-12">\n <select class=gf-form-input ng-model=ctrl.panel.yBucketBound ng-options="v as k for (k, v) in editor.yBucketBoundModes" ng-change=ctrl.render() data-placement=right bs-tooltip="\'Use series label as an upper or lower bucket bound.\'">\n </select>\n </div>\n </div>\n <gf-form-switch ng-if="ctrl.panel.dataFormat == \'tsbuckets\'" class=gf-form label-class=width-8 label="Reverse order" checked=ctrl.panel.reverseYBuckets on-change=ctrl.refresh()>\n </gf-form-switch>\n </div>\n\n <div class="section gf-form-group" ng-if="ctrl.panel.dataFormat == \'timeseries\'">\n <h5 class=section-heading>Buckets</h5>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-5">Y Axis</label>\n </div>\n <div class=gf-form ng-show="ctrl.panel.yAxis.logBase === 1">\n <label class="gf-form-label width-5">Buckets</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Number of buckets for Y axis.\'" ng-model=ctrl.panel.yBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <div class=gf-form ng-show="ctrl.panel.yAxis.logBase === 1">\n <label class="gf-form-label width-4">Size</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Size of bucket. Has priority over Buckets option.\'" ng-model=ctrl.panel.yBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <div class=gf-form ng-show="ctrl.panel.yAxis.logBase !== 1">\n <label class="gf-form-label width-10">Split Factor</label>\n <input type=number class="gf-form-input width-9" placeholder=1 data-placement=right bs-tooltip="\'For log scales only. By default Y values is splitted by integer powers of log base (1, 2, 4, 8, 16, ... for log2). This option allows to split each default bucket into specified number of buckets.\'" ng-model=ctrl.panel.yAxis.splitFactor ng-change=ctrl.refresh() ng-model-onblur>\n \n </div>\n </div>\n <div class=gf-form-inline>\n <div class=gf-form>\n <label class="gf-form-label width-5">X Axis</label>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-5">Buckets</label>\n <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Number of buckets for X axis.\'" ng-model=ctrl.panel.xBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n <div class=gf-form>\n <label class="gf-form-label width-4">Size</label>\n <input type=text class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Size of bucket. Number or interval (10s, 5m, 1h, etc). Supported intervals: ms, s, m, h, d, w, M, y. Has priority over Buckets option.\'" ng-model=ctrl.panel.xBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n </div>\n </div>\n </div>\n\n <div class="section gf-form-group">\n <h5 class=section-heading>Data format</h5>\n <div class=gf-form>\n <label class="gf-form-label width-5">Format</label>\n <div class="gf-form-select-wrapper max-width-15">\n <select class=gf-form-input ng-model=ctrl.panel.dataFormat ng-options="v as k for (k, v) in editor.dataFormats" ng-change=ctrl.render() data-placement=right bs-tooltip="\'Time series: create heatmap from regular time series. <br>Time series buckets: use histogram data returned from data source. Each series represents bucket which upper/lower bound is a series label.\'">\n </select>\n </div>\n </div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + vKfT: function (e, t) { + jQuery.plot.plugins.push({ + init: function (e) { + e.hooks.processDatapoints.push(function (e, t, n) { + t.dashes.show && + e.hooks.draw.push(function (e, r) { + var a = e.getPlotOffset(), + o = t.xaxis, + i = t.yaxis; + function l(e, a) { + var l, + s, + c = n.points, + u = n.pointsize, + f = null, + d = null, + p = 0, + h = !0; + t.dashes.dashLength[0] + ? ((l = t.dashes.dashLength[0]), + (s = t.dashes.dashLength[1] ? t.dashes.dashLength[1] : l)) + : (s = l = t.dashes.dashLength), + r.beginPath(); + for (var m = u; m < c.length; m += u) { + var g = c[m - u], + b = c[m - u + 1], + v = c[m], + y = c[m + 1]; + if (null != g && null != v) { + if (b <= y && b < i.min) { + if (y < i.min) continue; + (g = ((i.min - b) / (y - b)) * (v - g) + g), + (b = i.min); + } else if (y <= b && y < i.min) { + if (b < i.min) continue; + (v = ((i.min - b) / (y - b)) * (v - g) + g), + (y = i.min); + } + if (b >= y && b > i.max) { + if (y > i.max) continue; + (g = ((i.max - b) / (y - b)) * (v - g) + g), + (b = i.max); + } else if (y >= b && y > i.max) { + if (b > i.max) continue; + (v = ((i.max - b) / (y - b)) * (v - g) + g), + (y = i.max); + } + if (g <= v && g < o.min) { + if (v < o.min) continue; + (b = ((o.min - g) / (v - g)) * (y - b) + b), + (g = o.min); + } else if (v <= g && v < o.min) { + if (g < o.min) continue; + (y = ((o.min - g) / (v - g)) * (y - b) + b), + (v = o.min); + } + if (g >= v && g > o.max) { + if (v > o.max) continue; + (b = ((o.max - g) / (v - g)) * (y - b) + b), + (g = o.max); + } else if (v >= g && v > o.max) { + if (g > o.max) continue; + (y = ((o.max - g) / (v - g)) * (y - b) + b), + (v = o.max); + } + (g == f && b == d) || + r.moveTo(o.p2c(g) + e, i.p2c(b) + a); + var w, + O = o.p2c(g) + e, + x = i.p2c(b) + a, + k = o.p2c(v) + e, + j = i.p2c(y) + a; + do { + (0 == (w = S(p > 0 ? p : h ? l : s)).deltaX && + 0 == w.deltaY) || + (h + ? r.lineTo(O + w.deltaX, x + w.deltaY) + : r.moveTo(O + w.deltaX, x + w.deltaY)), + (h = !h), + (p = w.remainder), + (O += w.deltaX), + (x += w.deltaY); + } while (w.distance > 0); + (f = v), (d = y); + } + function S(e) { + var t = Math.sqrt( + Math.pow(k - O, 2) + Math.pow(j - x, 2) + ); + if (t <= e) + return { + deltaX: k - O, + deltaY: j - x, + distance: t, + remainder: e - t, + }; + var n = j > x ? 1 : -1; + return { + deltaX: + (k > O ? 1 : -1) * + Math.sqrt( + Math.pow(e, 2) / + (1 + Math.pow((j - x) / (k - O), 2)) + ), + deltaY: + n * + Math.sqrt( + Math.pow(e, 2) - + Math.pow(e, 2) / + (1 + Math.pow((j - x) / (k - O), 2)) + ), + distance: e, + remainder: 0, + }; + } + } + r.stroke(); + } + r.save(), r.translate(a.left, a.top), (r.lineJoin = "round"); + var s = t.dashes.lineWidth, + c = t.shadowSize; + if (s > 0 && c > 0) { + (r.lineWidth = c), (r.strokeStyle = "rgba(0,0,0,0.1)"); + var u = Math.PI / 18; + l( + Math.sin(u) * (s / 2 + c / 2), + Math.cos(u) * (s / 2 + c / 2) + ), + (r.lineWidth = c / 2), + l( + Math.sin(u) * (s / 2 + c / 4), + Math.cos(u) * (s / 2 + c / 4) + ); + } + (r.lineWidth = s), + (r.strokeStyle = t.color), + s > 0 && l(0, 0), + r.restore(); + }); + }); + }, + options: { + series: { dashes: { show: !1, lineWidth: 2, dashLength: 10 } }, + }, + name: "dashes", + version: "0.1", + }); + }, + vMjj: function (e, t, n) { + "use strict"; + n.d(t, "c", function () { + return c; + }), + n.d(t, "b", function () { + return u; + }), + n.d(t, "a", function () { + return f; + }); + var r = n("i7Pf"); + function a(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(n), !0).forEach(function (t) { + i(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : a(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function i(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var l = Object(r.c)({ + name: "appNotifications", + initialState: { appNotifications: [] }, + reducers: { + notifyApp: function (e, t) { + return o({}, e, { + appNotifications: e.appNotifications.concat([t.payload]), + }); + }, + clearAppNotification: function (e, t) { + return o({}, e, { + appNotifications: e.appNotifications.filter(function (e) { + return e.id !== t.payload; + }), + }); + }, + }, + }), + s = l.actions, + c = s.notifyApp, + u = s.clearAppNotification, + f = l.reducer; + }, + vhkK: function (e, t) { + var n = + "public/app/plugins/datasource/opentsdb/partials/query.editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-25">\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tMetric\n\t\t\t\t<label class=gf-form-label bs-tooltip=ctrl.errors.metric style=color:#e5bd1c ng-show=ctrl.errors.metric>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</label>\n\t\t\t</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.metric spellcheck=false bs-typeahead=ctrl.suggestMetrics placeholder="metric name" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\tAggregator\n\t\t\t\t<a bs-tooltip=ctrl.errors.aggregator style=color:#e5bd1c ng-show=ctrl.errors.aggregator>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<div class="gf-form-select-wrapper max-width-15">\n\t\t\t\t<select ng-model=ctrl.target.aggregator class=gf-form-input ng-options="agg for agg in ctrl.aggregators" ng-change=ctrl.targetBlur()>\n\t\t \t </select>\n\t\t\t</div>\n\t\t</div>\n\t\t\t<div class="gf-form max-width-20">\n\t\t\t\t<label class="gf-form-label query-keyword width-6">\n\t\t\t\t\tAlias:\n\t\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t\tUse patterns like $tag_tagname to replace part of the alias for a tag value\n\t\t\t\t\t</info-popover>\n\t\t\t\t</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="series alias" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t</div>\n\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-25">\n\t\t\t<label class="gf-form-label query-keyword width-8">Down sample</label>\n\t\t\t<input type=text class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.target.downsampleInterval ng-model-onblur ng-change=ctrl.targetBlur() placeholder=interval>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tblank for auto, or for example <code>1m</code>\n\t\t\t</info-popover>\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Aggregator</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleAggregator class=gf-form-input ng-options="agg for agg in ctrl.aggregators" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form ng-if="ctrl.tsdbVersion >= 2">\n\t\t\t<label class="gf-form-label query-keyword width-6">Fill</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleFillPolicy class=gf-form-input ng-options="agg for agg in ctrl.fillPolicies" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<gf-form-switch class=gf-form label="Disable downsampling" label-class=query-keyword checked=ctrl.target.disableDownsampling on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.tsdbVersion >= 2">\n\t\t<div class=gf-form>\n\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tFilters\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tFilters does not work with tags, either of the two will work but not both.\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\n\t\t\t<div ng-repeat="fil in ctrl.target.filters track by $index" class=gf-form-label>\n\t\t\t\t{{fil.tagk}} = {{fil.type}}({{fil.filter}}) , groupBy = {{fil.groupBy}}\n\t\t\t\t<a ng-click="ctrl.editFilter(fil, $index)">\n\t\t\t\t\t<i class="fa fa-pencil"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeFilter($index)>\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<label class="gf-form-label query-keyword" ng-hide=ctrl.addFilterMode>\n\t\t\t\t<a ng-click=ctrl.addFilter()>\n\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n \t\t</div>\n\n\t\t<div class=gf-form-inline ng-show=ctrl.addFilterMode>\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterKey placeholder=key>\n\t\t\t\t\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label query-keyword">Type</label>\n\t\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t\t<select ng-model=ctrl.target.currentFilterType class=gf-form-input ng-options="filType for filType in ctrl.filterTypes">\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterValue placeholder=filter>\n\t\t\t\t\n\t\t\t</div>\n\n <gf-form-switch class=gf-form label="Group by" label-class=query-keyword checked=ctrl.target.currentFilterGroupBy on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form ng-show=ctrl.addFilterMode>\n\t\t\t\t<label class=gf-form-label ng-show=ctrl.errors.filters>\n\t\t\t\t\t<a bs-tooltip=ctrl.errors.filters style=color:#e5bd1c>\n\t\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label>\n\t\t\t\t\t<a ng-click=ctrl.addFilter() ng-hide=ctrl.errors.filters>add filter</a>\n\t\t\t\t\t<a ng-click=ctrl.closeAddFilterMode()>\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal ng-if="ctrl.tsdbVersion >= 2">\n\t\t\t\t\tPlease use filters, tags are deprecated in opentsdb 2.2\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-repeat="(key, value) in ctrl.target.tags track by $index" class=gf-form>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t{{key}} = {{value}}\n\t\t\t\t<a ng-click="ctrl.editTag(key, value)">\n\t\t\t\t\t<i class="fa fa-pencil"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeTag(key)>\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-hide=ctrl.addTagMode>\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\t<a ng-click=ctrl.addTag()><i class="fa fa-plus"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-show=ctrl.addTagMode>\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagKey placeholder=key>\n\t\t\t\n\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagValue placeholder=value>\n\t\t\t\n\n\t\t\t<label class=gf-form-label ng-show=ctrl.errors.tags>\n\t\t\t\t<a bs-tooltip=ctrl.errors.tags style=color:#e5bd1c>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t<a ng-click=ctrl.addTag() ng-hide=ctrl.errors.tags>add tag</a>\n\t\t\t\t<a ng-click=ctrl.closeAddTagMode()><i class="fa fa-remove"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<gf-form-switch class=gf-form label=Rate label-class="width-8 query-keyword" checked=ctrl.target.shouldComputeRate on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<gf-form-switch ng-hide=!ctrl.target.shouldComputeRate class=gf-form label=Counter label-class=query-keyword checked=ctrl.target.isCounter on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\n\t\t<div class=gf-form ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">\n\t\t\t<label class="gf-form-label query-keyword">Counter Max</label>\n\t\t\t<input type=text class=gf-form-input ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterMax spellcheck=false placeholder="max value" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\n\t\t\t<label class="gf-form-label query-keyword">Reset Value</label>\n\t\t\t<input type=text class="tight-form-input input-small" ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterResetValue spellcheck=false placeholder="reset value" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\n\t\t<div class=gf-form ng-if="ctrl.tsdbVersion > 2">\n\t\t\t<gf-form-switch class=gf-form label="Explicit tags" label-class="width-8 query-keyword" checked=ctrl.target.explicitTags on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n\n' + ); + }, + ]), + (e.exports = n); + }, + vi1D: function (e, t, n) { + "use strict"; + n.r(t), + n.d(t, "alertSuccess", function () { + return a; + }), + n.d(t, "alertWarning", function () { + return o; + }), + n.d(t, "alertError", function () { + return i; + }); + var r = n("5m9O"), + a = Object(r.a)("alert-success"), + o = Object(r.a)("alert-warning"), + i = Object(r.a)("alert-error"); + }, + vk65: function (e, t) { + var n = "public/app/features/annotations/partials/event_editor.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=graph-annotation>\n\t<div class=graph-annotation__header>\n\t\t<div class=graph-annotation__user bs-tooltip="\'Created by {{ctrl.login}}\'">\n\t\t</div>\n\n\t\t<div class=graph-annotation__title>\n\t\t\t<span ng-if=!ctrl.event.id>Add Annotation</span>\n\t\t\t<span ng-if=ctrl.event.id>Edit Annotation</span>\n\t\t</div>\n\n <div class=graph-annotation__time>{{ctrl.timeFormated}}</div>\n\t</div>\n\n\t<form name=ctrl.form class="graph-annotation__body text-center">\n\t\t<div style=display:inline-block>\n\t\t\t<div class="gf-form gf-form--v-stretch">\n\t\t\t\t<span class="gf-form-label width-7">Description</span>\n\t\t\t\t<textarea class="gf-form-input width-20" rows=2 ng-model=ctrl.event.text placeholder=Description></textarea>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Tags</span>\n\t\t\t\t<bootstrap-tagsinput ng-model=ctrl.event.tags tagclass="label label-tag" placeholder="add tags">\n\t\t\t\t</bootstrap-tagsinput>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t \ + <button type=submit class="btn btn-primary" ng-click=ctrl.save_anomaly_with_vars()>Anomaly</button> \ + <button type=submit class="btn btn-primary" ng-click=ctrl.save_normal_with_vars()>Normal</button> \ + \n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=ctrl.save()>Save</button>\n\t\t\t\t<button ng-if=ctrl.event.id type=submit class="btn btn-danger" ng-click=ctrl.delete()>Delete</button>\n\t\t\t\t<a class=btn-text ng-click=ctrl.close();>Cancel</a>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + vkM9: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return y; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("J2iB"), + i = n.n(o), + l = n("TSYQ"), + s = n.n(l), + c = n("k82f"), + u = n.n(c), + f = n("kDDq"); + function d(e) { + return (d = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function p() { + return (p = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) + Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }).apply(this, arguments); + } + function h() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n visibility: ", ";\n "]); + return ( + (h = function () { + return e; + }), + e + ); + } + function m(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function g(e, t) { + return !t || ("object" !== d(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function b(e) { + return (b = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function v(e, t) { + return (v = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var y = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = g(this, b(t).call(this, e))).renderTrack = function ( + e, + t, + n + ) { + return a.a.createElement( + "div", + p({}, n, { + className: Object(f.cx)( + Object(f.css)(h(), t ? "hidden" : "visible"), + e + ), + }) + ); + }), + (n.renderThumb = function (e, t) { + return a.a.createElement("div", p({}, t, { className: e })); + }), + (n.renderTrackHorizontal = function (e) { + return n.renderTrack( + "track-horizontal", + n.props.hideHorizontalTrack, + e + ); + }), + (n.renderTrackVertical = function (e) { + return n.renderTrack( + "track-vertical", + n.props.hideVerticalTrack, + e + ); + }), + (n.renderThumbHorizontal = function (e) { + return n.renderThumb("thumb-horizontal", e); + }), + (n.renderThumbVertical = function (e) { + return n.renderThumb("thumb-vertical", e); + }), + (n.renderView = function (e) { + return a.a.createElement("div", p({}, e, { className: "view" })); + }), + (n.ref = a.a.createRef()), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && v(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "updateScroll", + value: function () { + var e = this.ref.current, + t = this.props.scrollTop; + e && !i()(t) && e.scrollTop(t); + }, + }, + { + key: "componentDidMount", + value: function () { + var e = this; + this.updateScroll(), + this.props.updateAfterMountMs && + setTimeout(function () { + return e.updateAfterMount(); + }, this.props.updateAfterMountMs); + }, + }, + { + key: "updateAfterMount", + value: function () { + if (this.ref && this.ref.current) { + var e = this.ref.current; + e.update && e.update(); + } + }, + }, + { + key: "componentDidUpdate", + value: function () { + this.updateScroll(); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.className, + n = e.children, + r = e.autoHeightMax, + o = e.autoHeightMin, + i = e.setScrollTop, + l = e.autoHide, + c = e.autoHideTimeout, + f = e.hideTracksWhenNotNeeded; + return a.a.createElement( + u.a, + { + ref: this.ref, + className: s()("custom-scrollbar", t), + onScroll: i, + autoHeight: !0, + autoHide: l, + autoHideTimeout: c, + hideTracksWhenNotNeeded: f, + autoHeightMax: r, + autoHeightMin: o, + renderTrackHorizontal: this.renderTrackHorizontal, + renderTrackVertical: this.renderTrackVertical, + renderThumbHorizontal: this.renderThumbHorizontal, + renderThumbVertical: this.renderThumbVertical, + renderView: this.renderView, + }, + n + ); + }, + }, + ]) && m(n.prototype, r), + o && m(n, o), + t + ); + })(r.Component); + (y.defaultProps = { + autoHide: !1, + autoHideTimeout: 200, + autoHideDuration: 200, + setScrollTop: function () {}, + hideTracksWhenNotNeeded: !1, + autoHeightMin: "0", + autoHeightMax: "100%", + }), + (t.b = y); + }, + wEtz: function (e, t, n) { + "use strict"; + function r(e, t) { + var n = (t = t || {}).delimiter || ".", + r = t.maxDepth || 3, + a = 1, + o = {}; + return ( + (function e(i, l) { + Object.keys(i).forEach(function (s) { + var c = i[s], + u = t.safe && Array.isArray(c), + f = "[object Object]" === Object.prototype.toString.call(c), + d = l ? l + n + s : s; + if ( + (t.maxDepth || (r = a + 1), + !u && f && Object.keys(c).length && a < r) + ) + return ++a, e(c, d); + o[d] = c; + }); + })(e, null), + o + ); + } + n.r(t), + n.d(t, "default", function () { + return r; + }); + }, + wK5K: function (e, t) {}, + wobk: function (e, t, n) { + "use strict"; + var r = n("q1tI"), + a = n.n(r), + o = n("+dgx"), + i = n("LvDl"), + l = n.n(i), + s = n("kDLi"), + c = n("t8hP"); + function u(e) { + return (u = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function f(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function d(e) { + return (d = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function p(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + } + function h(e, t) { + return (h = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var m = (function (e) { + function t(e) { + var n, r, a; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + (r = this), + ((n = + !(a = d(t).call(this, e)) || + ("object" !== u(a) && "function" != typeof a) + ? p(r) + : a).state = { isLoading: !1 }), + (n.search = n.search.bind(p(n))), + (n.debouncedSearch = Object(i.debounce)(n.search, 300, { + leading: !0, + trailing: !0, + })), + n + ); + } + var n, r, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && h(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "search", + value: function (e) { + var t = this; + return ( + this.setState({ isLoading: !0 }), + l.a.isNil(e) && (e = ""), + Object(c.getBackendSrv)() + .get( + "/api/teams/search?perpage=100&page=1&query=".concat(e) + ) + .then(function (e) { + var n = e.teams.map(function (e) { + return { + id: e.id, + value: e.id, + label: e.name, + name: e.name, + imgUrl: e.avatarUrl, + }; + }); + return t.setState({ isLoading: !1 }), n; + }) + ); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.onSelected, + n = e.className, + r = this.state.isLoading; + return a.a.createElement( + "div", + { className: "user-picker" }, + a.a.createElement(s.AsyncSelect, { + isLoading: r, + defaultOptions: !0, + loadOptions: this.debouncedSearch, + onChange: t, + className: n, + placeholder: "Select a team", + noOptionsMessage: function () { + return "No teams found"; + }, + }) + ); + }, + }, + ]) && f(n.prototype, r), + o && f(n, o), + t + ); + })(r.Component), + g = n("9iwZ"); + function b(e) { + return (b = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function v(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function y(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function w(e, t) { + return !t || ("object" !== b(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function O(e) { + return (O = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function x(e, t) { + return (x = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var k = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = w(this, O(t).call(this, e))).onTypeChanged = function (e) { + var t = e.target.value; + switch (t) { + case g.a.User: + case g.a.Team: + n.setState({ type: t, userId: 0, teamId: 0, role: void 0 }); + break; + case g.a.Editor: + n.setState({ + type: t, + userId: 0, + teamId: 0, + role: g.b.Editor, + }); + break; + case g.a.Viewer: + n.setState({ + type: t, + userId: 0, + teamId: 0, + role: g.b.Viewer, + }); + } + }), + (n.onUserSelected = function (e) { + n.setState({ userId: e && !Array.isArray(e) ? e.id : 0 }); + }), + (n.onTeamSelected = function (e) { + n.setState({ teamId: e && !Array.isArray(e) ? e.id : 0 }); + }), + (n.onPermissionChanged = function (e) { + n.setState({ permission: e.value }); + }), + (n.onSubmit = (function () { + var e, + t = + ((e = regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.preventDefault(), + (e.next = 3), + n.props.onAddPermission(n.state) + ); + case 3: + n.setState(n.getCleanState()); + case 4: + case "end": + return e.stop(); + } + }, e); + })), + function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + v(o, r, a, i, l, "next", e); + } + function l(e) { + v(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return t.apply(this, arguments); + }; + })()), + (n.state = n.getCleanState()), + n + ); + } + var n, r, i; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && x(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getCleanState", + value: function () { + return { + userId: 0, + teamId: 0, + type: g.a.Team, + permission: g.c.View, + }; + }, + }, + { + key: "isValid", + value: function () { + switch (this.state.type) { + case g.a.Team: + return this.state.teamId > 0; + case g.a.User: + return this.state.userId > 0; + } + return !0; + }, + }, + { + key: "render", + value: function () { + var e = this.props.onCancel, + t = this.state, + n = this.isValid(); + return a.a.createElement( + "div", + { className: "gf-form-inline cta-form" }, + a.a.createElement( + "button", + { + className: "cta-form__close btn btn-transparent", + onClick: e, + }, + a.a.createElement("i", { className: "fa fa-close" }) + ), + a.a.createElement( + "form", + { name: "addPermission", onSubmit: this.onSubmit }, + a.a.createElement("h5", null, "Add Permission For"), + a.a.createElement( + "div", + { className: "gf-form-inline" }, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "div", + { className: "gf-form-select-wrapper" }, + a.a.createElement( + "select", + { + className: "gf-form-input gf-size-auto", + value: t.type, + onChange: this.onTypeChanged, + }, + g.e.map(function (e, t) { + return a.a.createElement( + "option", + { key: t, value: e.value }, + e.text + ); + }) + ) + ) + ), + t.type === g.a.User + ? a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(o.a, { + onSelected: this.onUserSelected, + className: "min-width-20", + }) + ) + : null, + t.type === g.a.Team + ? a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(m, { + onSelected: this.onTeamSelected, + className: "min-width-20", + }) + ) + : null, + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement(s.Select, { + isSearchable: !1, + options: g.f, + onChange: this.onPermissionChanged, + className: "gf-form-select-box__control--menu-right", + }) + ), + a.a.createElement( + "div", + { className: "gf-form" }, + a.a.createElement( + "button", + { + "data-save-permission": !0, + className: "btn btn-primary", + type: "submit", + disabled: !n, + }, + "Save" + ) + ) + ) + ) + ); + }, + }, + ]) && y(n.prototype, r), + i && y(n, i), + t + ); + })(r.Component); + k.defaultProps = { showPermissionLevels: !0 }; + t.a = k; + }, + wvI5: function (e, t) { + var n = "public/app/features/alerting/partials/alert_howto.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-info-circle"></i>\n\t\t\t<span class=p-l-1>Adding an Alert</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\n\t<div class=modal-content>\n\t\t<div class=text-center>\n\t\t\t<img src=public/img/alert_howto_new.png>\n\t\t</div>\n\t\t<p class="p-a-2 text-center offset-lg-1 col-lg-10">\n\t\t\tAlerts are added and configured in the <strong>Alert Tab</strong> of any dashboard\n\t\t\tgraph panel, letting you build and visualize an alert using existing queries.\n\t\t\t<br> <br>\n\t\t\tTo persist your alert rule changes remember to save the dashboard.\n\t\t\t<br>\n\t\t\t<br>\n\t\t</p>\n\t</div>\n\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + wxmp: function (e, t) { + var n = + "public/app/features/dashboard/components/VersionHistory/template.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<h3 class=dashboard-settings__header>\n <a ng-click="ctrl.switchMode(\'list\')">Versions</a>\n <span ng-show="ctrl.mode === \'compare\'">\n <i class="fa fa-fw fa-chevron-right"></i> Comparing {{ctrl.baseInfo.version}}\n <i class="fa fa-arrows-h"></i>\n {{ctrl.newInfo.version}}\n <cite class=muted ng-if=ctrl.isNewLatest>(Latest)</cite>\n </span>\n</h3>\n\n<div ng-if="ctrl.mode === \'list\'">\n <div ng-if=ctrl.loading>\n <i class="fa fa-spinner fa-spin"></i>\n <em>Fetching history list…</em>\n </div>\n\n <div ng-if=!ctrl.loading>\n <div class=gf-form-group>\n <table class=filter-table>\n <thead>\n <tr>\n <th class=width-4></th>\n <th class=width-4>Version</th>\n <th class=width-14>Date</th>\n <th class=width-10>Updated By</th>\n <th>Notes</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="revision in ctrl.revisions">\n <td class=filter-table__switch-cell bs-tooltip="!revision.checked && ctrl.canCompare ? \'You can only compare 2 versions at a time\' : \'\'" data-placement=right>\n <gf-form-checkbox switch-class=gf-form-switch--table-cell checked=revision.checked on-change=ctrl.revisionSelectionChanged() ng-disabled="!revision.checked && ctrl.canCompare">\n </gf-form-checkbox>\n </td>\n <td class=text-center>{{revision.version}}</td>\n <td>{{revision.createdDateString}}</td>\n <td>{{revision.createdBy}}</td>\n <td>{{revision.message}}</td>\n <td class=text-right>\n <a class="btn btn-inverse btn-small" ng-show="revision.version !== ctrl.dashboard.version" ng-click=ctrl.restore(revision.version)>\n <i class="fa fa-history"></i> Restore\n </a>\n <a class="btn btn-outline-disabled btn-small" ng-show="revision.version === ctrl.dashboard.version">\n <i class="fa fa-check"></i> Latest\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n\n <div ng-if=ctrl.appending>\n <i class="fa fa-spinner fa-spin"></i>\n <em>Fetching more entries…</em>\n </div>\n\n <div class=gf-form-group>\n <div class=gf-form-button-row>\n <button type=button class="btn gf-form-button btn-inverse" ng-if="ctrl.revisions.length >= ctrl.limit" ng-click=ctrl.addToLog() ng-disabled=ctrl.isLastPage()>\n Show more versions\n </button>\n <button type=button class="btn btn-primary" ng-if="ctrl.revisions.length > 1" ng-disabled=!ctrl.canCompare ng-click=ctrl.getDiff(ctrl.diff) bs-tooltip="ctrl.canCompare ? \'\' : \'Select 2 versions to start comparing\'" data-placement=bottom>\n <i class="fa fa-code-fork"></i> Compare versions\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div ng-if="ctrl.mode === \'compare\'">\n <div ng-if=ctrl.loading>\n <i class="fa fa-spinner fa-spin"></i>\n <em>Fetching changes…</em>\n </div>\n\n <div ng-if=!ctrl.loading>\n <button type=button class="btn btn-danger pull-right" ng-click=ctrl.restore(ctrl.baseInfo.version) ng-if=ctrl.isNewLatest>\n <i class="fa fa-history"></i> Restore to version {{ctrl.baseInfo.version}}\n </button>\n <section>\n <p class="small muted">\n <strong>Version {{ctrl.newInfo.version}}</strong> updated by\n <span>{{ctrl.newInfo.createdBy}} </span>\n <span>{{ctrl.newInfo.ageString}}</span>\n <span> - {{ctrl.newInfo.message}}</span>\n </p>\n <p class="small muted">\n <strong>Version {{ctrl.baseInfo.version}}</strong> updated by\n <span>{{ctrl.baseInfo.createdBy}} </span>\n <span>{{ctrl.baseInfo.ageString}}</span>\n <span> - {{ctrl.baseInfo.message}}</span>\n </p>\n </section>\n\n <div id=delta diff-delta>\n <div class=delta-basic compile=ctrl.delta.basic></div>\n </div>\n\n <div class=gf-form-button-row>\n <button class="btn btn-secondary" ng-click="ctrl.getDiff(\'json\')">View JSON Diff</button>\n </div>\n\n <div class=delta-html ng-show="ctrl.diff === \'json\'" compile=ctrl.delta.json></div>\n </div>\n</div>\n' + ); + }, + ]), + (e.exports = n); + }, + x16D: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return g; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("kDLi"), + i = n("kDDq"), + l = n("atUN"), + s = n("N9j+"); + function c() { + var e = p([ + "\n margin-bottom: 14px;\n a,\n button {\n margin-right: ", + ";\n }\n ", + ]); + return ( + (c = function () { + return e; + }), + e + ); + } + function u() { + var e = p([ + "\n font-size: ", + ";\n color: ", + ";\n margin-bottom: calc(", + " * 2);\n padding-top: ", + ";\n ", + ]); + return ( + (u = function () { + return e; + }), + e + ); + } + function f() { + var e = p(["\n text-align: center;\n "]); + return ( + (f = function () { + return e; + }), + e + ); + } + function d() { + var e = p(["\n width: 500px;\n "]); + return ( + (d = function () { + return e; + }), + e + ); + } + function p(e, t) { + return ( + t || (t = e.slice(0)), + Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ) + ); + } + function h(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function m(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + h(o, r, a, i, l, "next", e); + } + function l(e) { + h(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var g = function (e) { + var t = e.dashboard, + n = e.dashboardSaveModel, + i = e.error, + s = e.onDismiss, + c = Object(l.a)(t).onDashboardSave; + return ( + Object(r.useEffect)(function () { + i.data && (i.isHandled = !0); + }, []), + a.a.createElement( + a.a.Fragment, + null, + i.data && + "version-mismatch" === i.data.status && + a.a.createElement(o.ConfirmModal, { + isOpen: !0, + title: "Conflict", + body: a.a.createElement( + "div", + null, + "Someone else has updated this dashboard ", + a.a.createElement("br", null), + " ", + a.a.createElement( + "small", + null, + "Would you still like to save this dashboard?" + ) + ), + confirmText: "Save & Overwrite", + onConfirm: m( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), c(n, { overwrite: !0 }, t); + case 2: + s(); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ), + onDismiss: s, + }), + i.data && + "name-exists" === i.data.status && + a.a.createElement(o.ConfirmModal, { + isOpen: !0, + title: "Conflict", + body: a.a.createElement( + "div", + null, + "A dashboard with the same name in selected folder already exists. ", + a.a.createElement("br", null), + a.a.createElement( + "small", + null, + "Would you still like to save this dashboard?" + ) + ), + confirmText: "Save & Overwrite", + onConfirm: m( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), c(n, { overwrite: !0 }, t); + case 2: + s(); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ), + onDismiss: s, + }), + i.data && + "plugin-dashboard" === i.data.status && + a.a.createElement(b, { dashboard: t, onDismiss: s }) + ) + ); + }, + b = function (e) { + var t = e.onDismiss, + n = e.dashboard, + r = Object(o.useTheme)(), + i = Object(l.a)(n).onDashboardSave, + c = v(r); + return a.a.createElement( + o.Modal, + { + className: c.modal, + title: "Plugin Dashboard", + icon: "copy", + isOpen: !0, + onDismiss: t, + }, + a.a.createElement( + "div", + { className: c.modalContent }, + a.a.createElement( + "div", + { className: c.modalText }, + "Your changes will be lost when you update the plugin.", + a.a.createElement("br", null), + " ", + a.a.createElement( + "small", + null, + "Use Save As to create custom version." + ) + ), + a.a.createElement( + o.HorizontalGroup, + { justify: "center" }, + a.a.createElement(s.a, { dashboard: n, onSaveSuccess: t }), + a.a.createElement( + o.Button, + { + variant: "danger", + onClick: m( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + i(n.getSaveModelClone(), { overwrite: !0 }, n) + ); + case 2: + t(); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ), + }, + "Overwrite" + ), + a.a.createElement( + o.Button, + { variant: "inverse", onClick: t }, + "Cancel" + ) + ) + ) + ); + }, + v = Object(o.stylesFactory)(function (e) { + return { + modal: Object(i.css)(d()), + modalContent: Object(i.css)(f()), + modalText: Object(i.css)( + u(), + e.typography.heading.h4, + e.colors.link, + e.spacing.d, + e.spacing.d + ), + modalButtonRow: Object(i.css)(c(), e.spacing.d), + }; + }); + }, + "xAj+": function (e, t, n) { + "use strict"; + n.r(t), + n.d(t, "showDashSearch", function () { + return a; + }), + n.d(t, "hideDashSearch", function () { + return o; + }), + n.d(t, "hideDashEditor", function () { + return i; + }), + n.d(t, "dashScroll", function () { + return l; + }), + n.d(t, "dashLinksUpdated", function () { + return s; + }), + n.d(t, "saveDashboard", function () { + return c; + }), + n.d(t, "dashboardFetchStart", function () { + return u; + }), + n.d(t, "dashboardSaved", function () { + return f; + }), + n.d(t, "removePanel", function () { + return d; + }), + n.d(t, "searchQuery", function () { + return p; + }), + n.d(t, "locationChange", function () { + return h; + }), + n.d(t, "timepickerOpen", function () { + return m; + }), + n.d(t, "timepickerClosed", function () { + return g; + }), + n.d(t, "showModal", function () { + return b; + }), + n.d(t, "showConfirmModal", function () { + return v; + }), + n.d(t, "hideModal", function () { + return y; + }), + n.d(t, "showModalReact", function () { + return w; + }), + n.d(t, "dsRequestResponse", function () { + return O; + }), + n.d(t, "dsRequestError", function () { + return x; + }), + n.d(t, "graphHover", function () { + return k; + }), + n.d(t, "graphHoverClear", function () { + return j; + }), + n.d(t, "toggleSidemenuMobile", function () { + return S; + }), + n.d(t, "toggleSidemenuHidden", function () { + return E; + }), + n.d(t, "playlistStarted", function () { + return C; + }), + n.d(t, "playlistStopped", function () { + return P; + }), + n.d(t, "toggleKioskMode", function () { + return T; + }), + n.d(t, "toggleViewMode", function () { + return D; + }), + n.d(t, "timeRangeUpdated", function () { + return A; + }), + n.d(t, "repeatsProcessed", function () { + return _; + }), + n.d(t, "rowExpanded", function () { + return N; + }), + n.d(t, "rowCollapsed", function () { + return M; + }), + n.d(t, "templateVariableValueUpdated", function () { + return I; + }), + n.d(t, "submenuVisibilityChanged", function () { + return R; + }), + n.d(t, "dataFramesReceived", function () { + return F; + }), + n.d(t, "graphClicked", function () { + return L; + }), + n.d(t, "thresholdChanged", function () { + return V; + }), + n.d(t, "zoomOut", function () { + return B; + }), + n.d(t, "shiftTime", function () { + return $; + }), + n.d(t, "elasticQueryUpdated", function () { + return q; + }), + n.d(t, "layoutModeChanged", function () { + return U; + }), + n.d(t, "jsonDiffReady", function () { + return z; + }), + n.d(t, "closeTimepicker", function () { + return H; + }), + n.d(t, "routeUpdated", function () { + return G; + }); + var r = n("Obii"), + a = Object(r.eventFactory)("show-dash-search"), + o = Object(r.eventFactory)("hide-dash-search"), + i = Object(r.eventFactory)("hide-dash-editor"), + l = Object(r.eventFactory)("dash-scroll"), + s = Object(r.eventFactory)("dash-links-updated"), + c = Object(r.eventFactory)("save-dashboard"), + u = Object(r.eventFactory)("dashboard-fetch-start"), + f = Object(r.eventFactory)("dashboard-saved"), + d = Object(r.eventFactory)("remove-panel"), + p = Object(r.eventFactory)("search-query"), + h = Object(r.eventFactory)("location-change"), + m = Object(r.eventFactory)("timepickerOpen"), + g = Object(r.eventFactory)("timepickerClosed"), + b = Object(r.eventFactory)("show-modal"), + v = Object(r.eventFactory)("confirm-modal"), + y = Object(r.eventFactory)("hide-modal"), + w = Object(r.eventFactory)("show-modal-react"), + O = Object(r.eventFactory)("ds-request-response"), + x = Object(r.eventFactory)("ds-request-error"), + k = Object(r.eventFactory)("graph-hover"), + j = Object(r.eventFactory)("graph-hover-clear"), + S = Object(r.eventFactory)("toggle-sidemenu-mobile"), + E = Object(r.eventFactory)("toggle-sidemenu-hidden"), + C = Object(r.eventFactory)("playlist-started"), + P = Object(r.eventFactory)("playlist-stopped"), + T = Object(r.eventFactory)("toggle-kiosk-mode"), + D = Object(r.eventFactory)("toggle-view-mode"), + A = Object(r.eventFactory)("time-range-updated"), + _ = Object(r.eventFactory)("repeats-processed"), + N = Object(r.eventFactory)("row-expanded"), + M = Object(r.eventFactory)("row-collapsed"), + I = Object(r.eventFactory)("template-variable-value-updated"), + R = Object(r.eventFactory)("submenu-visibility-changed"), + F = Object(r.eventFactory)("data-frames-received"), + L = Object(r.eventFactory)("graph-click"), + V = Object(r.eventFactory)("threshold-changed"), + B = Object(r.eventFactory)("zoom-out"), + $ = Object(r.eventFactory)("shift-time"), + q = Object(r.eventFactory)("elastic-query-updated"), + U = Object(r.eventFactory)("layout-mode-changed"), + z = Object(r.eventFactory)("json-diff-ready"), + H = Object(r.eventFactory)("closeTimepicker"), + G = Object(r.eventFactory)("$routeUpdate"); + }, + xKbd: function (e, t) { + jQuery.plot.plugins.push({ + init: function (e) { + var t = {}, + n = !1, + r = {}; + function a(e) { + var t = e.length, + n = {}; + if (t > 0) + for (var r = 0; r < t; r++) + if (e[r].stackpercent) { + var a = 0, + o = 1; + e[r].bars && + e[r].bars.horizontal && + !0 === e[r].bars.horizontal && + ((a = 1), (o = 0)); + for (var i = e[r].data.length, l = 0; l < i; l++) { + var s = 0; + null != e[r].data[l][1] && (s = e[r].data[l][o]), + n[e[r].data[l][a] + ""] + ? (n[e[r].data[l][a] + ""] += s) + : (n[e[r].data[l][a] + ""] = s); + } + } + return n; + } + e.hooks.processRawData.push(function (e, t, o, i) { + if ((n || ((n = !0), (r = a(e.getData()))), 1 == t.stackpercent)) { + var l = o.length; + t.percents = []; + var s = 0, + c = 1; + t.bars && + t.bars.horizontal && + !0 === t.bars.horizontal && + ((s = 1), (c = 0)); + for (var u = 0; u < l; u++) { + var f = r[o[u][s] + ""]; + f > 0 + ? t.percents.push((100 * o[u][c]) / f) + : t.percents.push(0); + } + } + }), + e.hooks.processDatapoints.push(function (e, o, i) { + if (o.stackpercent) { + n || (r = a(e.getData())); + var l = [], + s = 0, + c = 1; + o.bars && + o.bars.horizontal && + !0 === o.bars.horizontal && + ((s = 1), (c = 0)); + for (var u = 0; u < i.points.length; u += 3) + t[i.points[u + s]] || (t[i.points[u + s]] = 0), + (l[u + s] = i.points[u + s]), + (l[u + c] = i.points[u + c] + t[i.points[u + s]]), + (l[u + 2] = t[i.points[u + s]]), + (t[i.points[u + s]] += i.points[u + c]), + r[l[u + s] + ""] > 0 + ? ((l[u + c] = (100 * l[u + c]) / r[l[u + s] + ""]), + (l[u + 2] = (100 * l[u + 2]) / r[l[u + s] + ""])) + : ((l[u + c] = 0), (l[u + 2] = 0)); + i.points = l; + } + }); + }, + options: { series: { stackpercent: null } }, + name: "stackpercent", + version: "0.1", + }); + }, + "xL/7": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return c; + }), + n.d(t, "c", function () { + return p; + }), + n.d(t, "d", function () { + return h; + }), + n.d(t, "e", function () { + return m; + }); + var r, + a, + o = n("i7Pf"); + function i(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function l(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + !(function (e) { + (e.Queries = "queries"), + (e.Visualization = "visualization"), + (e.Advanced = "advanced"), + (e.Alert = "alert"); + })(a || (a = {})); + var s = + (l((r = {}), a.Queries, "Queries"), + l(r, a.Visualization, "Visualization"), + l(r, a.Advanced, "General"), + l(r, a.Alert, "Alert"), + r), + c = function (e) { + return { id: e, text: s[e] }; + }, + u = { activeTab: null, tabs: [] }, + f = Object(o.c)({ + name: "panelEditor", + initialState: u, + reducers: { + panelEditorInitCompleted: function (e, t) { + var n = t.payload; + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? i(Object(n), !0).forEach(function (t) { + l(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : i(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { activeTab: n.activeTab, tabs: n.tabs }); + }, + panelEditorCleanUp: function (e, t) { + return u; + }, + }, + }), + d = f.actions, + p = d.panelEditorCleanUp, + h = d.panelEditorInitCompleted, + m = f.reducer; + }, + xQSJ: function (e, t) { + var n = "public/app/core/components/search/search.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '\n<div class=search-backdrop ng-if=ctrl.isOpen></div>\n\n<div class=search-container ng-if=ctrl.isOpen>\n\n <search-field query=ctrl.query autofocus=ctrl.giveSearchFocus on-change=ctrl.onQueryChange on-key-down=ctrl.onKeyDown />\n\n\n\t<div class=search-dropdown>\n <div class=search-dropdown__col_1>\n <div class=search-results-scroller>\n <div class=search-results-container grafana-scrollbar>\n <h6 ng-show="!ctrl.isLoading && ctrl.results.length === 0">No dashboards matching your query were found.</h6>\n <dashboard-search-results results=ctrl.results on-tag-selected=ctrl.filterByTag($tag) on-folder-expanding=ctrl.folderExpanding() on-folder-expanded=ctrl.folderExpanded($folder) />\n </div>\n </div>\n </div>\n\n <div class=search-dropdown__col_2>\n <div class=search-filter-box ng-click=ctrl.onFilterboxClick()>\n <div class=search-filter-box__header>\n <i class="fa fa-filter"></i>\n Filter by:\n <a class="pointer pull-right small" ng-click=ctrl.clearSearchFilter()>\n <i class="fa fa-remove"></i> Clear\n </a>\n </div>\n\n <tag-filter tags=ctrl.query.tags tagoptions=ctrl.getTags on-change=ctrl.onTagFiltersChanged>\n </tag-filter>\n </div>\n\n <div class=search-filter-box ng-if="ctrl.isEditor || ctrl.hasEditPermissionInFolders">\n <a href=dashboard/new class=search-filter-box-link>\n <i class="gicon gicon-dashboard-new"></i> New dashboard\n </a>\n <a href=dashboards/folder/new class=search-filter-box-link ng-if=ctrl.isEditor>\n <i class="gicon gicon-folder-new"></i> New folder\n </a>\n <a href=dashboard/import class=search-filter-box-link ng-if="ctrl.isEditor || ctrl.hasEditPermissionInFolders">\n <i class="gicon gicon-dashboard-import"></i> Import dashboard\n </a>\n <a class=search-filter-box-link target=_blank href="https://grafana.com/dashboards?utm_source=grafana_search">\n <img src=public/img/icn-dashboard-tiny.svg width=20 /> Find dashboards on Grafana.com\n </a>\n </div>\n </div>\n </div>\n</div>\n\n' + ); + }, + ]), + (e.exports = n); + }, + xdKY: function (e, t, n) { + "use strict"; + var r = n("mRsi"), + a = n.n(r), + o = n("BkRI"), + i = n.n(o), + l = n("KHwQ"), + s = n.n(l), + c = n("LvDl"), + u = n.n(c), + f = n("+2Rf"), + d = n.n(f), + p = n("txxJ"), + h = n("Xmxp"), + m = n("Obii"); + function g(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function b(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var v = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.datasourceSrv = n), + (this.annotationDefaults = { + name: "", + datasource: null, + iconColor: "rgba(255, 96, 96, 1)", + enable: !0, + showIn: 0, + hide: !1, + }), + (this.emptyListCta = { + title: "There are no custom annotation queries added yet", + buttonIcon: "gicon gicon-annotation", + buttonTitle: "Add Annotation Query", + infoBox: { + __html: + "<p>Annotations provide a way to integrate event data into your graphs. They are visualized as vertical lines\n and icons on all graph panels. When you hover over an annotation icon you can get event text & tags for\n the event. You can add annotation events directly from grafana by holding CTRL or CMD + click on graph (or\n drag region). These will be stored in Grafana's annotation database.\n </p>\n Checkout the\n <a class='external-link' target='_blank' href='http://docs.grafana.org/reference/annotations/'\n >Annotations documentation</a\n >\n for more information.", + }, + infoBoxTitle: "What are annotations?", + }), + (this.showOptions = [ + { text: "All Panels", value: 0 }, + { text: "Specific Panels", value: 1 }, + ]), + (this.setupNew = function () { + (r.mode = "new"), r.reset(); + }), + (t.ctrl = this), + (this.dashboard = t.dashboard), + (this.mode = "list"), + (this.datasources = n.getAnnotationSources()), + (this.annotations = this.dashboard.annotations.list), + this.reset(), + (this.onColorChange = this.onColorChange.bind(this)); + } + var t, n, r, a, o; + return ( + (e.$inject = ["$scope", "datasourceSrv"]), + (t = e), + (n = [ + { + key: "datasourceChanged", + value: + ((a = regeneratorRuntime.mark(function e() { + var t, + n = this; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.datasourceSrv.get( + this.currentAnnotation.datasource + ) + ); + case 2: + (t = e.sent), + this.$scope.$apply(function () { + n.currentDatasource = t; + }); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + })), + (o = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var o = a.apply(e, t); + function i(e) { + g(o, n, r, i, l, "next", e); + } + function l(e) { + g(o, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "edit", + value: function (e) { + (this.currentAnnotation = e), + (this.currentAnnotation.showIn = + this.currentAnnotation.showIn || 0), + (this.currentIsNew = !1), + this.datasourceChanged(), + (this.mode = "edit"), + d()(".tooltip.in").remove(); + }, + }, + { + key: "reset", + value: function () { + (this.currentAnnotation = s.a.copy(this.annotationDefaults)), + (this.currentAnnotation.datasource = this.datasources[0].name), + (this.currentIsNew = !0), + this.datasourceChanged(); + }, + }, + { + key: "update", + value: function () { + this.reset(), (this.mode = "list"); + }, + }, + { + key: "backToList", + value: function () { + this.mode = "list"; + }, + }, + { + key: "move", + value: function (e, t) { + u.a.move(this.annotations, e, e + t); + }, + }, + { + key: "add", + value: function () { + u.a.find(this.annotations, { + name: this.currentAnnotation.name, + }) + ? h.b.emit(m.AppEvents.alertWarning, [ + "Validation", + "Annotations with the same name already exists", + ]) + : (this.annotations.push(this.currentAnnotation), + this.reset(), + (this.mode = "list"), + this.dashboard.updateSubmenuVisibility()); + }, + }, + { + key: "removeAnnotation", + value: function (e) { + var t = u.a.indexOf(this.annotations, e); + this.annotations.splice(t, 1), + this.dashboard.updateSubmenuVisibility(); + }, + }, + { + key: "onColorChange", + value: function (e) { + this.currentAnnotation.iconColor = e; + }, + }, + ]) && b(t.prototype, n), + r && b(t, r), + e + ); + })(); + function y(e) { + return "panel-alert" === e.eventType; + } + p.c.controller("AnnotationsEditorCtrl", v); + var w = n("t8hP"), + O = n("HJRA"), + x = n("NPB1"); + function k(e) { + return (k = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function j(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var S = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "init", + value: function (e) { + this.clearPromiseCaches(), + e.on( + m.PanelEvents.refresh, + this.clearPromiseCaches.bind(this) + ); + }, + }, + { + key: "clearPromiseCaches", + value: function () { + (this.globalAnnotationsPromise = null), + (this.alertStatesPromise = null), + (this.datasourcePromises = null); + }, + }, + { + key: "getAnnotations", + value: function (e) { + return Promise.all([ + this.getGlobalAnnotations(e), + this.getAlertStates(e), + ]) + .then(function (t) { + var n = a()(t[0]); + return { + annotations: (n = (function (e) { + var t = [], + n = u.a.partition(e, "id"), + r = u.a.groupBy(n[0], "id"); + return ( + (t = u.a.map(r, function (e) { + return e.length > 1 && !u.a.every(e, y) + ? u.a.find(e, function (e) { + return "panel-alert" !== e.eventType; + }) + : u.a.head(e); + })), + (t = u.a.concat(t, n[1])) + ); + })( + (n = n.filter(function (t) { + return ( + !t.panelId || + "dashboard" !== t.source.type || + t.panelId === e.panel.id + ); + })) + )), + alertState: t[1].find(function (t) { + return t.panelId === e.panel.id; + }), + }; + }) + .catch(function (e) { + return ( + !e.message && + e.data && + e.data.message && + (e.message = e.data.message), + console.log("AnnotationSrv.query error", e), + O.a.emit(m.AppEvents.alertError, [ + "Annotation Query Failed", + e.message || e, + ]), + [] + ); + }); + }, + }, + { + key: "getAlertStates", + value: function (e) { + return e.dashboard.id + ? e.panel && !e.panel.alert + ? Promise.resolve([]) + : "now" !== e.range.raw.to + ? Promise.resolve([]) + : this.alertStatesPromise + ? this.alertStatesPromise + : ((this.alertStatesPromise = Object(w.getBackendSrv)().get( + "/api/alerts/states-for-dashboard", + { dashboardId: e.dashboard.id }, + "get-alert-states-".concat(e.dashboard.id) + )), + this.alertStatesPromise) + : Promise.resolve([]); + }, + }, + { + key: "getGlobalAnnotations", + value: function (e) { + var t = this, + n = e.dashboard; + if (this.globalAnnotationsPromise) + return this.globalAnnotationsPromise; + var r = Object(x.a)().timeRange(), + a = [], + o = [], + l = !0, + s = !1, + c = void 0; + try { + for ( + var u, + f = function () { + var e = u.value; + if (!e.enable) return "continue"; + if (e.snapshotData) + return { + v: t.translateQueryResult(e, e.snapshotData), + }; + var l = Object(w.getDataSourceSrv)().get(e.datasource); + o.push(l), + a.push( + l + .then(function (t) { + return t.annotationQuery({ + range: r, + rangeRaw: r.raw, + annotation: e, + dashboard: n, + }); + }) + .then(function (r) { + return ( + n.snapshot && (e.snapshotData = i()(r)), + t.translateQueryResult(e, r) + ); + }) + ); + }, + d = n.annotations.list[Symbol.iterator](); + !(l = (u = d.next()).done); + l = !0 + ) { + var p = f(); + switch (p) { + case "continue": + continue; + default: + if ("object" === k(p)) return p.v; + } + } + } catch (e) { + (s = !0), (c = e); + } finally { + try { + l || null == d.return || d.return(); + } finally { + if (s) throw c; + } + } + return ( + (this.datasourcePromises = Promise.all(o)), + (this.globalAnnotationsPromise = Promise.all(a)), + this.globalAnnotationsPromise + ); + }, + }, + { + key: "saveAnnotationEvent", + value: function (e) { + return ( + (this.globalAnnotationsPromise = null), + Object(w.getBackendSrv)().post("/api/annotations", e) + ); + }, + }, + { + key: "updateAnnotationEvent", + value: function (e) { + return ( + (this.globalAnnotationsPromise = null), + Object(w.getBackendSrv)().put( + "/api/annotations/".concat(e.id), + e + ) + ); + }, + }, + { + key: "deleteAnnotationEvent", + value: function (e) { + this.globalAnnotationsPromise = null; + var t = "/api/annotations/".concat(e.id); + return Object(w.getBackendSrv)().delete(t); + }, + }, + { + key: "translateQueryResult", + value: function (e, t) { + e.snapshotData && delete (e = i()(e)).snapshotData; + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, l = t[Symbol.iterator](); + !(n = (o = l.next()).done); + n = !0 + ) { + var s = o.value; + (s.source = e), + (s.isRegion = s.timeEnd && s.time !== s.timeEnd); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw a; + } + } + return t; + }, + }, + ]) && j(t.prototype, n), + r && j(t, r), + e + ); + })(); + function E(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + p.c.service("annotationsSrv", S); + var C = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.annotationsSrv = t), + (this.event.panelId = this.panelCtrl.panel.id), + (this.event.dashboardId = this.panelCtrl.dashboard.id), + (this.event.time = P(this.event.time)), + this.event.isRegion && (this.event.timeEnd = P(this.event.timeEnd)), + (this.timeFormated = this.panelCtrl.dashboard.formatDate( + this.event.time + )); + } + var t, n, r; + return ( + (e.$inject = ["annotationsSrv"]), + (t = e), + (n = [ + { + key: "save", + value: function () { + var e = this; + if (this.form.$valid) { + var t = u.a.cloneDeep(this.event); + (t.time = t.time.valueOf()), + (t.timeEnd = 0), + t.isRegion && + ((t.timeEnd = this.event.timeEnd.valueOf()), + t.timeEnd < t.time) + ? console.log("invalid time") + : t.id + ? this.annotationsSrv + .updateAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }) + : this.annotationsSrv + .saveAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }); + } + }, + }, + { + key: "save_anomaly_with_vars", + value: function () { + var e = this; + if (this.form.$valid) { + var t = u.a.cloneDeep(this.event); + t.tags.push("anomaly_expert"); + var nrMaxTemplateVars = this.panelCtrl.dashboard.templating + .list.length; + for (var i = 0; i < nrMaxTemplateVars; i++) { + var currentTmpVar = this.panelCtrl.dashboard.templating + .list[i]; + var nrMaxValues = currentTmpVar.options.length; + for (var j = 0; j < nrMaxValues; j++) { + var currentValueForTmpVal = currentTmpVar.options[j]; + if (currentValueForTmpVal.selected === true) { + var nameSelectedVal = currentValueForTmpVal.value; + if (nameSelectedVal !== "$__all") { + console.log( + "template var name: " + nameSelectedVal.toString() + ); + t.tags.push(nameSelectedVal); + } + } + } + } + (t.time = t.time.valueOf()), + (t.timeEnd = 0), + t.isRegion && + ((t.timeEnd = this.event.timeEnd.valueOf()), + t.timeEnd < t.time) + ? console.log("invalid time") + : t.id + ? this.annotationsSrv + .updateAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }) + : this.annotationsSrv + .saveAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }); + } + }, + }, + { + key: "save_normal_with_vars", + value: function () { + var e = this; + if (this.form.$valid) { + var t = u.a.cloneDeep(this.event); + t.tags.push("normal_expert"); + var nrMaxTemplateVars = this.panelCtrl.dashboard.templating + .list.length; + for (var i = 0; i < nrMaxTemplateVars; i++) { + var currentTmpVar = this.panelCtrl.dashboard.templating + .list[i]; + var nrMaxValues = currentTmpVar.options.length; + for (var j = 0; j < nrMaxValues; j++) { + var currentValueForTmpVal = currentTmpVar.options[j]; + if (currentValueForTmpVal.selected === true) { + var nameSelectedVal = currentValueForTmpVal.value; + if (nameSelectedVal !== "$__all") { + console.log( + "template var name: " + nameSelectedVal.toString() + ); + t.tags.push(nameSelectedVal); + } + } + } + } + (t.time = t.time.valueOf()), + (t.timeEnd = 0), + t.isRegion && + ((t.timeEnd = this.event.timeEnd.valueOf()), + t.timeEnd < t.time) + ? console.log("invalid time") + : t.id + ? this.annotationsSrv + .updateAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }) + : this.annotationsSrv + .saveAnnotationEvent(t) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }); + } + }, + }, + { + key: "delete", + value: function () { + var e = this; + return this.annotationsSrv + .deleteAnnotationEvent(this.event) + .then(function () { + e.panelCtrl.refresh(), e.close(); + }) + .catch(function () { + e.panelCtrl.refresh(), e.close(); + }); + }, + }, + ]) && E(t.prototype, n), + r && E(t, r), + e + ); + })(); + function P(e) { + if (e && u.a.isNumber(e)) { + var t = Number(e); + return Object(m.dateTime)(t); + } + return e; + } + O.c.directive("eventEditor", function () { + return { + restrict: "E", + controller: C, + bindToController: !0, + controllerAs: "ctrl", + templateUrl: + "public/app/features/annotations/partials/event_editor.html", + scope: { panelCtrl: "=", event: "=", close: "&" }, + }; + }); + var T = n("Zss7"), + D = n.n(T), + A = n("kDLi"); + function _(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var N = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panelCtrl = t); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "editorClosed", + value: function () { + (this.event = null), + (this.editorOpen = !1), + this.panelCtrl.render(); + }, + }, + { + key: "editorOpened", + value: function () { + this.editorOpen = !0; + }, + }, + { + key: "updateTime", + value: function (e) { + this.event || + ((this.event = {}), + (this.event.dashboardId = this.panelCtrl.dashboard.id), + (this.event.panelId = this.panelCtrl.panel.id)), + (this.event.time = e.from), + (this.event.isRegion = !1), + e.to && + ((this.event.timeEnd = e.to), (this.event.isRegion = !0)), + this.panelCtrl.render(); + }, + }, + { + key: "editEvent", + value: function (e, t) { + (this.event = e), this.panelCtrl.render(); + }, + }, + { + key: "addFlotEvents", + value: function (e, t) { + if (this.event || 0 !== e.length) { + var n, + r = { + $__alerting: { + color: A.ALERTING_COLOR, + position: "BOTTOM", + markerSize: 5, + }, + $__ok: { + color: A.OK_COLOR, + position: "BOTTOM", + markerSize: 5, + }, + $__no_data: { + color: A.NO_DATA_COLOR, + position: "BOTTOM", + markerSize: 5, + }, + $__pending: { + color: A.PENDING_COLOR, + position: "BOTTOM", + markerSize: 5, + }, + $__editing: { + color: A.DEFAULT_ANNOTATION_COLOR, + position: "BOTTOM", + markerSize: 5, + }, + }; + if (this.event) + e = this.event.isRegion + ? [ + { + isRegion: !0, + min: this.event.time, + timeEnd: this.event.timeEnd, + text: this.event.text, + eventType: "$__editing", + editModel: this.event, + }, + ] + : [ + { + min: this.event.time, + text: this.event.text, + editModel: this.event, + eventType: "$__editing", + }, + ]; + else + for (var a = 0; a < e.length; a++) { + var o = e[a]; + (o.min = o.time), + (o.max = o.time), + (o.eventType = o.source.name), + o.newState + ? (o.eventType = "$__" + o.newState) + : r[o.source.name] || + (r[o.source.name] = { + color: o.source.iconColor, + position: "BOTTOM", + markerSize: 5, + }); + } + !(function (e, t) { + var n, + r = t.grid.markings, + a = A.DEFAULT_ANNOTATION_COLOR; + u.a.each(e, function (e) { + var t, o, i; + (n = (e.source && e.source.iconColor) || a), + (t = n), + (o = A.REGION_FILL_ALPHA), + (i = D()(t)), + (n = i.isValid() + ? (i.setAlpha(o), i.toRgbString()) + : t), + r.push({ + xaxis: { from: e.min, to: e.timeEnd }, + color: n, + }); + }); + })(((n = e), u.a.filter(n, "isRegion")), t), + (t.grid.eventSectionHeight = 7), + (t.xaxis.eventSectionHeight = 20), + (t.events = { + levels: u.a.keys(r).length + 1, + data: e, + types: r, + manager: this, + }); + } + }, + }, + ]) && _(t.prototype, n), + r && _(t, r), + e + ); + })(); + var M = n("3ulR"); + function I(e, t, n, r) { + function a(t) { + try { + return e(t); + } catch (e) { + return ( + console.log( + "Could not sanitize annotation string, html escaping instead" + ), + u.a.escape(t) + ); + } + } + return { + restrict: "E", + scope: { event: "=", onEdit: "&" }, + link: function (e, n) { + var o = e.event, + i = o.title, + l = o.text, + s = t.getCurrent(), + c = '<div class="graph-annotation">', + f = ""; + if (o.alertId) { + var p = M.a.getStateDisplayModel(o.newState); + (f = p.stateClass), + (i = '<i class="' + .concat(p.iconClass, '"></i> ') + .concat(p.text)), + (l = M.a.getAlertAnnotationInfo(o)), + o.text && (l = l + "<br />" + o.text); + } else + i && ((l = i + "<br />" + (u.a.isString(l) ? l : "")), (i = "")); + var h = '<div class="graph-annotation__header">'; + o.login && + (h += '<div class="graph-annotation__user" bs-tooltip="\'Created by ' + .concat(o.login, '\'"><img src="') + .concat(o.avatarUrl, '" /></div>')), + (h += '\n <span class="graph-annotation__title ' + .concat(f, '">') + .concat( + a(i), + '</span>\n <span class="graph-annotation__time">' + ) + .concat(s.formatDate(o.min), "</span>\n ")), + o.id && + s.meta.canEdit && + (h += + '\n <span class="pointer graph-annotation__edit-icon" ng-click="onEdit()">\n <i class="fa fa-pencil-square"></i>\n </span>\n '), + (c += h += "</div>"), + (c += '<div class="graph-annotation__body">'), + l && + (c += + "<div ng-non-bindable>" + + a(l.replace(/\n/g, "<br>")) + + "</div>"); + var m = o.tags; + m && + m.length && + ((e.tags = m), + (c += + '<span class="label label-tag small" ng-repeat="tag in tags" tag-color-from-name="tag">{{tag}}</span><br/>')), + (c += "</div>"), + (c += "</div>"), + d()(c).appendTo(n), + r(n.contents())(e); + }, + }; + } + (I.$inject = ["$sanitize", "dashboardSrv", "contextSrv", "$compile"]), + p.c.directive("annotationTooltip", I), + n.d(t, "a", function () { + return N; + }); + }, + "y+vE": function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return h; + }); + var r = n("q1tI"), + a = n.n(r), + o = n("i8i4"), + i = n.n(o), + l = n("/MKj"), + s = n("txxJ"), + c = n("iODs"), + u = n("t/ct"), + f = n("kDLi"); + function d(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function p(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + m.$inject = [ + "$route", + "$location", + "$injector", + "$rootScope", + "contextSrv", + ]; + var h = function (e) { + return function (t) { + return a.a.createElement( + f.ModalsProvider, + null, + a.a.createElement( + a.a.Fragment, + null, + a.a.createElement( + e, + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(n), !0).forEach(function (t) { + p(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : d(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, t) + ), + a.a.createElement(f.ModalRoot, null) + ) + ); + }; + }; + function m(e, t, n, r, o) { + return { + restrict: "E", + template: "", + link: function (s, d) { + var p = e.current.locals.roles; + p && + p.length && + (p.some(function (e) { + return o.hasRole(e); + }) || + t.url("/")); + var m = e.current.locals.component; + m.default && (m = m.default); + var g = { + $injector: n, + $rootScope: r, + $scope: s, + $contextSrv: o, + routeInfo: e.current.$$route.routeInfo, + }; + document.body.classList.add("is-react"), + i.a.render( + (function (e, t, n) { + return a.a.createElement( + l.Provider, + { store: e }, + a.a.createElement( + f.ErrorBoundaryAlert, + { style: "page" }, + a.a.createElement(t, n) + ) + ); + })(c.d, Object(u.b)(h(m)), g), + d[0] + ), + s.$on("$destroy", function () { + document.body.classList.remove("is-react"), + i.a.unmountComponentAtNode(d[0]); + }); + }, + }; + } + s.c.directive("reactContainer", m); + }, + y6L2: function (e, t, n) { + "use strict"; + n.d(t, "e", function () { + return l; + }), + n.d(t, "c", function () { + return s; + }), + n.d(t, "d", function () { + return c; + }), + n.d(t, "f", function () { + return u; + }), + n.d(t, "g", function () { + return f; + }), + n.d(t, "b", function () { + return d; + }); + var r = n("i7Pf"), + a = { + plugins: [], + searchQuery: "", + layoutMode: n("Wu7z").a.Grid, + hasFetched: !1, + dashboards: [], + isLoadingPluginDashboards: !1, + panels: {}, + }, + o = Object(r.c)({ + name: "plugins", + initialState: a, + reducers: { + pluginsLoaded: function (e, t) { + (e.hasFetched = !0), (e.plugins = t.payload); + }, + setPluginsSearchQuery: function (e, t) { + e.searchQuery = t.payload; + }, + setPluginsLayoutMode: function (e, t) { + e.layoutMode = t.payload; + }, + pluginDashboardsLoad: function (e, t) { + (e.isLoadingPluginDashboards = !0), (e.dashboards = []); + }, + pluginDashboardsLoaded: function (e, t) { + (e.isLoadingPluginDashboards = !1), (e.dashboards = t.payload); + }, + panelPluginLoaded: function (e, t) { + e.panels[t.payload.meta.id] = t.payload; + }, + }, + }), + i = o.actions, + l = i.pluginsLoaded, + s = i.pluginDashboardsLoad, + c = i.pluginDashboardsLoaded, + u = i.setPluginsLayoutMode, + f = i.setPluginsSearchQuery, + d = i.panelPluginLoaded, + p = o.reducer; + t.a = { plugins: p }; + }, + yFUm: function (e, t) { + var n = "public/app/features/folders/partials/folder_dashboards.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + '<page-header ng-if=ctrl.navModel model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n <manage-dashboards ng-if="ctrl.folderId && ctrl.uid" folder-id=ctrl.folderId folder-uid=ctrl.uid />\n</div>\n\n<footer/>\n' + ); + }, + ]), + (e.exports = n); + }, + yqtr: function (e, t, n) { + "use strict"; + n.d(t, "b", function () { + return a; + }); + var r = n("1VFa"); + n.d(t, "d", function () { + return r.a; + }); + var a, + o = n("Ke2B"); + n.d(t, "h", function () { + return o.a; + }), + (function (e) { + (e.List = "list"), (e.Table = "table"); + })(a || (a = {})); + }, + zD9p: function (e, t, n) { + "use strict"; + (function (e) { + var r = n("q1tI"), + a = n.n(r), + o = n("0cfB"), + i = n("/MKj"), + l = n("kDLi"), + s = n("lzJ5"), + c = n("ZFWI"), + u = n("ZGyg"), + f = n("Abyo"), + d = n("hqzN"), + p = n("0pSv"), + h = n("GQ3c"), + m = n("sAJe"); + function g(e) { + return (g = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function b(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function v(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + b(o, r, a, i, l, "next", e); + } + function l(e) { + b(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function y(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function w(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function O(e, t) { + return !t || ("object" !== g(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function x(e) { + return (x = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function k(e, t) { + return (k = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var j = (function (e) { + function t() { + var e, n; + y(this, t); + for ( + var r = arguments.length, a = new Array(r), o = 0; + o < r; + o++ + ) + a[o] = arguments[o]; + return ( + ((n = O( + this, + (e = x(t)).call.apply(e, [this].concat(a)) + )).state = { isLoading: !0 }), + (n.search = function (e) { + e.preventDefault(); + var t = e.target.elements.username.value; + t && n.fetchUserMapping(t); + }), + (n.onClearUserError = function () { + n.props.clearUserError(); + }), + n + ); + } + var n, r, o, i, s, m; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && k(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((m = v( + regeneratorRuntime.mark(function e() { + var t, n, r, a; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props), + (n = t.username), + (r = t.clearUserMappingInfo), + (a = t.loadUserMapping), + (e.next = 3), + r() + ); + case 3: + return (e.next = 5), this.fetchLDAPStatus(); + case 5: + if (!n) { + e.next = 8; + break; + } + return (e.next = 8), a(n); + case 8: + this.setState({ isLoading: !1 }); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return m.apply(this, arguments); + }), + }, + { + key: "fetchLDAPStatus", + value: + ((s = v( + regeneratorRuntime.mark(function e() { + var t, n, r; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = this.props), + (n = t.loadLdapState), + (r = t.loadLdapSyncStatus), + e.abrupt("return", Promise.all([n(), r()])) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return s.apply(this, arguments); + }), + }, + { + key: "fetchUserMapping", + value: + ((i = v( + regeneratorRuntime.mark(function e(t) { + var n; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = this.props.loadUserMapping), + (e.next = 3), + n(t) + ); + case 3: + return e.abrupt("return", e.sent); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.ldapUser, + n = e.userError, + r = e.ldapError, + o = e.ldapSyncInfo, + i = e.ldapConnectionInfo, + s = e.navModel, + m = e.username, + g = this.state.isLoading; + return a.a.createElement( + u.a, + { navModel: s }, + a.a.createElement( + u.a.Contents, + { isLoading: g }, + a.a.createElement( + a.a.Fragment, + null, + r && + r.title && + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(l.Alert, { + title: r.title, + severity: h.AppNotificationSeverity.Error, + children: r.body, + }) + ), + a.a.createElement(f.a, { ldapConnectionInfo: i }), + c.b.licenseInfo.hasLicense && + o && + a.a.createElement(d.a, { ldapSyncInfo: o }), + a.a.createElement( + "h3", + { className: "page-heading" }, + "Test user mapping" + ), + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement( + "form", + { + onSubmit: this.search, + className: "gf-form-inline", + }, + a.a.createElement(l.FormField, { + label: "Username", + labelWidth: 8, + inputWidth: 30, + type: "text", + id: "username", + name: "username", + defaultValue: m, + }), + a.a.createElement( + "button", + { + type: "submit", + className: "btn btn-primary", + }, + "Run" + ) + ) + ), + n && + n.title && + a.a.createElement( + "div", + { className: "gf-form-group" }, + a.a.createElement(l.Alert, { + title: n.title, + severity: h.AppNotificationSeverity.Error, + children: n.body, + onRemove: this.onClearUserError, + }) + ), + t && + a.a.createElement(p.a, { + ldapUser: t, + showAttributeMapping: !0, + }) + ) + ) + ); + }, + }, + ]) && w(n.prototype, r), + o && w(n, o), + t + ); + })(r.PureComponent), + S = { + loadLdapState: m.i, + loadLdapSyncStatus: m.j, + loadUserMapping: m.k, + clearUserError: m.b, + clearUserMappingInfo: m.c, + }; + t.a = Object(o.hot)(e)( + Object(i.connect)(function (e) { + return { + navModel: Object(s.a)(e.navIndex, "ldap"), + username: e.location.routeParams.user, + ldapConnectionInfo: e.ldap.connectionInfo, + ldapUser: e.ldap.user, + ldapSyncInfo: e.ldap.syncInfo, + userError: e.ldap.userError, + ldapError: e.ldap.ldapError, + }; + }, S)(j) + ); + }.call(this, n("3UD+")(e))); + }, + zJCM: function (e, t) { + var n = "public/app/plugins/panel/graph/thresholds_form.html"; + window.angular.module("ng").run([ + "$templateCache", + function (e) { + e.put( + n, + "<div class=gf-form-group>\n <p class=muted ng-show=ctrl.disabled>\n Visual thresholds options <strong>disabled.</strong>\n Visit the Alert tab to update your thresholds.<br>\n To re-enable thresholds, the alert rule must be deleted from this panel.\n </p>\n <div ng-class=\"{'thresholds-form-disabled': ctrl.disabled}\">\n <div class=gf-form-inline ng-repeat=\"threshold in ctrl.panel.thresholds\">\n <div class=gf-form>\n <label class=gf-form-label>T{{$index+1}}</label>\n </div>\n\n <div class=gf-form>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=threshold.op ng-options=\"f for f in ['gt', 'lt']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled></select>\n </div>\n <input type=number ng-model=threshold.value class=\"gf-form-input width-8\" ng-change=ctrl.render() placeholder=value ng-disabled=ctrl.disabled>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>Color</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=threshold.colorMode ng-options=\"f for f in ['custom', 'critical', 'warning', 'ok']\" ng-change=ctrl.onThresholdTypeChange($index) ng-disabled=ctrl.disabled>\n </select>\n </div>\n </div>\n\n <gf-form-switch class=gf-form label=Fill checked=threshold.fill on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n <div class=gf-form ng-if=\"threshold.fill && threshold.colorMode === 'custom'\">\n <label class=gf-form-label>Fill color</label>\n <span class=gf-form-label>\n <color-picker color=threshold.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n </span>\n </div>\n\n <gf-form-switch class=gf-form label=Line checked=threshold.line on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n <div class=gf-form ng-if=\"threshold.line && threshold.colorMode === 'custom'\">\n <label class=gf-form-label>Line color</label>\n <span class=gf-form-label>\n <color-picker color=threshold.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n </span>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>Y-Axis</label>\n <div class=gf-form-select-wrapper>\n <select class=gf-form-input ng-model=threshold.yaxis ng-init=\"threshold.yaxis = threshold.yaxis === 'left' || threshold.yaxis === 'right' ? threshold.yaxis : 'left'\" ng-options=\"f for f in ['left', 'right']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled>\n </select>\n </div>\n </div>\n\n <div class=gf-form>\n <label class=gf-form-label>\n <a class=pointer ng-click=ctrl.removeThreshold($index) ng-disabled=ctrl.disabled>\n <i class=\"fa fa-trash\"></i>\n </a>\n </label>\n </div>\n </div>\n\n <div class=gf-form-button-row>\n <button class=\"btn btn-inverse\" ng-click=ctrl.addThreshold() ng-disabled=ctrl.disabled>\n <i class=\"fa fa-plus\"></i> Add Threshold\n </button>\n </div>\n </div>\n</div>\n" + ); + }, + ]), + (e.exports = n); + }, + zVNn: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }); + var r = n("i7Pf"), + a = Object(r.b)("core/cleanUpState"); + }, + zl43: function (e, t, n) { + "use strict"; + n.r(t); + n("pNMO"), + n("4Brf"), + n("tjZM"), + n("3I1R"), + n("7+kd"), + n("0oug"), + n("KhsS"), + n("gOCb"), + n("a57n"), + n("GXvd"), + n("I1Gw"), + n("gXIK"), + n("lEou"), + n("gbiT"), + n("ma9I"), + n("qHT+"), + n("piMb"), + n("yyme"), + n("TeQF"), + n("fbCW"), + n("x0AG"), + n("BIHw"), + n("XbcX"), + n("QWBl"), + n("pjDv"), + n("yq1k"), + n("yXV3"), + n("4mDm"), + n("oVuX"), + n("uqXc"), + n("2B1R"), + n("Xe3L"), + n("E9XD"), + n("9N29"), + n("Junv"), + n("+2oP"), + n("Rfxz"), + n("94Xl"), + n("pDQq"), + n("QGkA"), + n("c9m3"), + n("wZ/5"), + n("gtqK"), + n("rOQg"), + n("tCCV"), + n("7+zs"), + n("tW5y"), + n("sMBO"), + n("DEfu"), + n("Tskq"), + n("Uydy"), + n("eajv"), + n("n/mU"), + n("PqOI"), + n("QNnp"), + n("/5zm"), + n("CsgD"), + n("9mRW"), + n("QFcT"), + n("vAFs"), + n("a5NK"), + n("yiG3"), + n("kNcU"), + n("KvGi"), + n("AmFO"), + n("eJiR"), + n("I9xj"), + n("tl/u"), + n("qePV"), + n("NbN+"), + n("8AyJ"), + n("i6QF"), + n("kSko"), + n("WDsR"), + n("r/Vq"), + n("5uH8"), + n("w1rZ"), + n("JevA"), + n("toAj"), + n("zKZe"), + n("Eqjn"), + n("5xtp"), + n("T63A"), + n("3KgV"), + n("wfmh"), + n("5DmW"), + n("27RR"), + n("cDke"), + n("NBAS"), + n("Kxld"), + n("yQYn"), + n("4h0Y"), + n("5D5o"), + n("tkto"), + n("v5b1"), + n("W/eh"), + n("zuhW"), + n("r5Og"), + n("ExoC"), + n("07d7"), + n("B6y2"), + n("5s+n"), + n("p532"), + n("pv2x"), + n("SuFq"), + n("PzqY"), + n("rBZX"), + n("XUE8"), + n("nkod"), + n("f3jH"), + n("x2An"), + n("25bX"), + n("G/JM"), + n("1t3B"), + n("ftMj"), + n("i5pp"), + n("TWNs"), + n("rB9j"), + n("U3f4"), + n("JfAA"), + n("YGK4"), + n("9bJ7"), + n("inlA"), + n("9tb/"), + n("JTJg"), + n("PKPk"), + n("Rm1S"), + n("hDyC"), + n("TZCg"), + n("2A+d"), + n("OM9Z"), + n("UxlC"), + n("hByQ"), + n("EnZy"), + n("LKBx"), + n("SYor"), + n("HiXI"), + n("7ueG"), + n("GKVU"), + n("E5NM"), + n("BNMt"), + n("zHFu"), + n("x83w"), + n("l2dK"), + n("GRPF"), + n("xdBZ"), + n("mRH6"), + n("yWo2"), + n("IxXR"), + n("TFPT"), + n("Zk8X"), + n("z8NH"), + n("SpvK"), + n("/Yfv"), + n("iwkZ"), + n("FDzp"), + n("XMab"), + n("ilnZ"), + n("hMMk"), + n("+ywr"), + n("moxL"), + n("qXVe"), + n("c162"), + n("waxf"), + n("0TkE"), + n("Onu3"), + n("1dYe"), + n("IL/d"), + n("gvgV"), + n("6R/c"), + n("YL0P"), + n("X5Zq"), + n("MoCz"), + n("P8wP"), + n("7JcK"), + n("ypFw"), + n("JaFt"), + n("zSZm"), + n("PF2M"), + n("KVSy"), + n("ZJ55"), + n("IZzc"), + n("Fwt+"), + n("s5qe"), + n("cvf0"), + n("ENF9"), + n("H+LF"), + n("FZtP"), + n("3bBZ"), + n("Ew+T"), + n("n5b4"), + n("R5XZ"), + n("Kz25"), + n("vxnP"), + n("mGGf"), + n("ls82"), + n("bZMm"), + n("QkDe"); + var r = n("JgE6"), + a = n.n(r), + o = (n("JEAp"), n("LvDl")), + i = n.n(o), + l = n("+2Rf"), + s = n.n(l), + c = n("KHwQ"), + u = n.n(c), + f = (n("STM2"), n("wmx0"), n("YTCJ"), n("VBMh"), n("q1tI")), + d = n.n(f), + p = n("i8i4"), + h = n.n(p), + m = (n("kX54"), n("Qhie"), n("ZFWI")), + g = n("Obii"), + b = n("Xmxp"), + v = null; + var y = + (function () { + if (null !== v) return v; + if ("undefined" != typeof document) { + var e = document.createElement("div"), + t = { + width: "100px", + height: "100px", + position: "absolute", + top: "-9999px", + overflow: "scroll", + MsOverflowStyle: "scrollbar", + }; + Object.keys(t).map(function (n) { + e.style[n] = t[n]; + }), + document.body.appendChild(e), + (v = e.offsetWidth - e.clientWidth), + document.body.removeChild(e); + } else v = 0; + return v || 0; + })() > 0; + var w = n("Vw/f"), + O = n("txxJ"), + x = n("HJRA"), + k = n("UIT+"), + j = n("GQ3c"), + S = n("NXk7"); + function E(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + var C = function e(t, n, r, a, o) { + E(this, e), + t.appEvent(j.CoreEvents.dashboardFetchStart), + n.uid || n.slug + ? "script" === n.type || "snapshot" === n.type || n.uid + ? r.loadDashboard(n.type, n.slug, n.uid).then(function (e) { + if (e.meta.url) { + var r = k.b.stripBaseFromUrl(e.meta.url); + if (r !== a.path()) return void a.path(r).replace(); + } + (e.meta.autofitpanels = n.autofitpanels), + (e.meta.kiosk = n.kiosk), + t.initDashboard(e, t); + }) + : S.b.getDashboardBySlug(n.slug).then(function (e) { + e && a.path(k.b.stripBaseFromUrl(e.meta.url)).replace(); + }) + : S.b.get("/api/dashboards/home").then(function (e) { + if (e.redirectUri) { + var n = k.b.stripBaseFromUrl(e.redirectUri); + a.path(n); + } else { + var r = e.meta; + (r.canSave = r.canShare = r.canStar = !1), + t.initDashboard(e, t); + } + }); + }; + (C.$inject = [ + "$scope", + "$routeParams", + "dashboardLoaderSrv", + "$location", + "$browser", + ]), + (C.$inject = [ + "$scope", + "$routeParams", + "dashboardLoaderSrv", + "$location", + "$browser", + ]); + var P = function e(t, n) { + E(this, e), + t.initDashboard( + { + meta: { + canStar: !1, + canShare: !1, + isNew: !0, + folderId: Number(n.folderId), + }, + dashboard: { + title: "New dashboard", + panels: [ + { + type: "add-panel", + gridPos: { x: 0, y: 0, w: 12, h: 9 }, + title: "Panel Title", + }, + ], + }, + }, + t + ); + }; + (P.$inject = ["$scope", "$routeParams"]), + (P.$inject = ["$scope", "$routeParams"]), + O.c.controller("LoadDashboardCtrl", C), + O.c.controller("NewDashboardCtrl", P); + n("y+vE"); + var T = []; + var D = n("2KQq"); + function A(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var _ = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$location = t), + (this.validationSrv = n), + (this.$scope = a), + (this.title = ""), + (this.titleTouched = !1), + (this.navModel = r.getNav("dashboards", "manage-dashboards", 0)); + } + var t, n, r; + return ( + (e.$inject = ["$location", "validationSrv", "navModelSrv", "$scope"]), + (t = e), + (n = [ + { + key: "create", + value: function () { + var e = this; + this.hasValidationError || + Object(D.a)(this.$scope)( + S.b.createFolder({ title: this.title }).then(function (t) { + b.b.emit(g.AppEvents.alertSuccess, [ + "Folder Created", + "OK", + ]), + e.$location.url(k.b.stripBaseFromUrl(t.url)); + }) + ); + }, + }, + { + key: "titleChanged", + value: function () { + var e = this; + (this.titleTouched = !0), + Object(D.a)(this.$scope)( + this.validationSrv + .validateNewFolderName(this.title) + .then(function () { + e.hasValidationError = !1; + }) + .catch(function (t) { + (e.hasValidationError = !0), + (e.validationError = t.message); + }) + ); + }, + }, + ]) && A(t.prototype, n), + r && A(t, r), + e + ); + })(); + function N(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var M = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "load", + value: function (e, t, n) { + return ( + (e.navModel = { + main: { + icon: "fa fa-folder-open", + id: "manage-folder", + subTitle: "Manage folder dashboards & permissions", + url: "", + text: "", + breadcrumbs: [{ title: "Dashboards", url: "dashboards" }], + children: [ + { + active: "manage-folder-dashboards" === n, + icon: "fa fa-fw fa-th-large", + id: "manage-folder-dashboards", + text: "Dashboards", + url: "dashboards", + }, + { + active: "manage-folder-permissions" === n, + icon: "fa fa-fw fa-lock", + id: "manage-folder-permissions", + text: "Permissions", + url: "dashboards/permissions", + }, + { + active: "manage-folder-settings" === n, + icon: "gicon gicon-cog", + id: "manage-folder-settings", + text: "Settings", + url: "dashboards/settings", + }, + ], + }, + }), + S.b.getFolderByUid(t).then(function (t) { + e.folderId = t.id; + var n = t.title, + r = t.url; + e.navModel.main.text = n; + var a = e.navModel.main.children.find(function (e) { + return "manage-folder-dashboards" === e.id; + }); + return ( + (a.url = r), + t.canAdmin + ? ((e.navModel.main.children.find(function (e) { + return "manage-folder-permissions" === e.id; + }).url = r + "/permissions"), + (e.navModel.main.children.find(function (e) { + return "manage-folder-settings" === e.id; + }).url = r + "/settings")) + : (e.navModel.main.children = [a]), + t + ); + }) + ); + }, + }, + ]) && N(t.prototype, n), + r && N(t, r), + e + ); + })(); + var I = function e(t, n, r, a) { + if ( + ((function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$routeParams = n), + (this.$scope = a), + this.$routeParams.uid) + ) { + this.uid = n.uid; + var o = new M(); + Object(D.a)(this.$scope)( + o + .load(this, this.uid, "manage-folder-dashboards") + .then(function (e) { + var t = k.b.stripBaseFromUrl(e.url); + t !== r.path() && r.path(t).replace(); + }) + ); + } + }; + function R(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + I.$inject = ["navModelSrv", "$routeParams", "$location", "$scope"]; + var F = (function () { + function e(t, n, r, a, o) { + var i = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.validationSrv = n), + (this.$location = a), + (this.onFolderChange = function (e) { + (i.folderId = e.id), i.titleChanged(); + }), + (this.onEnterFolderCreation = function () { + i.inputsValid = !1; + }), + (this.onExitFolderCreation = function () { + i.inputValueChanged(); + }), + (this.navModel = r.getNav("create", "import")), + (this.step = 1), + (this.nameExists = !1), + (this.uidExists = !1), + (this.autoGenerateUid = !0), + (this.autoGenerateUidValue = "auto-generated"), + (this.folderId = o.folderId ? Number(o.folderId) || 0 : null), + (this.initialFolderTitle = "Select a folder"), + o.gnetId && + ((this.gnetUrl = o.gnetId), this.checkGnetDashboard()); + } + var t, n, r; + return ( + (e.$inject = [ + "$scope", + "validationSrv", + "navModelSrv", + "$location", + "$routeParams", + ]), + (t = e), + (n = [ + { + key: "onUpload", + value: function (e) { + if ( + ((this.dash = e), + (this.dash.id = null), + (this.step = 2), + (this.inputs = []), + this.dash.__inputs) + ) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = this.dash.__inputs[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var i = a.value, + l = { + name: i.name, + label: i.label, + info: i.description, + value: i.value, + type: i.type, + pluginId: i.pluginId, + options: [], + }; + "datasource" === i.type + ? this.setDatasourceOptions(i, l) + : l.info || (l.info = "Specify a string constant"), + this.inputs.push(l); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + } + (this.inputsValid = 0 === this.inputs.length), + this.titleChanged(), + this.uidChanged(!0); + }, + }, + { + key: "setDatasourceOptions", + value: function (e, t) { + var n = i.a.filter(m.b.datasources, function (t) { + return t.type === e.pluginId; + }); + 0 === n.length + ? (t.info = + "No data sources of type " + e.pluginName + " found") + : t.info || + (t.info = "Select a " + e.pluginName + " data source"), + (t.options = n.map(function (e) { + return { text: e.name, value: e.name }; + })); + }, + }, + { + key: "inputValueChanged", + value: function () { + this.inputsValid = !0; + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.inputs[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) + r.value.value || (this.inputsValid = !1); + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + }, + }, + { + key: "titleChanged", + value: function () { + var e = this; + (this.titleTouched = !0), + (this.nameExists = !1), + Object(D.a)(this.$scope)( + this.validationSrv + .validateNewDashboardName( + this.folderId, + this.dash.title + ) + .then(function () { + (e.nameExists = !1), (e.hasNameValidationError = !1); + }) + .catch(function (t) { + "EXISTING" === t.type && (e.nameExists = !0), + (e.hasNameValidationError = !0), + (e.nameValidationError = t.message); + }) + ); + }, + }, + { + key: "uidChanged", + value: function (e) { + var t = this; + (this.uidExists = !1), + (this.hasUidValidationError = !1), + !0 === e && + this.dash.uid && + (this.autoGenerateUidValue = "value set"), + this.dash.uid && + Object(D.a)(this.$scope)( + S.b + .getDashboardByUid(this.dash.uid) + .then(function (e) { + (t.uidExists = !0), + (t.hasUidValidationError = !0), + (t.uidValidationError = "Dashboard named '" + .concat(e.dashboard.title, "' in folder '") + .concat( + e.meta.folderTitle, + "' has the same uid" + )); + }) + .catch(function (e) { + e.isHandled = !0; + }) + ); + }, + }, + { + key: "isValid", + value: function () { + return this.inputsValid && null !== this.folderId; + }, + }, + { + key: "saveDashboard", + value: function () { + var e = this, + t = this.inputs.map(function (e) { + return { + name: e.name, + type: e.type, + pluginId: e.pluginId, + value: e.value, + }; + }); + return Object(D.a)(this.$scope)( + S.b + .post("api/dashboards/import", { + dashboard: this.dash, + overwrite: !0, + inputs: t, + folderId: this.folderId, + }) + .then(function (t) { + var n = k.b.stripBaseFromUrl(t.importedUrl); + e.$location.url(n); + }) + ); + }, + }, + { + key: "loadJsonText", + value: function () { + try { + this.parseError = ""; + var e = JSON.parse(this.jsonText); + this.onUpload(e); + } catch (e) { + return console.log(e), void (this.parseError = e.message); + } + }, + }, + { + key: "checkGnetDashboard", + value: function () { + var e = this; + this.gnetError = ""; + var t, + n = /(^\d+$)|dashboards\/(\d+)/.exec(this.gnetUrl); + return ( + n && n[1] + ? (t = n[1]) + : n && n[2] + ? (t = n[2]) + : (this.gnetError = "Could not find dashboard"), + Object(D.a)(this.$scope)( + S.b + .get("api/gnet/dashboards/" + t) + .then(function (t) { + (e.gnetInfo = t), + (t.json.gnetId = t.id), + e.onUpload(t.json); + }) + .catch(function (t) { + (t.isHandled = !0), + (e.gnetError = t.data.message || t); + }) + ) + ); + }, + }, + { + key: "back", + value: function () { + (this.gnetUrl = ""), + (this.step = 1), + (this.gnetError = ""), + (this.gnetInfo = ""); + }, + }, + ]) && R(t.prototype, n), + r && R(t, r), + e + ); + })(), + L = n("zD9p"), + V = n("0mC0"), + B = n("38Hk"), + q = n("1w3K"), + U = function () { + return d.a.createElement( + "div", + { className: "login-signup-box" }, + d.a.createElement( + "div", + { className: "login-signup-title p-r-1" }, + "New to Grafana?" + ), + d.a.createElement( + "a", + { + href: "signup", + className: "btn btn-medium btn-signup btn-p-x-2", + }, + "Sign Up" + ) + ); + }, + z = function () { + var e = !!m.b.oauth; + return { + saml: { + enabled: m.b.samlEnabled, + name: "SAML", + className: "github", + icon: "key", + }, + google: { enabled: e && m.b.oauth.google, name: "Google" }, + azuread: { enabled: m.b.oauth.azuread, name: "Microsoft" }, + github: { enabled: e && m.b.oauth.github, name: "GitHub" }, + gitlab: { enabled: e && m.b.oauth.gitlab, name: "GitLab" }, + grafanacom: { + enabled: e && m.b.oauth.grafana_com, + name: "Grafana.com", + hrefName: "grafana_com", + icon: "grafana_com", + }, + oauth: { + enabled: e && m.b.oauth.generic_oauth, + name: + e && m.b.oauth.generic_oauth + ? m.b.oauth.generic_oauth.name + : "OAuth", + icon: "sign-in", + hrefName: "generic_oauth", + }, + }; + }, + H = function () { + var e = Object.keys(z()).filter(function (e) { + return z()[e].enabled; + }); + if (0 === e.length) return null; + var t = e.map(function (e) { + var t = z()[e]; + return d.a.createElement( + "a", + { + key: e, + className: "btn btn-medium btn-service btn-service--".concat( + t.className || e, + " login-btn" + ), + href: "login/".concat(t.hrefName ? t.hrefName : e), + target: "_self", + }, + d.a.createElement("i", { + className: "btn-service-icon fa fa-".concat( + t.icon ? t.icon : e + ), + }), + "Sign in with ", + t.name + ); + }), + n = d.a.createElement( + d.a.Fragment, + null, + d.a.createElement( + "div", + { className: "text-center login-divider" }, + d.a.createElement( + "div", + null, + d.a.createElement("div", { className: "login-divider-line" }) + ), + d.a.createElement( + "div", + null, + d.a.createElement( + "span", + { className: "login-divider-text" }, + m.b.disableLoginForm + ? null + : d.a.createElement("span", null, "or") + ) + ), + d.a.createElement( + "div", + null, + d.a.createElement("div", { className: "login-divider-line" }) + ) + ), + d.a.createElement("div", { className: "clearfix" }) + ); + return d.a.createElement( + d.a.Fragment, + null, + n, + d.a.createElement( + "div", + { className: "login-oauth text-center" }, + t + ) + ); + }, + G = n("LOGi"), + W = n("1gCF"); + function Q(e) { + return (Q = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Y(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function K(e, t) { + return !t || ("object" !== Q(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function J(e) { + return (J = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Z(e, t) { + return (Z = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var X = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = K(this, J(t).call(this, e))).onSubmit = function (e) { + e.preventDefault(); + var t = n.state, + r = t.user, + a = t.password, + o = t.email; + n.state.valid && + n.props.onSubmit({ user: r, password: a, email: o }); + }), + (n.onChangePassword = function (e) { + n.setState({ + password: e.target.value, + valid: n.validate(n.state.user, e.target.value), + }); + }), + (n.onChangeUsername = function (e) { + n.setState({ + user: e.target.value, + valid: n.validate(e.target.value, n.state.password), + }); + }), + (n.state = { user: "", password: "", email: "", valid: !1 }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Z(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.userInput.focus(); + }, + }, + { + key: "validate", + value: function (e, t) { + return e.length > 0 && t.length > 0; + }, + }, + { + key: "render", + value: function () { + var e = this; + return d.a.createElement( + "form", + { + name: "loginForm", + className: "login-form-group gf-form-group", + }, + d.a.createElement( + "div", + { className: "login-form" }, + d.a.createElement("input", { + ref: function (t) { + e.userInput = t; + }, + type: "text", + name: "user", + className: "gf-form-input login-form-input", + required: !0, + placeholder: this.props.loginHint, + "aria-label": W.a.pages.Login.selectors.username, + onChange: this.onChangeUsername, + }) + ), + d.a.createElement( + "div", + { className: "login-form" }, + d.a.createElement("input", { + type: "password", + name: "password", + className: "gf-form-input login-form-input", + required: !0, + "ng-model": "formModel.password", + id: "inputPassword", + placeholder: this.props.passwordHint, + "aria-label": W.a.pages.Login.selectors.password, + onChange: this.onChangePassword, + }) + ), + d.a.createElement( + "div", + { className: "login-button-group" }, + this.props.isLoggingIn + ? d.a.createElement( + "button", + { + type: "submit", + disabled: !0, + className: + "btn btn-large p-x-2 btn-inverse btn-loading", + }, + "Logging In", + d.a.createElement("span", null, "."), + d.a.createElement("span", null, "."), + d.a.createElement("span", null, ".") + ) + : d.a.createElement( + "button", + { + type: "submit", + "aria-label": W.a.pages.Login.selectors.submit, + className: "btn btn-large p-x-2 ".concat( + this.state.valid ? "btn-primary" : "btn-inverse" + ), + onClick: this.onSubmit, + disabled: !this.state.valid, + }, + "Log In" + ), + this.props.displayForgotPassword + ? d.a.createElement( + "div", + { className: "small login-button-forgot-password" }, + d.a.createElement( + "a", + { href: "user/password/send-reset-email" }, + "Forgot your password?" + ) + ) + : null + ) + ); + }, + }, + ]) && Y(n.prototype, r), + a && Y(n, a), + t + ); + })(f.PureComponent), + ee = n("kDLi"); + function te(e) { + return (te = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ne(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function re(e, t) { + return !t || ("object" !== te(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ae(e) { + return (ae = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function oe(e, t) { + return (oe = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var ie = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = re(this, ae(t).call(this, e))).onSubmit = function (e) { + e.preventDefault(); + var t = n.state, + r = t.newPassword; + t.valid + ? n.props.onSubmit(r) + : b.b.emit(g.AppEvents.alertWarning, [ + "New passwords do not match", + ]); + }), + (n.onNewPasswordChange = function (e) { + n.setState({ + newPassword: e.target.value, + valid: n.validate("newPassword", e.target.value), + }); + }), + (n.onConfirmPasswordChange = function (e) { + n.setState({ + confirmNew: e.target.value, + valid: n.validate("confirmNew", e.target.value), + }); + }), + (n.onSkip = function (e) { + n.props.onSkip(); + }), + (n.state = { newPassword: "", confirmNew: "", valid: !1 }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && oe(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidUpdate", + value: function (e) { + !e.focus && this.props.focus && this.focus(); + }, + }, + { + key: "focus", + value: function () { + this.userInput.focus(); + }, + }, + { + key: "validate", + value: function (e, t) { + return "newPassword" === e + ? this.state.confirmNew === t + : "confirmNew" === e && this.state.newPassword === t; + }, + }, + { + key: "render", + value: function () { + var e = this; + return d.a.createElement( + "div", + { + className: "login-inner-box", + id: "change-password-view", + }, + d.a.createElement( + "div", + { className: "text-left login-change-password-info" }, + d.a.createElement("h5", null, "Change Password"), + "Before you can get started with awesome dashboards we need you to make your account more secure by changing your password.", + d.a.createElement("br", null), + "You can change your password again later." + ), + d.a.createElement( + "form", + { className: "login-form-group gf-form-group" }, + d.a.createElement( + "div", + { className: "login-form" }, + d.a.createElement("input", { + type: "password", + id: "newPassword", + name: "newPassword", + className: "gf-form-input login-form-input", + required: !0, + placeholder: "New password", + onChange: this.onNewPasswordChange, + ref: function (t) { + e.userInput = t; + }, + }) + ), + d.a.createElement( + "div", + { className: "login-form" }, + d.a.createElement("input", { + type: "password", + name: "confirmNew", + className: "gf-form-input login-form-input", + required: !0, + "ng-model": "command.confirmNew", + placeholder: "Confirm new password", + onChange: this.onConfirmPasswordChange, + }) + ), + d.a.createElement( + "div", + { + className: + "login-button-group login-button-group--right text-right", + }, + d.a.createElement( + ee.Tooltip, + { + placement: "bottom", + content: + "If you skip you will be prompted to change password next time you login.", + }, + d.a.createElement( + "a", + { + className: "btn btn-link", + onClick: this.onSkip, + "aria-label": W.a.pages.Login.selectors.skip, + }, + "Skip" + ) + ), + d.a.createElement( + "button", + { + type: "submit", + className: "btn btn-large p-x-2 ".concat( + this.state.valid ? "btn-primary" : "btn-inverse" + ), + onClick: this.onSubmit, + disabled: !this.state.valid, + }, + "Save" + ) + ) + ) + ); + }, + }, + ]) && ne(n.prototype, r), + a && ne(n, a), + t + ); + })(f.PureComponent), + le = n("ibPz"), + se = n("5C3A"), + ce = function () { + return d.a.createElement( + le.a.LoginBackground, + { className: "login container" }, + d.a.createElement( + "div", + { className: "login-content" }, + d.a.createElement( + "div", + { className: "login-branding" }, + d.a.createElement(le.a.LoginLogo, { className: "login-logo" }) + ), + d.a.createElement(G.a, null, function (e) { + var t = e.loginHint, + n = e.passwordHint, + r = (e.isOauthEnabled, e.ldapEnabled), + a = e.authProxyEnabled, + o = e.disableLoginForm, + i = e.disableUserSignUp, + l = e.login, + s = e.isLoggingIn, + c = e.changePassword, + u = e.skipPasswordChange, + f = e.isChangingPassword; + return d.a.createElement( + "div", + { className: "login-outer-box" }, + d.a.createElement( + "div", + { + className: "login-inner-box ".concat(f ? "hidden" : ""), + id: "login-view", + }, + o + ? null + : d.a.createElement(X, { + displayForgotPassword: !(r || a), + onSubmit: l, + loginHint: t, + passwordHint: n, + isLoggingIn: s, + }), + d.a.createElement(H, null), + i ? null : d.a.createElement(U, null) + ), + d.a.createElement( + q.CSSTransition, + { + appear: !0, + mountOnEnter: !0, + in: f, + timeout: 250, + classNames: "login-inner-box", + }, + d.a.createElement(ie, { onSubmit: c, onSkip: u, focus: f }) + ) + ); + }), + d.a.createElement("div", { className: "clearfix" }) + ), + d.a.createElement(se.a, null) + ); + }, + ue = n("CnBM"), + fe = n.n(ue), + de = d.a.memo(function () { + return d.a.createElement( + "div", + { className: "preloader" }, + d.a.createElement(ee.LoadingPlaceholder, { text: "Loading..." }) + ); + }); + de.displayName = "LoadingChunkPlaceHolder"; + var pe = n("kDDq"); + function he() { + var e = (function (e, t) { + t || (t = e.slice(0)); + return Object.freeze( + Object.defineProperties(e, { raw: { value: Object.freeze(t) } }) + ); + })(["\n width: 508px;\n margin: 128px auto;\n "]); + return ( + (he = function () { + return e; + }), + e + ); + } + var me = Object(ee.stylesFactory)(function () { + return Object(pe.css)(he()); + }), + ge = function (e) { + var t = e.error; + return d.a.createElement( + "div", + { className: me() }, + d.a.createElement("h2", null, "Unable to find application file"), + d.a.createElement("br", null), + d.a.createElement( + "h2", + { className: "page-heading" }, + "Grafana has likely been updated. Please try reloading the page." + ), + d.a.createElement("br", null), + d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + ee.Button, + { + size: "md", + variant: "secondary", + icon: "fa fa-repeat", + onClick: function () { + return window.location.reload(); + }, + }, + "Reload" + ) + ), + d.a.createElement( + "details", + { style: { whiteSpace: "pre-wrap" } }, + t && t.message ? t.message : "Unexpected error occurred", + d.a.createElement("br", null), + t && t.stack ? t.stack : null + ) + ); + }; + ge.displayName = "ErrorLoadingChunk"; + var be = function (e) { + var t = e.error, + n = e.pastDelay; + return t + ? d.a.createElement(ge, { error: t }) + : n + ? d.a.createElement(de, null) + : null; + }, + ve = function (e) { + return function (t) { + var n = Object.assign({}, t), + r = fe()({ + loader: function () { + return e; + }, + loading: be, + }); + return d.a.createElement(r, n); + }; + }; + function ye(e, t) { + t.html5Mode(!0); + var r = function () { + return ve( + Promise.all([n.e(0), n.e(3), n.e(10)]).then(n.bind(null, "lIMf")) + ); + }; + e + .when("/", { + template: "<react-container />", + pageClass: "page-dashboard", + routeInfo: j.DashboardRouteInfo.Home, + reloadOnSearch: !1, + resolve: { component: r }, + }) + .when("/d/:uid/:slug", { + template: "<react-container />", + pageClass: "page-dashboard", + routeInfo: j.DashboardRouteInfo.Normal, + reloadOnSearch: !1, + resolve: { component: r }, + }) + .when("/d/:uid", { + template: "<react-container />", + pageClass: "page-dashboard", + reloadOnSearch: !1, + routeInfo: j.DashboardRouteInfo.Normal, + resolve: { component: r }, + }) + .when("/dashboard/:type/:slug", { + template: "<react-container />", + pageClass: "page-dashboard", + routeInfo: j.DashboardRouteInfo.Normal, + reloadOnSearch: !1, + resolve: { component: r }, + }) + .when("/dashboard/new", { + template: "<react-container />", + pageClass: "page-dashboard", + routeInfo: j.DashboardRouteInfo.New, + reloadOnSearch: !1, + resolve: { component: r }, + }) + .when("/d-solo/:uid/:slug", { + template: "<react-container />", + pageClass: "dashboard-solo", + routeInfo: j.DashboardRouteInfo.Normal, + reloadOnSearch: !1, + resolve: { + component: function () { + return ve( + Promise.all([n.e(0), n.e(3), n.e(21)]).then( + n.bind(null, "gBvE") + ) + ); + }, + }, + }) + .when("/d-solo/:uid", { + template: "<react-container />", + pageClass: "dashboard-solo", + routeInfo: j.DashboardRouteInfo.Normal, + reloadOnSearch: !1, + resolve: { + component: function () { + return ve( + Promise.all([n.e(0), n.e(3), n.e(21)]).then( + n.bind(null, "gBvE") + ) + ); + }, + }, + }) + .when("/dashboard-solo/:type/:slug", { + template: "<react-container />", + pageClass: "dashboard-solo", + routeInfo: j.DashboardRouteInfo.Normal, + reloadOnSearch: !1, + resolve: { + component: function () { + return ve( + Promise.all([n.e(0), n.e(3), n.e(21)]).then( + n.bind(null, "gBvE") + ) + ); + }, + }, + }) + .when("/dashboard/import", { + templateUrl: + "public/app/features/manage-dashboards/partials/dashboard_import.html", + controller: F, + controllerAs: "ctrl", + }) + .when("/datasources", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(13).then(n.bind(null, "rouV"))); + }, + }, + }) + .when("/datasources/edit/:id/", { + template: "<react-container />", + reloadOnSearch: !1, + resolve: { + component: function () { + return ve(n.e(12).then(n.bind(null, "Klwq"))); + }, + }, + }) + .when("/datasources/edit/:id/dashboards", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(11).then(n.bind(null, "BLAY"))); + }, + }, + }) + .when("/datasources/new", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(16).then(n.bind(null, "Fofh"))); + }, + }, + }) + .when("/dashboards", { + templateUrl: + "public/app/features/manage-dashboards/partials/dashboard_list.html", + controller: "DashboardListCtrl", + controllerAs: "ctrl", + }) + .when("/dashboards/folder/new", { + templateUrl: + "public/app/features/folders/partials/create_folder.html", + controller: _, + controllerAs: "ctrl", + }) + .when("/dashboards/f/:uid/:slug/permissions", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(14).then(n.bind(null, "rtU1"))); + }, + }, + }) + .when("/dashboards/f/:uid/:slug/settings", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(15).then(n.bind(null, "kzsD"))); + }, + }, + }) + .when("/dashboards/f/:uid/:slug", { + templateUrl: + "public/app/features/folders/partials/folder_dashboards.html", + controller: I, + controllerAs: "ctrl", + }) + .when("/dashboards/f/:uid", { + templateUrl: + "public/app/features/folders/partials/folder_dashboards.html", + controller: I, + controllerAs: "ctrl", + }) + .when("/explore", { + template: "<react-container />", + reloadOnSearch: !1, + resolve: { + roles: function () { + return m.b.viewersCanEdit ? [] : ["Editor", "Admin"]; + }, + component: function () { + return ve( + Promise.all([n.e(0), n.e(34)]).then(n.bind(null, "eX1b")) + ); + }, + }, + }) + .when("/a/:pluginId/", { + template: "<react-container />", + reloadOnSearch: !1, + resolve: { + component: function () { + return ve( + Promise.all([n.e(2), n.e(8)]).then(n.bind(null, "Xzuj")) + ); + }, + }, + }) + .when("/org", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(17).then(n.bind(null, "e5mm"))); + }, + }, + }) + .when("/org/new", { + templateUrl: "public/app/features/org/partials/newOrg.html", + controller: "NewOrgCtrl", + }) + .when("/org/users", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(26).then(n.bind(null, "DWvN"))); + }, + }, + }) + .when("/org/users/invite", { + template: "<react-container/>", + resolve: { + component: function () { + return ve(n.e(25).then(n.bind(null, "IeNb"))); + }, + }, + }) + .when("/org/apikeys", { + template: "<react-container />", + resolve: { + roles: function () { + return ["Editor", "Admin"]; + }, + component: function () { + return ve(n.e(7).then(n.bind(null, "pSIq"))); + }, + }, + }) + .when("/org/teams", { + template: "<react-container />", + resolve: { + roles: function () { + return m.b.editorsCanAdmin ? [] : ["Editor", "Admin"]; + }, + component: function () { + return ve(n.e(22).then(n.bind(null, "+nK6"))); + }, + }, + }) + .when("/org/teams/new", { + template: "<react-container />", + resolve: { + roles: function () { + return m.b.editorsCanAdmin ? [] : ["Admin"]; + }, + component: function () { + return ve(n.e(9).then(n.bind(null, "9i9D"))); + }, + }, + }) + .when("/org/teams/edit/:id/:page?", { + template: "<react-container />", + resolve: { + roles: function () { + return m.b.editorsCanAdmin ? [] : ["Admin"]; + }, + component: function () { + return ve(n.e(23).then(n.bind(null, "p+xb"))); + }, + }, + }) + .when("/profile", { + templateUrl: "public/app/features/profile/partials/profile.html", + controller: "ProfileCtrl", + controllerAs: "ctrl", + }) + .when("/profile/password", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(54).then(n.bind(null, "PEdC"))); + }, + }, + }) + .when("/profile/select-org", { + templateUrl: "public/app/features/org/partials/select_org.html", + controller: "SelectOrgCtrl", + }) + .when("/admin", { + templateUrl: "public/app/features/admin/partials/admin_home.html", + controller: "AdminHomeCtrl", + controllerAs: "ctrl", + }) + .when("/admin/settings", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(5).then(n.bind(null, "Cqi4"))); + }, + }, + }) + .when("/admin/upgrading", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(53).then(n.bind(null, "QBpM"))); + }, + }, + }) + .when("/admin/users", { + templateUrl: "public/app/features/admin/partials/users.html", + controller: "AdminListUsersCtrl", + controllerAs: "ctrl", + }) + .when("/admin/users/create", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(24).then(n.bind(null, "w+x2"))); + }, + }, + }) + .when("/admin/users/edit/:id", { + template: "<react-container />", + resolve: { + component: function () { + return V.a; + }, + }, + }) + .when("/admin/orgs", { + templateUrl: "public/app/features/admin/partials/orgs.html", + controller: "AdminListOrgsCtrl", + controllerAs: "ctrl", + }) + .when("/admin/orgs/edit/:id", { + templateUrl: "public/app/features/admin/partials/edit_org.html", + controller: "AdminEditOrgCtrl", + controllerAs: "ctrl", + }) + .when("/admin/stats", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(19).then(n.bind(null, "jmwA"))); + }, + }, + }) + .when("/admin/ldap", { + template: "<react-container />", + resolve: { + component: function () { + return L.a; + }, + }, + }) + .when("/login", { + template: "<react-container/>", + resolve: { + component: function () { + return ce; + }, + }, + pageClass: "login-page sidemenu-hidden", + }) + .when("/invite/:code", { + template: "<react-container/>", + pageClass: "sidemenu-hidden", + resolve: { + component: function () { + return ve(n.e(20).then(n.bind(null, "mwzk"))); + }, + }, + }) + .when("/signup", { + template: "<react-container/>", + resolve: { + component: function () { + return B.a; + }, + }, + pageClass: "sidemenu-hidden", + }) + .when("/user/password/send-reset-email", { + templateUrl: "public/app/partials/reset_password.html", + controller: "ResetPasswordCtrl", + pageClass: "sidemenu-hidden", + }) + .when("/user/password/reset", { + templateUrl: "public/app/partials/reset_password.html", + controller: "ResetPasswordCtrl", + pageClass: "sidemenu-hidden", + }) + .when("/dashboard/snapshots", { + templateUrl: + "public/app/features/manage-dashboards/partials/snapshot_list.html", + controller: "SnapshotListCtrl", + controllerAs: "ctrl", + }) + .when("/plugins", { + template: "<react-container />", + resolve: { + component: function () { + return ve(n.e(18).then(n.bind(null, "mGjS"))); + }, + }, + }) + .when("/plugins/:pluginId/", { + template: "<react-container />", + reloadOnSearch: !1, + resolve: { + component: function () { + return ve(n.e(2).then(n.bind(null, "kYMR"))); + }, + }, + }) + .when("/plugins/:pluginId/page/:slug", { + templateUrl: + "public/app/features/plugins/partials/plugin_page.html", + controller: "AppPageCtrl", + controllerAs: "ctrl", + }) + .when("/alerting", { redirectTo: "/alerting/list" }) + .when("/alerting/list", { + template: "<react-container />", + reloadOnSearch: !1, + resolve: { + component: function () { + return ve(n.e(6).then(n.bind(null, "JRIL"))); + }, + }, + }) + .when("/alerting/notifications", { + templateUrl: + "public/app/features/alerting/partials/notifications_list.html", + controller: "AlertNotificationsListCtrl", + controllerAs: "ctrl", + }) + .when("/alerting/notification/new", { + templateUrl: + "public/app/features/alerting/partials/notification_edit.html", + controller: "AlertNotificationEditCtrl", + controllerAs: "ctrl", + }) + .when("/alerting/notification/:id/edit", { + templateUrl: + "public/app/features/alerting/partials/notification_edit.html", + controller: "AlertNotificationEditCtrl", + controllerAs: "ctrl", + }) + .otherwise({ + templateUrl: "public/app/partials/error.html", + controller: "ErrorCtrl", + }), + (function (e) { + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = T[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + (0, a.value)(e); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + })(e); + } + ye.$inject = ["$routeProvider", "$locationProvider"]; + var we = n("t8hP"), + Oe = n("umNM"); + function xe(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function ke(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? xe(Object(n), !0).forEach(function (t) { + je(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : xe(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function je(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var Se = function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.config = { flushInterval: 1e4, debug: !1 }), + (this.backends = []), + (this.logDebug = function () { + n.config.debug; + }), + (this.flush = function () { + var e = !0, + t = !1, + r = void 0; + try { + for ( + var a, o = n.backends[Symbol.iterator](); + !(e = (a = o.next()).done); + e = !0 + ) { + a.value.flush(); + } + } catch (e) { + (t = !0), (r = e); + } finally { + try { + e || null == o.return || o.return(); + } finally { + if (t) throw r; + } + } + }), + (this.addBackend = function (e) { + n.logDebug("Adding backend", e), n.backends.push(e); + }), + (this.addEvent = function (e, t) { + var r = ke({}, e, { meta: ke({}, n.getMeta(), {}, t) }), + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = n.backends[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + (0 === c.supportedEvents.length || + c.supportedEvents.indexOf(r.type) > -1) && + c.addEvent(r); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + n.logDebug("Adding event", r); + }), + (this.getMeta = function () { + return { + sessionId: "", + userId: Oe.a.user.id, + userLogin: Oe.a.user.login, + userSignedIn: Oe.a.user.isSignedIn, + screenSize: { + width: window.innerWidth, + height: window.innerHeight, + }, + windowSize: { + width: window.screen.width, + height: window.screen.height, + }, + userAgent: window.navigator.userAgent, + ts: new Date().getTime(), + timeSinceNavigationStart: performance.now(), + url: window.location.href, + }; + }), + (this.config = ke({}, this.config, {}, t)), + setInterval(this.flush, this.config.flushInterval); + }, + Ee = function (e, t) { + Object(we.getEchoSrv)().addEvent({ + type: we.EchoEventType.Performance, + payload: { metricName: e, duration: t }, + }); + }; + var Ce = function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.options = t), + (this.buffer = []), + (this.supportedEvents = [we.EchoEventType.Performance]), + (this.addEvent = function (e) { + n.buffer.push(e); + }), + (this.flush = function () { + if (0 !== n.buffer.length) { + n.buffer; + 0, (n.buffer = []); + } + }); + }, + Pe = n("XI+/"), + Te = n.n(Pe), + De = n("T9PE"), + Ae = n("NPB1"), + _e = n("WUic"); + function Ne(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Me = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$compile = t), + (this.$rootScope = n); + } + var t, n, r; + return ( + (e.$inject = ["$compile", "$rootScope"]), + (t = e), + (n = [ + { + key: "load", + value: function (e, t, n) { + var r = this.$rootScope.$new(); + i.a.assign(r, t); + var a = this.$compile(n)(r); + return ( + u.a.element(e).append(a), + { + destroy: function () { + r.$destroy(), a.remove(); + }, + digest: function () { + r.$$phase || r.$digest(); + }, + getScope: function () { + return r; + }, + } + ); + }, + }, + ]) && Ne(t.prototype, n), + r && Ne(t, r), + e + ); + })(); + O.c.service("angularLoader", Me); + var Ie = n("i7Pf"), + Re = n("1mXj"), + Fe = n("sINF"), + Le = n("iODs"); + function Ve(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Be(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var $e = Object(Ie.c)({ + name: "application", + initialState: { logActions: !1 }, + reducers: { + toggleLogActions: function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ve(Object(n), !0).forEach(function (t) { + Be(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Ve(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { logActions: !e.logActions }); + }, + }, + }), + qe = ($e.actions.toggleLogActions, $e.reducer), + Ue = n("ANjH"), + ze = n("zVNn"), + He = n("R9Tc"), + Ge = n("13X4"), + We = n("vMjj"), + Qe = { + navIndex: He.b, + location: Ge.a, + appNotifications: We.a, + application: qe, + }, + Ye = n("qOGI"), + Ke = n("BPIC"), + Je = n("Gz/h"), + Ze = n("BAXh"), + Xe = n("KyLG"), + et = n("m257"), + tt = n("sBLX"), + nt = n("OTXG"), + rt = n("iZOS"), + at = n("QJHg"), + ot = n("66yP"); + function it(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function lt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function st(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + function ct(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ut = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.state = t), + (this.dataFrames = n), + (this.intervalMs = r), + (this.timeZone = a); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getGraphResult", + value: function () { + if (this.state.mode !== g.ExploreMode.Metrics) return null; + var e = this.dataFrames.filter(ft); + return 0 === e.length + ? null + : Object(ot.a)( + e, + this.timeZone, + {}, + { showBars: !1, showLines: !0, showPoints: !1 }, + { asTable: !1, isVisible: !0, placement: "under" } + ); + }, + }, + { + key: "getTableResult", + value: function () { + if (this.state.mode !== g.ExploreMode.Metrics) return null; + var e = this.dataFrames.filter(function (e) { + return !ft(e); + }); + if (0 === e.length) return null; + var t = e.map(function (e) { + for ( + var t = e.fields, + n = t.length, + r = e.length, + a = t.map(function (e) { + return { + text: e.name, + type: e.type, + filterable: e.config.filterable, + }; + }), + o = [], + i = 0; + i < r; + i++ + ) { + for (var l = [], s = 0; s < n; s++) + l.push(e.fields[s].values.get(i)); + o.push(l); + } + return new rt.a({ columns: a, rows: o, meta: e.meta }); + }), + n = rt.b.apply(void 0, [new rt.a()].concat(st(t))), + r = Object(g.toDataFrame)(n), + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = r.fields[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + c.display = Object(g.getDisplayProcessor)({ + field: c, + theme: m.a.theme, + }); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return r; + }, + }, + { + key: "getLogsResult", + value: function () { + if (this.state.mode !== g.ExploreMode.Logs) return null; + var e = Object(at.a)( + this.dataFrames, + this.intervalMs, + this.timeZone + ), + t = Object(et.s)(this.state.refreshInterval), + n = Object(et.w)(e, t); + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? it(Object(n), !0).forEach(function (t) { + lt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : it(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, n, { rows: n.rows, series: n.series }); + }, + }, + ]) && ct(t.prototype, n), + r && ct(t, r), + e + ); + })(); + function ft(e) { + return 2 === e.fields.length && e.fields[1].type === g.FieldType.time; + } + var dt = n("3SGO"); + function pt(e, t) { + return ( + (function (e) { + if (Array.isArray(e)) return e; + })(e) || + (function (e, t) { + if ( + !( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + ) + return; + var n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = e[Symbol.iterator](); + !(r = (i = l.next()).done) && + (n.push(i.value), !t || n.length !== t); + r = !0 + ); + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + return n; + })(e, t) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance" + ); + })() + ); + } + function ht(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function mt(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ht(Object(n), !0).forEach(function (t) { + gt(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : ht(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function gt(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function bt(e) { + return ( + (function (e) { + if (Array.isArray(e)) { + for (var t = 0, n = new Array(e.length); t < e.length; t++) + n[t] = e[t]; + return n; + } + })(e) || + (function (e) { + if ( + Symbol.iterator in Object(e) || + "[object Arguments]" === Object.prototype.toString.call(e) + ) + return Array.from(e); + })(e) || + (function () { + throw new TypeError( + "Invalid attempt to spread non-iterable instance" + ); + })() + ); + } + var vt = { from: "now-6h", to: "now" }, + yt = function () { + return { + containerWidth: 0, + datasourceInstance: null, + requestedDatasourceName: null, + datasourceLoading: null, + datasourceMissing: !1, + history: [], + queries: [], + initialized: !1, + range: { from: null, to: null, raw: vt }, + absoluteRange: { from: null, to: null }, + scanning: !1, + scanRange: null, + showingGraph: !0, + showingTable: !0, + loading: !1, + queryKeys: [], + urlState: null, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + latency: 0, + supportedModes: [], + mode: null, + isLive: !1, + isPaused: !1, + urlReplaced: !1, + queryResponse: wt(), + }; + }, + wt = function () { + return { + state: g.LoadingState.NotStarted, + request: {}, + series: [], + error: null, + timeRange: g.DefaultTimeRange, + }; + }, + Ot = yt(), + xt = { + split: !1, + syncedTimes: !1, + left: Ot, + right: Ot, + richHistory: [], + }, + kt = function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : yt(), + t = arguments.length > 1 ? arguments[1] : void 0; + if (nt.a.match(t)) { + var n = e.queries, + r = t.payload, + a = r.index, + o = r.query, + i = [].concat( + bt(n.slice(0, a + 1)), + [mt({}, o)], + bt(n.slice(a + 1)) + ); + return mt({}, e, { + queries: i, + logsHighlighterExpressions: void 0, + queryKeys: Object(et.m)(i, e.datasourceInstance), + }); + } + if (nt.d.match(t)) { + var l = e.queries, + s = t.payload, + c = s.query, + u = s.index, + f = Object(et.j)(c, l, u), + d = bt(l); + return ( + (d[u] = f), + mt({}, e, { + queries: d, + queryKeys: Object(et.m)(d, e.datasourceInstance), + }) + ); + } + if (nt.g.match(t)) { + var p = t.payload.width; + return mt({}, e, { containerWidth: p }); + } + if (nt.c.match(t)) + return mt({}, e, { + mode: t.payload.mode, + graphResult: null, + tableResult: null, + logsResult: null, + queryResponse: wt(), + loading: !1, + }); + if (nt.f.match(t)) { + var h = t.payload.refreshInterval, + m = ee.RefreshPicker.isLive(h), + b = Object(et.s)(h), + v = Object(et.w)(e.logsResult, b); + return ( + ee.RefreshPicker.isLive(e.refreshInterval) && + !m && + Object(et.x)(e.querySubscription), + mt({}, e, { + refreshInterval: h, + queryResponse: mt({}, e.queryResponse, { + state: m ? g.LoadingState.Streaming : g.LoadingState.Done, + }), + isLive: m, + isPaused: !m && e.isPaused, + loading: m, + logsResult: v, + }) + ); + } + if (nt.h.match(t)) { + var y = Object(et.h)(); + return ( + Object(et.x)(e.querySubscription), + mt({}, e, { + queries: y.slice(), + graphResult: null, + tableResult: null, + logsResult: null, + queryKeys: Object(et.m)(y, e.datasourceInstance), + queryResponse: wt(), + loading: !1, + }) + ); + } + if (nt.i.match(t)) { + var w = t.payload.expressions; + return mt({}, e, { logsHighlighterExpressions: w }); + } + if (nt.k.match(t)) { + var O = t.payload, + x = O.containerWidth, + k = O.eventBridge, + j = O.queries, + S = O.range, + E = O.mode, + C = O.ui, + P = O.originPanelId; + return mt( + {}, + e, + { + containerWidth: x, + eventBridge: k, + range: S, + mode: E, + queries: j, + initialized: !0, + queryKeys: Object(et.m)(j, e.datasourceInstance), + }, + C, + { + originPanelId: P, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + } + ); + } + if (nt.G.match(t)) { + var T = t.payload, + D = T.datasourceInstance, + A = T.version, + _ = T.mode; + Object(et.x)(e.querySubscription); + var N = D.meta; + if (A && A.length && "Loki" === D.meta.name) { + var M = { v0: { metrics: !1 }, v1: { metrics: !0 } }; + N = mt({}, N, {}, M[A]); + } + var I = Object.assign(D, { meta: N }), + R = Et(I, e.mode), + F = pt(R, 2), + L = F[0], + V = F[1]; + return mt({}, e, { + datasourceInstance: I, + graphResult: null, + tableResult: null, + logsResult: null, + latency: 0, + queryResponse: wt(), + loading: !1, + queryKeys: [], + supportedModes: L, + mode: null != _ ? _ : V, + originPanelId: e.urlState && e.urlState.originPanelId, + }); + } + if (nt.l.match(t)) + return mt({}, e, { + datasourceMissing: !0, + datasourceLoading: !1, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + if (nt.m.match(t)) + return mt({}, e, { + datasourceLoading: !0, + requestedDatasourceName: t.payload.requestedDatasourceName, + }); + if (nt.n.match(t)) { + var B = t.payload.history; + return mt({}, e, { + history: B, + datasourceLoading: !1, + datasourceMissing: !1, + logsHighlighterExpressions: void 0, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + } + if (nt.o.match(t)) { + var $, + q = e.queries, + U = t.payload, + z = U.modification, + H = U.index, + G = U.modifier; + return ( + ($ = + void 0 === H + ? q.map(function (e, t) { + var n = G(mt({}, e), z); + return Object(et.j)(n, q, t); + }) + : q.map(function (e, t) { + if (t === H) { + var n = G(mt({}, e), z); + return Object(et.j)(n, q, t); + } + return e; + })), + mt({}, e, { + queries: $, + queryKeys: Object(et.m)($, e.datasourceInstance), + }) + ); + } + if (nt.s.match(t)) { + var W = e.queries, + Q = e.queryKeys, + Y = t.payload.index; + if (W.length <= 1) return e; + var K = [].concat(bt(W.slice(0, Y)), bt(W.slice(Y + 1))), + J = [].concat(bt(Q.slice(0, Y)), bt(Q.slice(Y + 1))); + return mt({}, e, { + queries: K, + logsHighlighterExpressions: void 0, + queryKeys: J, + }); + } + if (nt.v.match(t)) return mt({}, e, { scanning: !0 }); + if (nt.w.match(t)) + return mt({}, e, { + scanning: !1, + scanRange: void 0, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + if (nt.y.match(t)) { + var Z = t.payload.queries; + return mt({}, e, { + queries: Z.slice(), + queryKeys: Object(et.m)(Z, e.datasourceInstance), + }); + } + if (nt.H.match(t)) return mt({}, e, {}, t.payload); + if (nt.D.match(t)) { + var X = !e.showingGraph; + return mt( + {}, + e, + X ? { showingGraph: X } : { showingGraph: X, graphResult: null } + ); + } + if (nt.F.match(t)) { + var te = !e.showingTable; + return mt( + {}, + e, + te + ? { showingTable: te } + : { showingTable: te, tableResult: null } + ); + } + if (nt.p.match(t)) { + var ne = t.payload.queries; + return mt({}, e, { + queries: ne, + queryKeys: Object(et.m)(ne, e.datasourceInstance), + }); + } + if (nt.E.match(t)) { + var re = t.payload.hiddenLogLevels; + return mt({}, e, { hiddenLogLevels: Array.from(re) }); + } + if (nt.j.match(t)) return mt({}, e, { history: t.payload.history }); + if (nt.z.match(t)) return mt({}, e, { urlReplaced: !0 }); + if (nt.e.match(t)) { + var ae = t.payload, + oe = ae.range, + ie = ae.absoluteRange; + return mt({}, e, { + range: oe, + absoluteRange: ie, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + } + if (nt.b.match(t)) { + var le = t.payload.loadingState; + return mt({}, e, { + queryResponse: mt({}, e.queryResponse, { state: le }), + loading: + le === g.LoadingState.Loading || + le === g.LoadingState.Streaming, + }); + } + if (nt.x.match(t)) { + var se = t.payload.isPaused; + return mt({}, e, { isPaused: se }); + } + if (nt.q.match(t)) { + var ce = t.payload.querySubscription; + return mt({}, e, { querySubscription: ce }); + } + return nt.r.match(t) ? jt(e, t) : e; + }, + jt = function (e, t) { + var n = t.payload.response, + r = n.request, + a = n.state, + o = n.series, + i = n.error; + if (i) + return i.cancelled + ? e + : (e.eventBridge.emit(g.PanelEvents.dataError, i), + mt({}, e, { + loading: !1, + queryResponse: n, + graphResult: null, + tableResult: null, + logsResult: null, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + })); + var l = r.endTime ? r.endTime - r.startTime : 0, + s = new ut(e, o, r.intervalMs, r.timezone), + c = s.getGraphResult(), + u = s.getTableResult(), + f = s.getLogsResult(); + if (e.datasourceInstance.components.QueryCtrl) { + var d = o.map(function (e) { + return Object(g.toLegacyResponseData)(e); + }); + e.eventBridge.emit(g.PanelEvents.dataReceived, d); + } + return mt({}, e, { + latency: l, + queryResponse: n, + graphResult: c, + tableResult: u, + logsResult: f, + loading: + a === g.LoadingState.Loading || a === g.LoadingState.Streaming, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + }, + St = function (e, t, n) { + var r = t.path || "", + a = t.query[n]; + if (!a) return e; + var o = Object(et.r)(a); + if (!e.urlState || "/explore" !== r) + return mt({}, e, { + urlState: o, + update: { + datasource: !1, + queries: !1, + range: !1, + mode: !1, + ui: !1, + }, + }); + var l = + !1 === i.a.isEqual(o ? o.datasource : "", e.urlState.datasource), + s = !1 === i.a.isEqual(o ? o.queries : [], e.urlState.queries), + c = !1 === i.a.isEqual(o ? o.range : vt, e.urlState.range), + u = + !1 === + i.a.isEqual(o ? o.mode : g.ExploreMode.Metrics, e.urlState.mode), + f = !1 === i.a.isEqual(o ? o.ui : et.b, e.urlState.ui); + return mt({}, e, { + urlState: o, + update: mt({}, e.update, { + datasource: l, + queries: s, + range: c, + mode: u, + ui: f, + }), + }); + }, + Et = function (e, t) { + var n = e.meta.metrics, + r = e.meta.logs, + a = t || g.ExploreMode.Metrics, + o = []; + return ( + n && o.push(g.ExploreMode.Metrics), + r && o.push(g.ExploreMode.Logs), + 1 === o.length && (a = o[0]), + "Loki" !== e.meta.name || t || (a = g.ExploreMode.Logs), + [o, a] + ); + }, + Ct = { + explore: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : xt, + t = arguments.length > 1 ? arguments[1] : void 0; + if (nt.A.match(t)) { + var n = t.payload, + r = n.itemId, + a = { + left: r === tt.a.left ? e.right : e.left, + right: xt.right, + }; + return mt({}, e, {}, a, { split: !1 }); + } + if (nt.B.match(t)) + return mt({}, e, { + split: !0, + right: mt({}, t.payload.itemState), + }); + if (nt.C.match(t)) + return mt({}, e, { syncedTimes: t.payload.syncedTimes }); + if (nt.u.match(t)) + return mt({}, e, { richHistory: t.payload.richHistory }); + if (nt.t.match(t)) { + var o = t.payload, + i = e[tt.a.left], + l = e[tt.a.right]; + return ( + Object(et.x)(i.querySubscription), + Object(et.x)(l.querySubscription), + o.force || !Number.isInteger(e.left.originPanelId) + ? xt + : mt({}, xt, { + left: mt({}, Ot, { + queries: e.left.queries, + originPanelId: e.left.originPanelId, + }), + }) + ); + } + if (dt.c.match(t)) { + var s, + c = t.payload, + u = c.query; + if (!u || !u[tt.a.left]) return e; + var f = !!u[tt.a.right], + d = e[tt.a.left], + p = e[tt.a.right]; + return mt( + {}, + e, + (gt((s = { split: f }), tt.a.left, St(d, c, tt.a.left)), + gt(s, tt.a.right, St(p, c, tt.a.right)), + s) + ); + } + if (t.payload) { + var h = t.payload.exploreId; + if (void 0 !== h) { + var m = e[h]; + return mt({}, e, gt({}, h, kt(m, t))); + } + } + return e; + }, + }, + Pt = n("y6L2"), + Tt = n("FFN/"), + Dt = n("nABS"), + At = { + orgId: m.b.bootData.user.orgId, + timeZone: m.b.bootData.user.timezone, + }, + _t = { + user: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : At; + arguments.length > 1 && arguments[1]; + return e; + }, + }, + Nt = n("fZn8"), + Mt = n("YiuE"), + It = n("4qJB"), + Rt = n("buVq"), + Ft = n("P20H"), + Lt = function (e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + return n.reduce(function (e, t) { + return t(e); + }, e); + }; + function Vt(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Bt(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Vt(Object(n), !0).forEach(function (t) { + $t(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Vt(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function $t(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var qt = { + uuid: "", + highlightIndex: -1, + queryValue: null, + selectedTags: [], + selectedValues: [], + tags: [], + options: [], + multi: !1, + }, + Ut = function (e) { + return ( + (e.selectedValues = e.options.filter(function (e) { + return e.selected; + })), + e + ); + }, + zt = function (e) { + return Array.isArray(e) ? e.slice(0, Math.min(e.length, 1e3)) : []; + }, + Ht = function (e) { + var t = e.options; + return ( + t.length > 0 && + 0 === + t.filter(function (e) { + return e.selected; + }).length && + (t[0].selected = !0), + e + ); + }, + Gt = Object(Ie.c)({ + name: "templating/optionsPicker", + initialState: qt, + reducers: { + showOptions: function (e, t) { + var n, + r = t.payload, + a = r.query, + i = r.options, + l = r.multi; + if ( + ((e.highlightIndex = -1), + (e.options = Object(o.cloneDeep)(i)), + (e.tags = + ((n = t.payload), + Object(Ft.a)(n) && Array.isArray(n.tags) + ? Object(o.cloneDeep)(n.tags) + : [])), + (e.multi = null != l && l), + (e.uuid = t.payload.uuid), + (e.queryValue = ""), + Object(Ft.a)(t.payload)) + ) { + var s = t.payload.queryValue, + c = Object(It.e)(a); + e.queryValue = c && s ? s : ""; + } + return Lt(e, Ut); + }, + hideOptions: function (e, t) { + return Bt({}, qt); + }, + toggleOption: function (e, t) { + var n = t.payload, + r = n.option, + a = n.forceSelect, + o = n.clearOthers, + i = e.multi, + l = e.options.map(function (e) { + if (e.value !== r.value) { + var t = e.selected; + return ( + e.text === Rt.a || r.text === Rt.a + ? (t = !1) + : i + ? o && (t = !1) + : (t = !1), + (e.selected = t), + e + ); + } + return (e.selected = !!a || !i || !r.selected), e; + }); + return (e.options = l), Lt(e, Ht, Ut); + }, + toggleTag: function (e, t) { + var n = t.payload, + r = n.values || [], + a = !n.selected; + return ( + (e.tags = e.tags.map(function (e) { + return e.text !== n.text + ? e + : ((e.selected = a), + (e.values = r), + a ? (e.valuesText = r.join(" + ")) : delete e.valuesText, + e); + })), + (e.options = e.options.map(function (e) { + return ( + e.value === Rt.b && !0 === a && (e.selected = !1), + -1 === r.indexOf(e.value) ? e : ((e.selected = a), e) + ); + })), + Lt(e, Ht, Ut) + ); + }, + moveOptionsHighlight: function (e, t) { + var n = e.highlightIndex + t.payload; + return ( + n < 0 + ? (n = 0) + : n >= e.options.length && (n = e.options.length - 1), + Bt({}, e, { highlightIndex: n }) + ); + }, + toggleAllOptions: function (e, t) { + var n = !e.options.find(function (e) { + return e.selected; + }); + return ( + (e.options = e.options.map(function (e) { + return Bt({}, e, { selected: n }); + })), + Lt(e, Ut) + ); + }, + updateSearchQuery: function (e, t) { + return (e.queryValue = t.payload), e; + }, + updateOptionsAndFilter: function (e, t) { + var n, + r = (null !== (n = e.queryValue) && void 0 !== n + ? n + : "" + ).toLowerCase(); + return ( + (e.options = zt(t.payload)), + (e.highlightIndex = 0), + (e.options = e.options.filter(function (e) { + return ( + -1 !== + (Array.isArray(e.text) ? e.text.toString() : e.text) + .toLowerCase() + .indexOf(r) + ); + })), + Lt(e, Ut) + ); + }, + updateOptionsFromSearch: function (e, t) { + return ( + (e.options = zt(t.payload)), (e.highlightIndex = 0), Lt(e, Ut) + ); + }, + }, + }), + Wt = Gt.actions, + Qt = Wt.toggleOption, + Yt = Wt.showOptions, + Kt = Wt.hideOptions, + Jt = Wt.toggleTag, + Zt = Wt.moveOptionsHighlight, + Xt = Wt.toggleAllOptions, + en = Wt.updateSearchQuery, + tn = Wt.updateOptionsAndFilter, + nn = Wt.updateOptionsFromSearch, + rn = Gt.reducer, + an = n("dcGt"), + on = n("gKd5"), + ln = { + templating: Object(Ue.combineReducers)({ + optionsPicker: rn, + editor: an.i, + variables: on.b, + }), + }; + function sn(e) { + return (sn = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function cn(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function un(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? cn(Object(n), !0).forEach(function (t) { + fn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : cn(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function fn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var dn = un( + {}, + Qe, + {}, + Ye.a, + {}, + Ke.a, + {}, + Je.b, + {}, + Ze.a, + {}, + Xe.j, + {}, + Ct, + {}, + Pt.a, + {}, + Tt.f, + {}, + Dt.a, + {}, + _t, + {}, + Nt.a, + {}, + Mt.c, + {}, + ln + ), + pn = {}, + hn = function e(t, n) { + for (var r in t) + if (t.hasOwnProperty(r)) { + var a = t[r]; + if (a === n) return (t[r] = void 0), !0; + if ("object" === sn(a)) if (e(a, n)) return !0; + } + return !1; + }; + var mn = n("GkHB"), + gn = n("p+Sq"); + yn.$inject = [ + "playlistSrv", + "contextSrv", + "$timeout", + "$rootScope", + "$location", + ]; + var bn = function e(t, n, r, a, o, l, s, c, u, f, d) { + var p; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (p = d), + Object(we.setAngularLoader)(p), + Object(we.setBackendSrv)(S.b), + Object(we.setDataSourceSrv)(c), + Object(Ae.b)(l), + Object(mn.e)(s), + Object(_e.b)(u), + Object(gn.b)(f); + var h = (function () { + Object(Re.createLogger)({ + predicate: function (e) { + return e().application.logActions; + }, + }); + var e, + t = [Fe.a], + n = Object(Ie.a)({ + reducer: + ((e = Object(Ue.combineReducers)(un({}, dn, {}, pn))), + function (t, n) { + if (n.type !== ze.a.type) return e(t, n); + var r = (0, n.payload.stateSelector)(t); + return hn(t, r), e(t, n); + }), + middleware: t, + devTools: !1, + preloadedState: { navIndex: Object(He.a)() }, + }); + return Object(Le.c)(n), n; + })(); + Object(we.setLocationSrv)({ + update: function (e) { + h.dispatch(Object(dt.c)(e)); + }, + }), + (t.init = function () { + (t.contextSrv = a), + (t.appSubUrl = m.b.appSubUrl), + (t._ = i.a), + De.a.init(m.b, r), + n.init(), + o.init(); + }), + (r.colors = ee.colors), + (r.onAppEvent = function (e, t, n) { + var a; + a = "string" == typeof e ? r.$on(e, t) : r.$on(e.name, t); + var o = this; + 1 !== o.$id || + n || + console.log( + "warning rootScope onAppEvent called without localscope" + ), + n && (o = n), + o.$on("$destroy", a); + }), + (r.appEvent = function (e, t) { + "string" == typeof e + ? (r.$emit(e, t), b.b.emit(e, t)) + : (r.$emit(e.name, t), b.b.emit(e, t)); + }), + t.init(); + }; + function vn(e, t) { + switch ( + (e.removeClass("view-mode--tv"), + e.removeClass("view-mode--kiosk"), + e.removeClass("view-mode--inactive"), + t) + ) { + case "tv": + e.addClass("view-mode--tv"); + break; + case "1": + case !0: + e.addClass("view-mode--kiosk"); + } + } + function yn(e, t, n, r, a) { + return { + restrict: "E", + controller: bn, + link: function (e, t) { + var r, + o = s()("body"); + (s.a.fn.modal.Constructor.prototype.enforceFocus = function () {}), + s()(".preloader").remove(), + b.b.on(j.CoreEvents.toggleSidemenuMobile, function () { + o.toggleClass("sidemenu-open--xs"); + }), + b.b.on(j.CoreEvents.toggleSidemenuHidden, function () { + o.toggleClass("sidemenu-hidden"); + }), + b.b.on(j.CoreEvents.playlistStarted, function () { + t.toggleClass("view-mode--playlist", !0); + }), + b.b.on(j.CoreEvents.playlistStopped, function () { + t.toggleClass("view-mode--playlist", !1); + }), + m.b.phantomJSRenderer && + -1 !== document.cookie.indexOf("renderKey") && + o.addClass("body--phantomjs"), + e.$on("$routeChangeSuccess", function (e, t) { + r && o.removeClass(r), + t.$$route && (r = t.$$route.pageClass) && o.addClass(r), + o.removeClass("sidemenu-open--xs"), + s()("#tooltip, .tooltip").remove(), + vn(o, t.params.kiosk); + var n = !0, + a = !1, + i = void 0; + try { + for ( + var l, c = Te.a.drops[Symbol.iterator](); + !(n = (l = c.next()).done); + n = !0 + ) { + l.value.destroy(); + } + } catch (e) { + (a = !0), (i = e); + } finally { + try { + n || null == c.return || c.return(); + } finally { + if (a) throw i; + } + } + b.b.emit(j.CoreEvents.hideDashSearch); + }), + b.b.on(j.CoreEvents.toggleKioskMode, function (e) { + var t = a.search(); + switch ((e && e.exit && (t.kiosk = "1"), t.kiosk)) { + case "tv": + (t.kiosk = !0), + b.b.emit(g.AppEvents.alertSuccess, [ + "Press ESC to exit Kiosk mode", + ]); + break; + case "1": + case !0: + delete t.kiosk; + break; + default: + t.kiosk = "tv"; + } + n(function () { + return a.search(t); + }), + vn(o, t.kiosk); + }); + var i = new Date().getTime(), + l = !0; + function c() { + l && + o.hasClass("page-dashboard") && + new Date().getTime() - i > 3e5 && + ((l = !1), o.addClass("view-mode--inactive")); + } + function u() { + (i = new Date().getTime()), + l || ((l = !0), o.removeClass("view-mode--inactive")); + } + o.mousemove(u), + o.keydown(u), + document.addEventListener("wheel", u, { + capture: !0, + passive: !0, + }), + document.addEventListener("visibilitychange", u), + setInterval(c, 2e3), + b.b.on(j.CoreEvents.toggleViewMode, function () { + (i = 0), c(); + }), + o.click(function (n) { + var r = s()(n.target); + if (0 !== r.parents().length) { + o.find(".dropdown-menu-open").removeClass( + "dropdown-menu-open" + ); + var a = r.closest("[data-click-hide]"); + if (a.length) { + var i = a.parent(); + a.detach(), + setTimeout(function () { + i.append(a); + }, 100); + } + o.find(".search-container").length > 0 && + 0 === + r.parents( + ".search-results-container, .search-field-wrapper" + ).length && + e.$apply(function () { + e.appEvent(j.CoreEvents.hideDashSearch); + }); + var l = t.find(".popover"); + l.length > 0 && + 0 === r.parents(".graph-legend").length && + l.hide(); + } + }); + }, + }; + } + (bn.$inject = [ + "$scope", + "utilSrv", + "$rootScope", + "contextSrv", + "bridgeSrv", + "timeSrv", + "linkSrv", + "datasourceSrv", + "keybindingSrv", + "dashboardSrv", + "angularLoader", + ]), + (bn.$inject = [ + "$scope", + "utilSrv", + "$rootScope", + "contextSrv", + "bridgeSrv", + "timeSrv", + "linkSrv", + "datasourceSrv", + "keybindingSrv", + "dashboardSrv", + "angularLoader", + ]), + O.c.directive("grafanaApp", yn); + n("xdKY"); + function wn(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function On(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + wn(o, r, a, i, l, "next", e); + } + function l(e) { + wn(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function xn(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function kn(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + var jn = function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.variableTypes = It.i), + (t.ctrl = {}), + (t.namePattern = /^(?!__).*$/), + (t._ = i.a), + (t.optionsLimit = 20), + (t.emptyListCta = { + title: "There are no variables yet", + buttonTitle: "Add variable", + buttonIcon: "gicon gicon-variable", + infoBox: { + __html: + ' <p>\n Variables enable more interactive and dynamic dashboards. Instead of hard-coding things like server or\n sensor names in your metric queries you can use variables in their place. Variables are shown as dropdown\n select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in\n your dashboard. Check out the\n <a class="external-link" href="http://docs.grafana.org/reference/templating/" target="_blank">\n Templating documentation\n </a>\n for more information.\n </p>', + infoBoxTitle: "What do variables do?", + }, + }), + (t.refreshOptions = [ + { value: 0, text: "Never" }, + { value: 1, text: "On Dashboard Load" }, + { value: 2, text: "On Time Range Change" }, + ]), + (t.sortOptions = [ + { value: 0, text: "Disabled" }, + { value: 1, text: "Alphabetical (asc)" }, + { value: 2, text: "Alphabetical (desc)" }, + { value: 3, text: "Numerical (asc)" }, + { value: 4, text: "Numerical (desc)" }, + { value: 5, text: "Alphabetical (case-insensitive, asc)" }, + { value: 6, text: "Alphabetical (case-insensitive, desc)" }, + ]), + (t.hideOptions = [ + { value: 0, text: "" }, + { value: 1, text: "Label" }, + { value: 2, text: "Variable" }, + ]), + (t.selectors = (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? xn(Object(n), !0).forEach(function (t) { + kn(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : xn(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })( + {}, + W.a.pages.Dashboard.Settings.Variables.List.selectors, + {}, + W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors, + {}, + W.a.pages.Dashboard.Settings.Variables.Edit.QueryVariable.selectors, + {}, + W.a.pages.Dashboard.Settings.Variables.Edit.ConstantVariable + .selectors + )), + (t.init = function () { + (t.mode = "list"), + (t.variables = r.variables), + t.reset(), + t.$watch("mode", function (e) { + "new" === e && t.reset(); + }); + }), + (t.setMode = function (e) { + t.mode = e; + }), + (t.setNewMode = function () { + t.setMode("new"); + }), + (t.add = function () { + t.isValid() && (r.addVariable(t.current), t.update()); + }), + (t.isValid = function () { + if (!t.ctrl.form.$valid) return !1; + if (!t.current.name.match(/^\w+$/)) + return ( + b.b.emit(g.AppEvents.alertWarning, [ + "Validation", + "Only word and digit characters are allowed in variable names", + ]), + !1 + ); + var e = i.a.find(t.variables, { name: t.current.name }); + return e && e !== t.current + ? (b.b.emit(g.AppEvents.alertWarning, [ + "Validation", + "Variable with the same name already exists", + ]), + !1) + : "query" !== t.current.type || + !i.a.isString(t.current.query) || + !t.current.query.match( + new RegExp("\\$" + t.current.name + "(/| |$)") + ) || + (b.b.emit(g.AppEvents.alertWarning, [ + "Validation", + "Query cannot contain a reference to itself. Variable: $" + + t.current.name, + ]), + !1); + }), + (t.validate = function () { + (t.infoText = ""), + "adhoc" === t.current.type && + null !== t.current.datasource && + ((t.infoText = + "Adhoc filters are applied automatically to all queries that target this datasource"), + Object(D.a)(t)( + n.get(t.current.datasource).then(function (e) { + e.getTagKeys || + (t.infoText = + "This datasource does not support adhoc filters yet."); + }) + )); + }), + (t.runQuery = function () { + return ( + (t.optionsLimit = 20), + r.updateOptions(t.current).catch(function (e) { + e.data && e.data.message && (e.message = e.data.message), + b.b.emit(g.AppEvents.alertError, [ + "Templating", + "Template variables could not be initialized: " + e.message, + ]); + }) + ); + }), + (t.onQueryChange = function (e, n) { + (t.current.query = e), (t.current.definition = n), t.runQuery(); + }), + (t.edit = function (e) { + (t.current = e), + (t.currentIsNew = !1), + (t.mode = "edit"), + t.validate(), + Object(D.a)(t)( + n.get(t.current.datasource).then(function (e) { + t.currentDatasource = e; + }) + ); + }), + (t.duplicate = function (e) { + var n = i.a.cloneDeep(e.getSaveModel()); + (t.current = r.createVariableFromModel(n)), + (t.current.name = "copy_of_" + e.name), + r.addVariable(t.current); + }), + (t.update = function () { + t.isValid() && + Object(D.a)(t)( + t.runQuery().then(function () { + t.reset(), (t.mode = "list"), a.updateIndex(); + }) + ); + }), + (t.reset = function () { + (t.currentIsNew = !0), + (t.current = r.createVariableFromModel({ type: "query" })), + (t.datasources = i.a.filter(n.getMetricSources(), function (e) { + return !e.meta.mixed && null !== e.value; + })), + (t.datasourceTypes = i()(t.datasources) + .uniqBy("meta.id") + .map(function (e) { + return { text: e.meta.name, value: e.meta.id }; + }) + .value()); + }), + (t.typeChanged = function () { + var e = t.current; + (t.current = r.createVariableFromModel({ type: t.current.type })), + (t.current.name = e.name), + (t.current.label = e.label); + var n = i.a.indexOf(this.variables, e); + -1 !== n && (this.variables[n] = t.current), t.validate(); + }), + (t.removeVariable = function (e) { + r.removeVariable(e); + }), + (t.showMoreOptions = function () { + t.optionsLimit += 20; + }), + (t.datasourceChanged = On( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + Object(D.a)(t)( + n.get(t.current.datasource).then(function (e) { + (t.current.query = ""), (t.currentDatasource = e); + }) + ); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + )); + }; + (jn.$inject = ["$scope", "datasourceSrv", "variableSrv", "templateSrv"]), + (jn.$inject = [ + "$scope", + "datasourceSrv", + "variableSrv", + "templateSrv", + ]), + O.c.controller("VariableEditorCtrl", jn); + var Sn = n("5kRJ"), + En = n("Y8cN"); + function Cn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Pn = (function () { + function e(t, n, r, a, o) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$q = t), + (this.$location = n), + (this.$injector = r), + (this.templateSrv = a), + (this.timeSrv = o), + (this.variables = []); + } + var t, n, r; + return ( + (e.$inject = [ + "$q", + "$location", + "$injector", + "templateSrv", + "timeSrv", + ]), + (t = e), + (n = [ + { + key: "init", + value: function (e) { + var t = this; + (this.dashboard = e), + this.dashboard.events.on( + j.CoreEvents.timeRangeUpdated, + this.onTimeRangeUpdated.bind(this) + ), + this.dashboard.events.on( + j.CoreEvents.templateVariableValueUpdated, + this.updateUrlParamsWithCurrentVariables.bind(this) + ), + (this.variables = e.templating.list = e.templating.list.map( + this.createVariableFromModel.bind(this) + )), + this.templateSrv.init( + this.variables, + this.timeSrv.timeRange() + ); + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = this.variables[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) + o.value.initLock = this.$q.defer(); + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + var l = this.$location.search(); + return this.$q + .all( + this.variables.map(function (e) { + return t.processVariable(e, l); + }) + ) + .then(function () { + t.templateSrv.updateIndex(), + t.templateSrv.setGlobalVariable("__dashboard", { + value: { + name: e.title, + uid: e.uid, + toString: function () { + return this.uid; + }, + }, + }), + t.templateSrv.setGlobalVariable("__org", { + value: { + name: x.b.user.orgName, + id: x.b.user.id, + toString: function () { + return this.id; + }, + }, + }); + }); + }, + }, + { + key: "onTimeRangeUpdated", + value: function (e) { + var t = this; + this.templateSrv.updateTimeRange(e); + var n = this.variables + .filter(function (e) { + return 2 === e.refresh; + }) + .map(function (e) { + var n = e.options.slice(); + return e.updateOptions().then(function () { + u.a.toJson(n) !== u.a.toJson(e.options) && + t.dashboard.templateVariableValueUpdated(); + }); + }); + return this.$q + .all(n) + .then(function () { + t.dashboard.startRefresh(); + }) + .catch(function (e) { + x.a.emit(g.AppEvents.alertError, [ + "Template variable service failed", + e.message, + ]); + }); + }, + }, + { + key: "processVariable", + value: function (e, t) { + var n = this, + r = [], + a = !0, + o = !1, + i = void 0; + try { + for ( + var l, s = this.variables[Symbol.iterator](); + !(a = (l = s.next()).done); + a = !0 + ) { + var c = l.value; + e.dependsOn(c) && r.push(c.initLock.promise); + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + a || null == s.return || s.return(); + } finally { + if (o) throw i; + } + } + return this.$q + .all(r) + .then(function () { + var n = t["var-" + e.name]; + return void 0 !== n + ? e.setValueFromUrl(n).then(e.initLock.resolve) + : 1 === e.refresh || 2 === e.refresh + ? e.updateOptions().then(e.initLock.resolve) + : void e.initLock.resolve(); + }) + .finally(function () { + n.templateSrv.variableInitialized(e), delete e.initLock; + }); + }, + }, + { + key: "createVariableFromModel", + value: function (e) { + var t = It.i[e.type].ctor; + if (!t) + throw { + message: + "Unable to find variable constructor for " + e.type, + }; + return this.$injector.instantiate(t, { model: e }); + }, + }, + { + key: "addVariable", + value: function (e) { + this.variables.push(e), + this.templateSrv.updateIndex(), + this.dashboard.updateSubmenuVisibility(); + }, + }, + { + key: "removeVariable", + value: function (e) { + var t = i.a.indexOf(this.variables, e); + this.variables.splice(t, 1), + this.templateSrv.updateIndex(), + this.dashboard.updateSubmenuVisibility(); + }, + }, + { + key: "updateOptions", + value: function (e) { + return e.updateOptions(); + }, + }, + { + key: "variableUpdated", + value: function (e, t) { + var n = this; + if (e.initLock) return this.$q.when(); + var r = this.createGraph().getNode(e.name), + a = []; + return ( + r && + (a = r.getOptimizedInputEdges().map(function (e) { + return n.updateOptions( + n.variables.find(function (t) { + return t.name === e.inputNode.name; + }) + ); + })), + this.$q.all(a).then(function () { + t && + (n.dashboard.templateVariableValueUpdated(), + n.dashboard.startRefresh()); + }) + ); + }, + }, + { + key: "selectOptionsForCurrentValue", + value: function (e) { + var t, + n, + r, + a, + o = []; + for (t = 0; t < e.options.length; t++) + if ( + (((a = e.options[t]).selected = !1), + i.a.isArray(e.current.value)) + ) + for (n = 0; n < e.current.value.length; n++) + (r = e.current.value[n]), + a.value === r && ((a.selected = !0), o.push(a)); + else + a.value === e.current.value && + ((a.selected = !0), o.push(a)); + return o; + }, + }, + { + key: "validateVariableSelectionState", + value: function (e, t) { + if ( + (e.current || (e.current = {}), i.a.isArray(e.current.value)) + ) { + var n = this.selectOptionsForCurrentValue(e); + return ( + (n = + 0 === n.length + ? e.options[0] + : { + value: i.a.map(n, function (e) { + return e.value; + }), + text: i.a.map(n, function (e) { + return e.text; + }), + }), + e.setValue(n) + ); + } + var r = void 0; + return (r = i.a.find(e.options, { text: e.current.text })) + ? e.setValue(r) + : t && (r = i.a.find(e.options, { text: t })) + ? e.setValue(r) + : e.options + ? e.setValue(e.options[0]) + : Promise.resolve(); + }, + }, + { + key: "setOptionFromUrl", + value: function (e, t) { + var n = this.$q.when(); + return ( + e.refresh && (n = e.updateOptions()), + n.then(function () { + var n = i.a.find(e.options, function (e) { + return e.text === t || e.value === t; + }); + if (!n) { + var r = t, + a = t; + i.a.isArray(t) && + (r = t.reduce(function (t, n) { + var r = i.a.find(e.options, { value: n }); + return r ? t.push(r.text) : t.push(n), t; + }, [])), + (n = { text: r, value: a }); + } + return ( + e.multi && + (n = { + text: i.a.castArray(n.text), + value: i.a.castArray(n.value), + }), + e.setValue(n) + ); + }) + ); + }, + }, + { + key: "setOptionAsCurrent", + value: function (e, t) { + return ( + (e.current = i.a.cloneDeep(t)), + i.a.isArray(e.current.text) && e.current.text.length > 0 + ? (e.current.text = e.current.text.join(" + ")) + : i.a.isArray(e.current.value) && + "$__all" !== e.current.value[0] && + (e.current.text = e.current.value.join(" + ")), + this.selectOptionsForCurrentValue(e), + this.variableUpdated(e) + ); + }, + }, + { + key: "templateVarsChangedInUrl", + value: function (e) { + var t = this, + n = [], + r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = this.variables[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value, + c = "var-".concat(s.name); + e.hasOwnProperty(c) && + this.isVariableUrlValueDifferentFromCurrent(s, e[c]) && + n.push(s.setValueFromUrl(e[c])); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + n.length && + Promise.all(n).then(function () { + t.dashboard.templateVariableValueUpdated(), + t.dashboard.startRefresh(); + }); + }, + }, + { + key: "isVariableUrlValueDifferentFromCurrent", + value: function (e, t) { + return !i.a.isEqual(e.getValueForUrl(), t); + }, + }, + { + key: "updateUrlParamsWithCurrentVariables", + value: function () { + var e = this.$location.search(); + i.a.each(e, function (t, n) { + 0 === n.indexOf("var-") && delete e[n]; + }), + this.templateSrv.fillVariableValuesForUrl(e), + this.$location.search(e); + }, + }, + { + key: "setAdhocFilter", + value: function (e) { + var t = i.a.find(this.variables, { + type: "adhoc", + datasource: e.datasource, + }); + t || + ((t = this.createVariableFromModel({ + name: "Filters", + type: "adhoc", + datasource: e.datasource, + })), + this.addVariable(t)); + var n = t.filters, + r = i.a.find(n, { key: e.key, value: e.value }); + r || ((r = { key: e.key, value: e.value }), n.push(r)), + (r.operator = e.operator), + this.variableUpdated(t, !0); + }, + }, + { + key: "createGraph", + value: function () { + var e = this, + t = new En.a(); + return ( + this.variables.forEach(function (e) { + t.createNode(e.name); + }), + this.variables.forEach(function (n) { + e.variables.forEach(function (e) { + n !== e && n.dependsOn(e) && t.link(n.name, e.name); + }); + }), + t + ); + }, + }, + ]) && Cn(t.prototype, n), + r && Cn(t, r), + e + ); + })(); + O.c.service("variableSrv", Pn); + var Tn = n("PbtU"); + function Dn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var An = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.timeSrv = n), + (this.templateSrv = r), + (this.variableSrv = a), + (this.defaults = { + type: "interval", + name: "", + label: "", + hide: It.a.dontHide, + skipUrlSync: !1, + auto_count: 30, + auto_min: "10s", + options: [], + auto: !1, + query: "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d", + refresh: It.b.onTimeRangeChanged, + current: {}, + }), + Object(It.d)(this, t, this.defaults), + (this.refresh = It.b.onTimeRangeChanged); + } + var t, n, r; + return ( + (e.$inject = ["model", "timeSrv", "templateSrv", "variableSrv"]), + (t = e), + (n = [ + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), this.model + ); + }, + }, + { + key: "setValue", + value: function (e) { + return ( + this.updateAutoValue(), + this.variableSrv.setOptionAsCurrent(this, e) + ); + }, + }, + { + key: "updateAutoValue", + value: function () { + if (this.auto) { + this.options.length && + "auto" !== this.options[0].text && + this.options.unshift({ + text: "auto", + value: "$__auto_interval_" + this.name, + selected: !1, + }); + var e = Tn.a.calculateInterval( + this.timeSrv.timeRange(), + this.auto_count, + this.auto_min + ); + this.templateSrv.setGrafanaVariable( + "$__auto_interval_" + this.name, + e.interval + ), + this.templateSrv.setGrafanaVariable( + "$__auto_interval", + e.interval + ); + } + }, + }, + { + key: "updateOptions", + value: function () { + return ( + (this.options = i.a.map( + this.query.match(/(["'])(.*?)\1|\w+/g), + function (e) { + return { + text: (e = e.replace(/["']+/g, "")).trim(), + value: e.trim(), + selected: !1, + }; + } + )), + this.updateAutoValue(), + this.variableSrv.validateVariableSelectionState(this) + ); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !1; + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return ( + this.updateAutoValue(), + this.variableSrv.setOptionFromUrl(this, e) + ); + }, + }, + { + key: "getValueForUrl", + value: function () { + return this.current.value; + }, + }, + ]) && Dn(t.prototype, n), + r && Dn(t, r), + e + ); + })(); + function _n(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.interval = { + name: "Interval", + ctor: An, + description: "Define a timespan interval (ex 1m, 1h, 1d)", + }; + var Nn = (function () { + function e(t, n, r, a, o) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.datasourceSrv = n), + (this.templateSrv = r), + (this.variableSrv = a), + (this.timeSrv = o), + (this.defaults = { + type: "query", + name: "", + label: null, + hide: It.a.dontHide, + skipUrlSync: !1, + datasource: null, + query: "", + regex: "", + sort: It.c.disabled, + refresh: It.b.never, + multi: !1, + includeAll: !1, + allValue: null, + options: [], + current: {}, + tags: [], + useTags: !1, + tagsQuery: "", + tagValuesQuery: "", + definition: "", + index: -1, + }), + Object(It.d)(this, t, this.defaults), + this.updateOptionsFromMetricFindQuery.bind(this); + } + var t, n, r; + return ( + (e.$inject = [ + "model", + "datasourceSrv", + "templateSrv", + "variableSrv", + "timeSrv", + ]), + (t = e), + (n = [ + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), + 0 !== this.refresh && (this.model.options = []), + this.model + ); + }, + }, + { + key: "setValue", + value: function (e) { + return this.variableSrv.setOptionAsCurrent(this, e); + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return this.variableSrv.setOptionFromUrl(this, e); + }, + }, + { + key: "getValueForUrl", + value: function () { + return "All" === this.current.text ? "All" : this.current.value; + }, + }, + { + key: "updateOptions", + value: function (e) { + var t, + n = this; + return this.datasourceSrv + .get(null !== (t = this.datasource) && void 0 !== t ? t : "") + .then(function (t) { + return n.updateOptionsFromMetricFindQuery(t, e); + }) + .then(this.updateTags.bind(this)) + .then( + this.variableSrv.validateVariableSelectionState.bind( + this.variableSrv, + this + ) + ); + }, + }, + { + key: "updateTags", + value: function (e) { + var t = this; + return this.useTags + ? this.metricFindQuery(e, this.tagsQuery).then(function (n) { + t.tags = []; + for (var r = 0; r < n.length; r++) t.tags.push(n[r].text); + return e; + }) + : (delete this.tags, e); + }, + }, + { + key: "getValuesForTag", + value: function (e) { + var t, + n = this; + return this.datasourceSrv + .get(null !== (t = this.datasource) && void 0 !== t ? t : "") + .then(function (t) { + var r = n.tagValuesQuery.replace("$tag", e); + return n.metricFindQuery(t, r).then(function (e) { + return i.a.map(e, function (e) { + return e.text; + }); + }); + }); + }, + }, + { + key: "updateOptionsFromMetricFindQuery", + value: function (e, t) { + var n = this; + return this.metricFindQuery(e, this.query, t).then(function ( + t + ) { + return ( + (n.options = n.metricNamesToVariableValues(t)), + n.includeAll && n.addAllOption(), + n.options.length || + n.options.push({ + text: "None", + value: "", + isNone: !0, + selected: !1, + }), + e + ); + }); + }, + }, + { + key: "metricFindQuery", + value: function (e, t, n) { + var r = { range: void 0, variable: this, searchFilter: n }; + return ( + 2 === this.refresh && (r.range = this.timeSrv.timeRange()), + e.metricFindQuery(t, r) + ); + }, + }, + { + key: "addAllOption", + value: function () { + this.options.unshift({ + text: "All", + value: "$__all", + selected: !1, + }); + }, + }, + { + key: "metricNamesToVariableValues", + value: function (e) { + var t, n, r, a; + for ( + n = [], + this.regex && + (t = Object(g.stringToJsRegex)( + this.templateSrv.replace(this.regex, {}, "regex") + )), + r = 0; + r < e.length; + r++ + ) { + var o = e[r], + l = void 0 === o.text || null === o.text ? o.value : o.text, + s = + void 0 === o.value || null === o.value ? o.text : o.value; + if ( + (i.a.isNumber(s) && (s = s.toString()), + i.a.isNumber(l) && (l = l.toString()), + t) + ) { + if (!(a = t.exec(s))) continue; + a.length > 1 && ((s = a[1]), (l = a[1])); + } + n.push({ text: l, value: s }); + } + return ( + (n = i.a.uniqBy(n, "value")), + this.sortVariableValues(n, this.sort) + ); + }, + }, + { + key: "sortVariableValues", + value: function (e, t) { + if (0 === t) return e; + var n = Math.ceil(t / 2), + r = t % 2 == 0; + return ( + 1 === n + ? (e = i.a.sortBy(e, "text")) + : 2 === n + ? (e = i.a.sortBy(e, function (e) { + var t = e.text.match(/.*?(\d+).*/); + return !t || t.length < 2 ? -1 : parseInt(t[1], 10); + })) + : 3 === n && + (e = i.a.sortBy(e, function (e) { + return i.a.toLower(e.text); + })), + r && (e = e.reverse()), + e + ); + }, + }, + { + key: "dependsOn", + value: function (e) { + return Object(It.f)( + this.query, + this.datasource, + this.regex, + e.name + ); + }, + }, + ]) && _n(t.prototype, n), + r && _n(t, r), + e + ); + })(); + function Mn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.query = { + name: "Query", + ctor: Nn, + description: "Variable values are fetched from a datasource query", + supportsMulti: !0, + }; + var In = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.datasourceSrv = n), + (this.variableSrv = r), + (this.templateSrv = a), + (this.defaults = { + type: "datasource", + name: "", + hide: 0, + label: "", + current: {}, + regex: "", + options: [], + query: "", + multi: !1, + includeAll: !1, + refresh: 1, + skipUrlSync: !1, + }), + Object(It.d)(this, t, this.defaults), + (this.refresh = 1); + } + var t, n, r; + return ( + (e.$inject = [ + "model", + "datasourceSrv", + "variableSrv", + "templateSrv", + ]), + (t = e), + (n = [ + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), + (this.model.options = []), + this.model + ); + }, + }, + { + key: "setValue", + value: function (e) { + return this.variableSrv.setOptionAsCurrent(this, e); + }, + }, + { + key: "updateOptions", + value: function () { + var e, + t = [], + n = this.datasourceSrv.getMetricSources({ + skipVariables: !0, + }); + this.regex && + ((e = this.templateSrv.replace(this.regex, void 0, "regex")), + (e = Object(g.stringToJsRegex)(e))); + for (var r = 0; r < n.length; r++) { + var a = n[r]; + a.meta.id === this.query && + ((e && !e.exec(a.name)) || + t.push({ text: a.name, value: a.name, selected: !1 })); + } + 0 === t.length && + t.push({ + text: "No data sources found", + value: "", + selected: !1, + }), + (this.options = t), + this.includeAll && this.addAllOption(); + var o = we.config.bootData.settings.defaultDatasource; + return this.variableSrv.validateVariableSelectionState(this, o); + }, + }, + { + key: "addAllOption", + value: function () { + this.options.unshift({ + text: "All", + value: "$__all", + selected: !1, + }); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !!this.regex && Object(It.f)(this.regex, e.name); + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return this.variableSrv.setOptionFromUrl(this, e); + }, + }, + { + key: "getValueForUrl", + value: function () { + return "All" === this.current.text ? "All" : this.current.value; + }, + }, + ]) && Mn(t.prototype, n), + r && Mn(t, r), + e + ); + })(); + function Rn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.datasource = { + name: "Datasource", + ctor: In, + supportsMulti: !0, + description: + "Enabled you to dynamically switch the datasource for multiple panels", + }; + var Fn = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.variableSrv = n), + (this.defaults = { + type: "custom", + name: "", + label: "", + hide: It.a.dontHide, + skipUrlSync: !1, + query: "", + options: [], + includeAll: !1, + multi: !1, + current: {}, + allValue: null, + }), + Object(It.d)(this, t, this.defaults); + } + var t, n, r; + return ( + (e.$inject = ["model", "variableSrv"]), + (t = e), + (n = [ + { + key: "setValue", + value: function (e) { + return this.variableSrv.setOptionAsCurrent(this, e); + }, + }, + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), this.model + ); + }, + }, + { + key: "updateOptions", + value: function () { + return ( + (this.options = i.a.map( + this.query.match(/(?:\\,|[^,])+/g), + function (e) { + return { + text: (e = e.replace(/\\,/g, ",")).trim(), + value: e.trim(), + selected: !1, + }; + } + )), + this.includeAll && this.addAllOption(), + this.variableSrv.validateVariableSelectionState(this) + ); + }, + }, + { + key: "addAllOption", + value: function () { + this.options.unshift({ + text: "All", + value: "$__all", + selected: !1, + }); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !1; + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return this.variableSrv.setOptionFromUrl(this, e); + }, + }, + { + key: "getValueForUrl", + value: function () { + return "All" === this.current.text ? "All" : this.current.value; + }, + }, + ]) && Rn(t.prototype, n), + r && Rn(t, r), + e + ); + })(); + function Ln(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.custom = { + name: "Custom", + ctor: Fn, + description: "Define variable values manually", + supportsMulti: !0, + }; + var Vn = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.variableSrv = n), + (this.defaults = { + type: "constant", + name: "", + hide: It.a.hideVariable, + label: "", + query: "", + current: {}, + options: [], + skipUrlSync: !1, + }), + Object(It.d)(this, t, this.defaults); + } + var t, n, r; + return ( + (e.$inject = ["model", "variableSrv"]), + (t = e), + (n = [ + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), this.model + ); + }, + }, + { + key: "setValue", + value: function (e) { + this.variableSrv.setOptionAsCurrent(this, e); + }, + }, + { + key: "updateOptions", + value: function () { + return ( + (this.options = [ + { + text: this.query.trim(), + value: this.query.trim(), + selected: !1, + }, + ]), + this.setValue(this.options[0]), + Promise.resolve() + ); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !1; + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return this.variableSrv.setOptionFromUrl(this, e); + }, + }, + { + key: "getValueForUrl", + value: function () { + return this.current.value; + }, + }, + ]) && Ln(t.prototype, n), + r && Ln(t, r), + e + ); + })(); + function Bn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.constant = { + name: "Constant", + ctor: Vn, + description: + "Define a hidden constant variable, useful for metric prefixes in dashboards you want to share", + }; + var $n = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.defaults = { + type: "adhoc", + name: "", + label: "", + hide: It.a.dontHide, + skipUrlSync: !1, + datasource: null, + filters: [], + }), + Object(It.d)(this, t, this.defaults); + } + var t, n, r; + return ( + (e.$inject = ["model"]), + (t = e), + (n = [ + { + key: "setValue", + value: function (e) { + return Promise.resolve(); + }, + }, + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), this.model + ); + }, + }, + { + key: "updateOptions", + value: function () { + return Promise.resolve(); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !1; + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + var t = this; + return ( + i.a.isArray(e) || (e = [e]), + (this.filters = e.map(function (e) { + var n = e.split("|").map(function (e) { + return t.unescapeDelimiter(e); + }); + return { + key: n[0], + operator: n[1], + value: n[2], + condition: "", + }; + })), + Promise.resolve() + ); + }, + }, + { + key: "getValueForUrl", + value: function () { + var e = this; + return this.filters.map(function (t) { + return [t.key, t.operator, t.value] + .map(function (t) { + return e.escapeDelimiter(t); + }) + .join("|"); + }); + }, + }, + { + key: "escapeDelimiter", + value: function (e) { + return e.replace(/\|/g, "__gfp__"); + }, + }, + { + key: "unescapeDelimiter", + value: function (e) { + return e.replace(/__gfp__/g, "|"); + }, + }, + { + key: "setFilters", + value: function (e) { + this.filters = e; + }, + }, + ]) && Bn(t.prototype, n), + r && Bn(t, r), + e + ); + })(); + function qn(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + It.i.adhoc = { + name: "Ad hoc filters", + ctor: $n, + description: "Add key/value filters on the fly", + }; + var Un = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.model = t), + (this.variableSrv = n), + (this.defaults = { + type: "textbox", + name: "", + label: "", + hide: It.a.dontHide, + query: "", + current: {}, + options: [], + skipUrlSync: !1, + }), + Object(It.d)(this, t, this.defaults); + } + var t, n, r; + return ( + (e.$inject = ["model", "variableSrv"]), + (t = e), + (n = [ + { + key: "getSaveModel", + value: function () { + return ( + Object(It.d)(this.model, this, this.defaults), this.model + ); + }, + }, + { + key: "setValue", + value: function (e) { + this.variableSrv.setOptionAsCurrent(this, e); + }, + }, + { + key: "updateOptions", + value: function () { + return ( + (this.options = [ + { + text: this.query.trim(), + value: this.query.trim(), + selected: !1, + }, + ]), + (this.current = this.options[0]), + Promise.resolve() + ); + }, + }, + { + key: "dependsOn", + value: function (e) { + return !1; + }, + }, + { + key: "setValueFromUrl", + value: function (e) { + return ( + (this.query = e), this.variableSrv.setOptionFromUrl(this, e) + ); + }, + }, + { + key: "getValueForUrl", + value: function () { + return this.current.value; + }, + }, + ]) && qn(t.prototype, n), + r && qn(t, r), + e + ); + })(); + It.i.textbox = { + name: "Text box", + ctor: Un, + description: + "Define a textbox variable, where users can enter any arbitrary string", + }; + var zn = n("+CPp"), + Hn = n("BkRI"), + Gn = n.n(Hn), + Wn = { + uuid: Rt.c, + global: !1, + index: -1, + type: "query", + name: "", + label: null, + hide: It.a.dontHide, + skipUrlSync: !1, + datasource: null, + query: "", + regex: "", + sort: It.c.disabled, + refresh: It.b.never, + multi: !1, + includeAll: !1, + allValue: null, + options: [], + current: {}, + tags: [], + useTags: !1, + tagsQuery: "", + tagValuesQuery: "", + definition: "", + initLock: null, + }, + Qn = function (e, t, n) { + var r, + a, + o, + l = []; + for ( + e && (r = Object(g.stringToJsRegex)(Sn.b.replace(e, {}, "regex"))), + a = 0; + a < n.length; + a++ + ) { + var s = n[a], + c = void 0 === s.text || null === s.text ? s.value : s.text, + u = void 0 === s.value || null === s.value ? s.text : s.value; + if ( + (i.a.isNumber(u) && (u = u.toString()), + i.a.isNumber(c) && (c = c.toString()), + r) + ) { + if (!(o = r.exec(u))) continue; + o.length > 1 && ((u = o[1]), (c = o[1])); + } + l.push({ text: c, value: u, selected: !1 }); + } + return (function (e, t) { + if (t === It.c.disabled) return e; + var n = Math.ceil(t / 2), + r = t % 2 == 0; + return ( + 1 === n + ? (e = i.a.sortBy(e, "text")) + : 2 === n + ? (e = i.a.sortBy(e, function (e) { + var t = e.text.match(/.*?(\d+).*/); + return !t || t.length < 2 ? -1 : parseInt(t[1], 10); + })) + : 3 === n && + (e = i.a.sortBy(e, function (e) { + return i.a.toLower(e.text); + })), + r && (e = e.reverse()), + e + ); + })((l = i.a.uniqBy(l, "value")), t); + }, + Yn = Object(Ie.c)({ + name: "templating/query", + initialState: on.a, + reducers: { + updateVariableOptions: function (e, t) { + var n = t.payload.data, + r = Object(Rt.f)(e, t.payload.uuid), + a = r.regex, + o = r.includeAll, + i = r.sort, + l = Qn(a, i, n); + o && l.unshift({ text: Rt.a, value: Rt.b, selected: !1 }), + l.length || + l.push({ text: Rt.d, value: Rt.e, isNone: !0, selected: !1 }), + (r.options = l); + }, + updateVariableTags: function (e, t) { + for ( + var n = Object(Rt.f)(e, t.payload.uuid), + r = t.payload.data, + a = [], + o = 0; + o < r.length; + o++ + ) + a.push({ text: r[o].text, selected: !1 }); + n.tags = a; + }, + }, + }), + Kn = Yn.reducer, + Jn = Yn.actions, + Zn = Jn.updateVariableOptions, + Xn = Jn.updateVariableTags, + er = n("M/8g"), + tr = n("/MKj"); + function nr(e) { + return (nr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function rr(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ar(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function or(e, t) { + return !t || ("object" !== nr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ir(e) { + return (ir = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function lr(e, t) { + return (lr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var sr, + cr = (function (e) { + function t() { + var e, n; + rr(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = or( + this, + (e = ir(t)).call.apply(e, [this].concat(a)) + )).onClick = function (e) { + e.stopPropagation(), e.preventDefault(), n.props.onClick(); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && lr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.tags, + n = void 0 === t ? [] : t, + r = e.text; + return d.a.createElement( + "a", + { + onClick: this.onClick, + className: "variable-value-link", + "aria-label": W.a.pages.Dashboard.SubMenu.selectors.submenuItemValueDropDownValueLinkTexts( + "".concat(r) + ), + }, + r, + n.map(function (e) { + var t = Object(ee.getTagColorsFromName)( + e.text.toString() + ), + n = t.color, + r = t.borderColor; + return d.a.createElement( + "span", + { + "bs-tooltip": "tag.valuesText", + "data-placement": "bottom", + key: "".concat(e.text), + }, + d.a.createElement( + "span", + { + className: "label-tag", + style: { backgroundColor: n, borderColor: r }, + }, + " ", + d.a.createElement("i", { className: "fa fa-tag" }), + " ", + e.text + ) + ); + }), + d.a.createElement("i", { + className: "fa fa-caret-down", + style: { fontSize: "12px" }, + }) + ); + }, + }, + ]) && ar(n.prototype, r), + a && ar(n, a), + t + ); + })(f.PureComponent); + function ur(e) { + return (ur = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function fr(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function dr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function pr(e, t) { + return !t || ("object" !== ur(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function hr(e) { + return (hr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function mr(e, t) { + return (mr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + !(function (e) { + (e[(e.moveUp = 38)] = "moveUp"), + (e[(e.moveDown = 40)] = "moveDown"), + (e[(e.select = 32)] = "select"), + (e[(e.cancel = 27)] = "cancel"), + (e[(e.selectAndClose = 13)] = "selectAndClose"); + })(sr || (sr = {})); + var gr = (function (e) { + function t() { + var e, n; + fr(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = pr( + this, + (e = hr(t)).call.apply(e, [this].concat(a)) + )).onKeyDown = function (e) { + if (sr[e.keyCode]) { + var t = e.ctrlKey || e.metaKey || e.shiftKey; + n.props.onNavigate(e.keyCode, t); + } + }), + (n.onChange = function (e) { + n.shouldUpdateValue(e.target.value) && + n.props.onChange(e.target.value); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && mr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "shouldUpdateValue", + value: function (e) { + var t; + return ( + Object(o.trim)(null != e ? e : "").length > 0 || + Object(o.trim)( + null !== (t = this.props.value) && void 0 !== t ? t : "" + ).length > 0 + ); + }, + }, + { + key: "render", + value: function () { + var e; + return d.a.createElement("input", { + ref: function (e) { + e && + (e.focus(), + e.setAttribute( + "style", + "width:".concat(Math.max(e.width, 80), "px") + )); + }, + type: "text", + className: "gf-form-input", + value: + null !== (e = this.props.value) && void 0 !== e ? e : "", + onChange: this.onChange, + onKeyDown: this.onKeyDown, + }); + }, + }, + ]) && dr(n.prototype, r), + a && dr(n, a), + t + ); + })(f.PureComponent), + br = n("sEfC"), + vr = n.n(br), + yr = n("Yyu/"), + wr = n("mpro"); + function Or(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function xr(e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Or(Object(n), !0).forEach(function (t) { + kr(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) + : Or(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + } + function kr(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function jr(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Sr(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + jr(o, r, a, i, l, "next", e); + } + function l(e) { + jr(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var Er = function () { + return (function () { + var e = Sr( + regeneratorRuntime.mark(function e(t, n) { + var r, a, o, i, l, s; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = n().templating.optionsPicker), + (a = Object(yr.a)(r.uuid, n())), + (o = { option: _r(r) }), + (i = { + propName: "queryValue", + propValue: r.queryValue, + }), + t(Object(wr.j)(Object(Rt.h)(a, o))), + t(Object(wr.d)(Object(Rt.h)(a, i))), + (l = Object(yr.a)(r.uuid, n())), + a.current.text !== l.current.text) + ) { + e.next = 9; + break; + } + return e.abrupt("return", t(Kt())); + case 9: + return ( + (s = zn.a.get(l.type)), + (e.next = 12), + s.setValue(l, l.current, !0) + ); + case 12: + return e.abrupt("return", t(Kt())); + case 13: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + }, + Cr = function (e) { + return function (t, n) { + var r = n().templating.optionsPicker, + a = r.uuid, + o = r.highlightIndex, + i = Object(yr.a)(a, n()).options[o]; + t(Qt({ option: i, forceSelect: !1, clearOthers: e })); + }; + }, + Pr = function (e) { + return (function () { + var t = Sr( + regeneratorRuntime.mark(function t(n, r) { + var a, o, i, l, s, c, u; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (o = r().templating.optionsPicker), + (i = Object(yr.a)(o.uuid, r())), + (t.next = 4), + Object(we.getDataSourceSrv)().get( + null !== (a = i.datasource) && void 0 !== a ? a : "" + ) + ); + case 4: + if ( + ((l = t.sent), + (s = i.tagValuesQuery.replace("$tag", e)), + (c = { range: Tr(i), variable: i }), + l.metricFindQuery) + ) { + t.next = 9; + break; + } + return t.abrupt("return", []); + case 9: + return (t.next = 11), l.metricFindQuery(s, c); + case 11: + if (((u = t.sent), Array.isArray(u))) { + t.next = 14; + break; + } + return t.abrupt("return", []); + case 14: + return t.abrupt( + "return", + u.map(function (e) { + return e.text; + }) + ); + case 15: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + Tr = function (e) { + if (e.refresh === It.b.onTimeRangeChanged) + return Object(Ae.a)().timeRange(); + }, + Dr = (function () { + var e = Sr( + regeneratorRuntime.mark(function e(t, n, r) { + var a, o, i, l; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (a = n().templating.optionsPicker.uuid), + (o = Object(yr.a)(a, n())), + (i = zn.a.get(o.type)), + (e.next = 6), + i.updateOptions(o, r) + ); + case 6: + (l = Object(yr.a)(a, n())), + t(nn(l.options)), + (e.next = 13); + break; + case 10: + (e.prev = 10), (e.t0 = e.catch(0)), console.error(e.t0); + case 13: + case "end": + return e.stop(); + } + }, + e, + null, + [[0, 10]] + ); + }) + ); + return function (t, n, r) { + return e.apply(this, arguments); + }; + })(), + Ar = vr()(Dr, 500); + function _r(e) { + var t = e.options, + n = e.queryValue, + r = e.multi; + if (0 === t.length && n && n.length > 0) + return { text: n, value: n, selected: !1 }; + if (!r) + return t.find(function (e) { + return e.selected; + }); + var a = [], + o = [], + i = !0, + l = !1, + s = void 0; + try { + for ( + var c, u = t[Symbol.iterator](); + !(i = (c = u.next()).done); + i = !0 + ) { + var f = c.value; + f.selected && + (a.push(f.text.toString()), o.push(f.value.toString())); + } + } catch (e) { + (l = !0), (s = e); + } finally { + try { + i || null == u.return || u.return(); + } finally { + if (l) throw s; + } + } + return { + value: o, + text: a.join(" + "), + tags: e.tags.filter(function (e) { + return e.selected; + }), + selected: !0, + }; + } + function Nr(e) { + return (Nr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Mr(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ir(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Rr(e, t) { + return !t || ("object" !== Nr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Fr(e) { + return (Fr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Lr(e, t) { + return (Lr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Vr = (function (e) { + function t() { + var e, n; + Mr(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Rr( + this, + (e = Fr(t)).call.apply(e, [this].concat(a)) + )).onToggle = function (e) { + return function (t) { + var r = t.shiftKey || t.ctrlKey || t.metaKey; + n.handleEvent(t), n.props.onToggle(e, r); + }; + }), + (n.onToggleAll = function (e) { + n.handleEvent(e), n.props.onToggleAll(); + }), + (n.onToggleTag = function (e) { + return function (t) { + n.handleEvent(t), n.props.onToggleTag(e); + }; + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Lr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "handleEvent", + value: function (e) { + e.preventDefault(), e.stopPropagation(); + }, + }, + { + key: "render", + value: function () { + var e = this, + t = this.props, + n = t.multi, + r = t.values, + a = t.tags; + return d.a.createElement( + "div", + { + className: "".concat( + n + ? "variable-value-dropdown multi" + : "variable-value-dropdown single" + ), + "aria-label": + W.a.pages.Dashboard.SubMenu.selectors + .submenuItemValueDropDownDropDown, + }, + d.a.createElement( + "div", + { className: "variable-options-wrapper" }, + d.a.createElement( + "div", + { className: "variable-options-column" }, + this.renderMultiToggle(), + r.map(function (t, n) { + return e.renderOption(t, n); + }) + ), + this.renderTags(a) + ) + ); + }, + }, + { + key: "renderTags", + value: function (e) { + var t = this; + return 0 === e.length + ? null + : d.a.createElement( + "div", + { className: "variable-options-column" }, + d.a.createElement( + "div", + { + className: + "variable-options-column-header text-center", + }, + "Tags" + ), + e.map(function (e) { + return t.renderTag(e); + }) + ); + }, + }, + { + key: "renderTag", + value: function (e) { + var t = Object(ee.getTagColorsFromName)(e.text.toString()), + n = t.color, + r = t.borderColor; + return d.a.createElement( + "a", + { + key: "".concat(e.text), + className: "".concat( + e.selected + ? "variable-option-tag pointer selected" + : "variable-option-tag pointer" + ), + onClick: this.onToggleTag(e), + }, + d.a.createElement("span", { + className: "fa fa-fw variable-option-icon", + }), + d.a.createElement( + "span", + { + className: "label-tag", + style: { backgroundColor: n, borderColor: r }, + }, + e.text, + " ", + d.a.createElement("i", { className: "fa fa-tag" }), + " " + ) + ); + }, + }, + { + key: "renderOption", + value: function (e, t) { + var n = this.props.highlightIndex, + r = e.selected + ? "variable-option pointer selected" + : "variable-option pointer", + a = t === n ? "".concat(r, " highlighted") : r; + return d.a.createElement( + "a", + { + key: "".concat(e.value), + className: a, + onClick: this.onToggle(e), + }, + d.a.createElement("span", { + className: "variable-option-icon", + }), + d.a.createElement( + "span", + { + "aria-label": W.a.pages.Dashboard.SubMenu.selectors.submenuItemValueDropDownOptionTexts( + "".concat(e.text) + ), + }, + e.text + ) + ); + }, + }, + { + key: "renderMultiToggle", + value: function () { + var e = this.props, + t = e.multi, + n = e.selectedValues; + return t + ? d.a.createElement( + ee.Tooltip, + { content: "Clear selections", placement: "top" }, + d.a.createElement( + "a", + { + className: "".concat( + n.length > 1 + ? "variable-options-column-header many-selected" + : "variable-options-column-header" + ), + onClick: this.onToggleAll, + "data-placement": "top", + }, + d.a.createElement("span", { + className: "variable-option-icon", + }), + "Selected (", + n.length, + ")" + ) + ) + : null; + }, + }, + ]) && Ir(n.prototype, r), + a && Ir(n, a), + t + ); + })(f.PureComponent); + function Br(e) { + return (Br = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function $r(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function qr(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ur(e, t) { + return !t || ("object" !== Br(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function zr(e) { + return (zr = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Hr(e, t) { + return (Hr = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Gr = (function (e) { + function t() { + var e, n; + $r(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Ur( + this, + (e = zr(t)).call.apply(e, [this].concat(a)) + )).onShowOptions = function () { + return n.props.showOptions(n.props.variable); + }), + (n.onHideOptions = function () { + return n.props.commitChangesToVariable(); + }), + (n.onToggleOption = function (e, t) { + n.props.toggleOption({ + option: e, + clearOthers: t, + forceSelect: !1, + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Hr(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props, + t = e.variable, + n = e.picker, + r = n.uuid === t.uuid; + return d.a.createElement( + "div", + { className: "variable-link-wrapper" }, + this.renderLink(r, t), + this.renderOptions(r, n) + ); + }, + }, + { + key: "renderLink", + value: function (e, t) { + if (e) return null; + var n = Qr(t), + r = Wr(t); + return d.a.createElement(cr, { + text: n, + tags: r, + onClick: this.onShowOptions, + }); + }, + }, + { + key: "renderOptions", + value: function (e, t) { + return e + ? d.a.createElement( + ee.ClickOutsideWrapper, + { onClick: this.onHideOptions }, + d.a.createElement(gr, { + value: t.queryValue, + onChange: this.props.filterOrSearchOptions, + onNavigate: this.props.navigateOptions, + }), + d.a.createElement(Vr, { + values: t.options, + onToggle: this.onToggleOption, + onToggleAll: this.props.toggleAllOptions, + onToggleTag: this.props.toggleAndFetchTag, + highlightIndex: t.highlightIndex, + multi: t.multi, + tags: t.tags, + selectedValues: t.selectedValues, + }) + ) + : null; + }, + }, + ]) && qr(n.prototype, r), + a && qr(n, a), + t + ); + })(f.PureComponent), + Wr = function (e) { + return Object(Ft.a)(e) && Array.isArray(e.tags) + ? e.tags.filter(function (e) { + return e.selected; + }) + : []; + }, + Qr = function (e) { + var t = e.current, + n = e.options; + if (!t.tags || 0 === t.tags.length) + return Array.isArray(t.text) ? t.text.join(" + ") : t.text; + var r = n + .filter(function (e) { + if (!e.selected) return !1; + if (!t || !t.tags || !t.tags.length) return !1; + for (var n = 0; n < t.tags.length; n++) { + var r, + a = t.tags[n], + o = + null == a + ? void 0 + : null === (r = a.values) || void 0 === r + ? void 0 + : r.findIndex(function (t) { + return t === e.value; + }); + if (o && -1 !== o) return !1; + } + return !0; + }) + .map(function (e) { + return e.text; + }) + .join(" + "); + return r.length > 0 ? "".concat(r, " + ") : r; + }, + Yr = { + showOptions: Yt, + commitChangesToVariable: Er, + filterOrSearchOptions: function (e) { + return (function () { + var t = Sr( + regeneratorRuntime.mark(function t(n, r) { + var a, o, i, l; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((a = r().templating.optionsPicker.uuid), + (o = Object(yr.a)(a, r())), + (i = o.query), + (l = o.options), + n(en(e)), + !Object(It.e)(i)) + ) { + t.next = 5; + break; + } + return t.abrupt("return", Ar(n, r, e)); + case 5: + return t.abrupt("return", n(tn(l))); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + toggleAllOptions: Xt, + toggleOption: Qt, + toggleAndFetchTag: function (e) { + return (function () { + var t = Sr( + regeneratorRuntime.mark(function t(n, r) { + var a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (!Array.isArray(e.values)) { + t.next = 2; + break; + } + return t.abrupt("return", n(Jt(e))); + case 2: + return (t.next = 4), n(Pr(e.text.toString())); + case 4: + return ( + (a = t.sent), + t.abrupt("return", n(Jt(xr({}, e, { values: a })))) + ); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + navigateOptions: function (e, t) { + return (function () { + var n = Sr( + regeneratorRuntime.mark(function n(r, a) { + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e !== sr.cancel) { + n.next = 4; + break; + } + return (n.next = 3), r(Er()); + case 3: + return n.abrupt("return", n.sent); + case 4: + if (e !== sr.select) { + n.next = 6; + break; + } + return n.abrupt("return", r(Cr(t))); + case 6: + if (e !== sr.selectAndClose) { + n.next = 11; + break; + } + return r(Cr(t)), (n.next = 10), r(Er()); + case 10: + return n.abrupt("return", n.sent); + case 11: + if (e !== sr.moveDown) { + n.next = 13; + break; + } + return n.abrupt("return", r(Zt(1))); + case 13: + if (e !== sr.moveUp) { + n.next = 15; + break; + } + return n.abrupt("return", r(Zt(-1))); + case 15: + return n.abrupt("return", void 0); + case 16: + case "end": + return n.stop(); + } + }, n); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }, + }, + Kr = Object(tr.connect)(function (e) { + return { picker: e.templating.optionsPicker }; + }, Yr)(Gr); + Kr.displayName = "OptionsPicker"; + var Jr = function (e) { + var t, + n = Object(f.useCallback)( + function (t) { + e.onPropChange({ + propName: "multi", + propValue: t.target.checked, + }); + }, + [e.onPropChange] + ), + r = Object(f.useCallback)( + function (t) { + e.onPropChange({ + propName: "includeAll", + propValue: t.target.checked, + }); + }, + [e.onPropChange] + ), + a = Object(f.useCallback)( + function (t) { + e.onPropChange({ + propName: "allValue", + propValue: t.target.value, + }); + }, + [e.onPropChange] + ); + return d.a.createElement( + "div", + { className: "section gf-form-group" }, + d.a.createElement( + "h5", + { className: "section-heading" }, + "Selection Options" + ), + d.a.createElement( + "div", + { className: "section" }, + d.a.createElement( + "div", + { + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors + .selectionOptionsMultiSwitch, + }, + d.a.createElement(ee.Switch, { + label: "Multi-value", + labelClass: "width-10", + checked: e.variable.multi, + onChange: n, + tooltip: + "Enables multiple values to be selected at the same time", + }) + ), + d.a.createElement( + "div", + { + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors + .selectionOptionsIncludeAllSwitch, + }, + d.a.createElement(ee.Switch, { + label: "Include All option", + labelClass: "width-10", + checked: e.variable.includeAll, + onChange: r, + tooltip: + "Enables multiple values to be selected at the same time", + }) + ) + ), + e.variable.includeAll && + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "span", + { className: "gf-form-label width-10" }, + "Custom all value" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input max-width-15", + value: + null !== (t = e.variable.allValue) && void 0 !== t ? t : "", + onChange: a, + placeholder: "blank = auto", + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors + .selectionOptionsCustomAllInput, + }) + ) + ); + }; + Jr.displayName = "SelectionOptionsEditor"; + var Zr = n("WnbS"); + function Xr(e) { + return (Xr = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function ea(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ta(e, t) { + return !t || ("object" !== Xr(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function na(e) { + return (na = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ra(e, t) { + return (ra = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var aa = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = ta(this, na(t).call(this, e))).onChange = function (e) { + n.setState({ value: e.currentTarget.value }); + }), + (n.onBlur = function (e) { + n.props.onChange(e.currentTarget.value, e.currentTarget.value); + }), + (n.state = { value: e.query }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ra(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "getLineCount", + value: function () { + var e = this.state.value; + return "string" == typeof e ? e.split("\n").length : 1; + }, + }, + { + key: "render", + value: function () { + return d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "span", + { className: "gf-form-label width-10" }, + "Query" + ), + d.a.createElement("textarea", { + rows: this.getLineCount(), + className: "gf-form-input", + value: this.state.value, + onChange: this.onChange, + onBlur: this.onBlur, + placeholder: "metric name or tags query", + required: !0, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit.QueryVariable + .selectors.queryOptionsQueryInput, + }) + ); + }, + }, + ]) && ea(n.prototype, r), + a && ea(n, a), + t + ); + })(f.PureComponent); + function oa(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function ia(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + oa(o, r, a, i, l, "next", e); + } + function l(e) { + oa(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var la = function (e, t) { + return (function () { + var n = ia( + regeneratorRuntime.mark(function n(r, a) { + var o, i, l, s, c, u; + return regeneratorRuntime.wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (o = Object(yr.a)(e.uuid, a())), + (n.prev = 1), + a().templating.editor.id === o.uuid && + r(Object(an.f)({ errorProp: "update" })), + (n.next = 5), + Object(Zr.a)().get( + null !== (i = o.datasource) && void 0 !== i + ? i + : "" + ) + ); + case 5: + if ( + ((l = n.sent), + (s = { + range: void 0, + variable: o, + searchFilter: t, + }), + o.refresh === It.b.onTimeRangeChanged && + (s.range = Object(Ae.a)().timeRange()), + l.metricFindQuery) + ) { + n.next = 10; + break; + } + return n.abrupt("return"); + case 10: + return (n.next = 12), l.metricFindQuery(o.query, s); + case 12: + return ( + (c = n.sent), + (n.next = 15), + r(Zn(Object(Rt.h)(o, c))) + ); + case 15: + if (!o.useTags) { + n.next = 21; + break; + } + return ( + (n.next = 18), l.metricFindQuery(o.tagsQuery, s) + ); + case 18: + return ( + (u = n.sent), + (n.next = 21), + r(Xn(Object(Rt.h)(o, u))) + ); + case 21: + return ( + (n.next = 23), r(Object(er.e)(Object(Rt.g)(o))) + ); + case 23: + n.next = 31; + break; + case 25: + (n.prev = 25), + (n.t0 = n.catch(1)), + console.error(n.t0), + n.t0.data && + n.t0.data.message && + (n.t0.message = n.t0.data.message), + a().templating.editor.id === o.uuid && + r( + Object(an.a)({ + errorProp: "update", + errorText: n.t0.message, + }) + ), + b.b.emit(g.AppEvents.alertError, [ + "Templating", + "Template variables could not be initialized: " + + n.t0.message, + ]); + case 31: + case "end": + return n.stop(); + } + }, + n, + null, + [[1, 25]] + ); + }) + ); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }, + sa = function (e, t) { + return (function () { + var e = ia( + regeneratorRuntime.mark(function e(n, r) { + var a, o, i, l; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + Object(Zr.a)().get(null != t ? t : "") + ); + case 3: + return ( + (o = e.sent), (e.next = 6), Object(w.b)(o.meta) + ); + case 6: + (i = e.sent), + (l = + null !== (a = i.components.VariableQueryEditor) && + void 0 !== a + ? a + : aa), + n( + Object(an.b)({ + propName: "dataSource", + propValue: o, + }) + ), + n( + Object(an.b)({ + propName: "VariableQueryEditor", + propValue: l, + }) + ), + (e.next = 15); + break; + case 12: + (e.prev = 12), + (e.t0 = e.catch(0)), + console.error(e.t0); + case 15: + case "end": + return e.stop(); + } + }, + e, + null, + [[0, 12]] + ); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + }, + ca = n("AI1G"); + function ua(e) { + return (ua = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function fa(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function da(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + fa(o, r, a, i, l, "next", e); + } + function l(e) { + fa(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function pa(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ha(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ma(e, t) { + return !t || ("object" !== ua(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ga(e) { + return (ga = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ba(e, t) { + return (ba = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var va = (function (e) { + function t() { + var e, n; + pa(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ma( + this, + (e = ga(t)).call.apply(e, [this].concat(a)) + )).state = { + regex: null, + tagsQuery: null, + tagValuesQuery: null, + }), + (n.getSelectedDataSourceValue = function () { + var e, t, r; + if ( + !(null === (e = n.props.editor.extended) || void 0 === e + ? void 0 + : e.dataSources.length) + ) + return ""; + var a = + null === (t = n.props.editor.extended) || void 0 === t + ? void 0 + : t.dataSources.find(function (e) { + return e.value === n.props.variable.datasource; + }), + o = a + ? a.value + : null === (r = n.props.editor.extended) || void 0 === r + ? void 0 + : r.dataSources[0].value; + return null != o ? o : ""; + }), + (n.onDataSourceChange = function (e) { + n.props.onPropChange({ propName: "query", propValue: "" }), + n.props.onPropChange({ + propName: "datasource", + propValue: e.target.value, + }); + }), + (n.onQueryChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t, r) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.changeQueryVariableQuery( + Object(Rt.g)(n.props.variable), + t, + r + ); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })()), + (n.onRegExChange = function (e) { + n.setState({ regex: e.target.value }); + }), + (n.onRegExBlur = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.onPropChange({ + propName: "regex", + propValue: t.target.value, + updateOptions: !0, + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onTagsQueryChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.setState({ tagsQuery: t.target.value }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onTagsQueryBlur = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.onPropChange({ + propName: "tagsQuery", + propValue: t.target.value, + updateOptions: !0, + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onTagValuesQueryChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.setState({ tagValuesQuery: t.target.value }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onTagValuesQueryBlur = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.onPropChange({ + propName: "tagValuesQuery", + propValue: t.target.value, + updateOptions: !0, + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onRefreshChange = function (e) { + n.props.onPropChange({ + propName: "refresh", + propValue: parseInt(e.target.value, 10), + }); + }), + (n.onSortChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.onPropChange({ + propName: "sort", + propValue: parseInt(t.target.value, 10), + updateOptions: !0, + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onSelectionOptionsChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + var r, a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + (r = t.propValue), + (a = t.propName), + n.props.onPropChange({ + propName: a, + propValue: r, + updateOptions: !0, + }); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onUseTagsChange = (function () { + var e = da( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + n.props.onPropChange({ + propName: "useTags", + propValue: t.target.checked, + updateOptions: !0, + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + n + ); + } + var n, r, a, o; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ba(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: + ((o = da( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.props.initQueryVariableEditor( + Object(Rt.g)(this.props.variable) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "componentDidUpdate", + value: function (e) { + e.variable.datasource !== this.props.variable.datasource && + this.props.changeQueryVariableDataSource( + Object(Rt.g)(this.props.variable), + this.props.variable.datasource + ); + }, + }, + { + key: "render", + value: function () { + var e, + t, + n, + r, + a, + o, + i, + l, + s = + null === (e = this.props.editor.extended) || void 0 === e + ? void 0 + : e.VariableQueryEditor; + return d.a.createElement( + d.a.Fragment, + null, + d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + "h5", + { className: "section-heading" }, + "Query Options" + ), + d.a.createElement( + "div", + { className: "gf-form-inline" }, + d.a.createElement( + "div", + { className: "gf-form max-width-21" }, + d.a.createElement( + "span", + { className: "gf-form-label width-10" }, + "Data source" + ), + d.a.createElement( + "div", + { + className: "gf-form-select-wrapper max-width-14", + }, + d.a.createElement( + "select", + { + className: "gf-form-input", + value: this.getSelectedDataSourceValue(), + onChange: this.onDataSourceChange, + required: !0, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .queryOptionsDataSourceSelect, + }, + (null === (t = this.props.editor.extended) || + void 0 === t + ? void 0 + : t.dataSources.length) && + (null === (n = this.props.editor.extended) || + void 0 === n + ? void 0 + : n.dataSources.map(function (e) { + var t, n; + return d.a.createElement( + "option", + { + key: + null !== (t = e.value) && + void 0 !== t + ? t + : "", + value: + null !== (n = e.value) && + void 0 !== n + ? n + : "", + label: e.name, + }, + e.name + ); + })) + ) + ) + ), + d.a.createElement( + "div", + { className: "gf-form max-width-22" }, + d.a.createElement( + ee.FormLabel, + { + width: 10, + tooltip: + "When to update the values of this variable.", + }, + "Refresh" + ), + d.a.createElement( + "div", + { className: "gf-form-select-wrapper width-15" }, + d.a.createElement( + "select", + { + className: "gf-form-input", + value: this.props.variable.refresh, + onChange: this.onRefreshChange, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .queryOptionsRefreshSelect, + }, + d.a.createElement( + "option", + { label: "Never", value: It.b.never }, + "Never" + ), + d.a.createElement( + "option", + { + label: "On Dashboard Load", + value: It.b.onDashboardLoad, + }, + "On Dashboard Load" + ), + d.a.createElement( + "option", + { + label: "On Time Range Change", + value: It.b.onTimeRangeChanged, + }, + "On Time Range Change" + ) + ) + ) + ) + ), + s && + (null === (r = this.props.editor.extended) || + void 0 === r + ? void 0 + : r.dataSource) && + d.a.createElement(s, { + datasource: + null === (a = this.props.editor.extended) || + void 0 === a + ? void 0 + : a.dataSource, + query: this.props.variable.query, + templateSrv: Sn.b, + onChange: this.onQueryChange, + }), + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + ee.FormLabel, + { + width: 10, + tooltip: + "Optional, if you want to extract part of a series name or metric node segment.", + }, + "Regex" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + placeholder: "/.*-(.*)-.*/", + value: + null !== (o = this.state.regex) && void 0 !== o + ? o + : this.props.variable.regex, + onChange: this.onRegExChange, + onBlur: this.onRegExBlur, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors.queryOptionsRegExInput, + }) + ), + d.a.createElement( + "div", + { className: "gf-form max-width-21" }, + d.a.createElement( + ee.FormLabel, + { + width: 10, + tooltip: "How to sort the values of this variable.", + }, + "Sort" + ), + d.a.createElement( + "div", + { className: "gf-form-select-wrapper max-width-14" }, + d.a.createElement( + "select", + { + className: "gf-form-input", + value: this.props.variable.sort, + onChange: this.onSortChange, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .queryOptionsSortSelect, + }, + d.a.createElement( + "option", + { label: "Disabled", value: It.c.disabled }, + "Disabled" + ), + d.a.createElement( + "option", + { + label: "Alphabetical (asc)", + value: It.c.alphabeticalAsc, + }, + "Alphabetical (asc)" + ), + d.a.createElement( + "option", + { + label: "Alphabetical (desc)", + value: It.c.alphabeticalDesc, + }, + "Alphabetical (desc)" + ), + d.a.createElement( + "option", + { + label: "Numerical (asc)", + value: It.c.numericalAsc, + }, + "Numerical (asc)" + ), + d.a.createElement( + "option", + { + label: "Numerical (desc)", + value: It.c.numericalDesc, + }, + "Numerical (desc)" + ), + d.a.createElement( + "option", + { + label: "Alphabetical (case-insensitive, asc)", + value: It.c.alphabeticalCaseInsensitiveAsc, + }, + "Alphabetical (case-insensitive, asc)" + ), + d.a.createElement( + "option", + { + label: "Alphabetical (case-insensitive, desc)", + value: It.c.alphabeticalCaseInsensitiveDesc, + }, + "Alphabetical (case-insensitive, desc)" + ) + ) + ) + ) + ), + d.a.createElement(Jr, { + variable: this.props.variable, + onPropChange: this.onSelectionOptionsChange, + }), + d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + "h5", + null, + "Value groups/tags (Experimental feature)" + ), + d.a.createElement( + "div", + { + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .valueGroupsTagsEnabledSwitch, + }, + d.a.createElement(ee.Switch, { + label: "Enabled", + "label-class": "width-10", + checked: this.props.variable.useTags, + onChange: this.onUseTagsChange, + }) + ), + this.props.variable.useTags && + d.a.createElement( + d.a.Fragment, + null, + d.a.createElement( + "div", + { className: "gf-form last" }, + d.a.createElement( + "span", + { className: "gf-form-label width-10" }, + "Tags query" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: + null !== (i = this.state.tagsQuery) && + void 0 !== i + ? i + : this.props.variable.tagsQuery, + placeholder: "metric name or tags query", + onChange: this.onTagsQueryChange, + onBlur: this.onTagsQueryBlur, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .valueGroupsTagsTagsQueryInput, + }) + ), + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "li", + { className: "gf-form-label width-10" }, + "Tag values query" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: + null !== (l = this.state.tagValuesQuery) && + void 0 !== l + ? l + : this.props.variable.tagValuesQuery, + placeholder: "apps.$tag.*", + onChange: this.onTagValuesQueryChange, + onBlur: this.onTagValuesQueryBlur, + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .QueryVariable.selectors + .valueGroupsTagsTagsValuesQueryInput, + }) + ) + ) + ) + ); + }, + }, + ]) && ha(n.prototype, r), + a && ha(n, a), + t + ); + })(f.PureComponent), + ya = { + initQueryVariableEditor: function (e) { + return (function () { + var t = ia( + regeneratorRuntime.mark(function t(n, r) { + var a, o, i; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((a = Object(Zr.a)() + .getMetricSources() + .filter(function (e) { + return !e.meta.mixed && null !== e.value; + })), + (o = [ + { name: "", value: "", meta: {}, sort: "" }, + ].concat(a)), + n( + Object(an.b)({ + propName: "dataSources", + propValue: o, + }) + ), + (i = Object(yr.a)(e.uuid, r())).datasource) + ) { + t.next = 7; + break; + } + return t.abrupt("return"); + case 7: + n(sa(Object(Rt.g)(i), i.datasource)); + case 8: + case "end": + return t.stop(); + } + }, t); + }) + ); + return function (e, n) { + return t.apply(this, arguments); + }; + })(); + }, + changeQueryVariableDataSource: sa, + changeQueryVariableQuery: function (e, t, n) { + return (function () { + var r = ia( + regeneratorRuntime.mark(function r(a, o) { + var i, l; + return regeneratorRuntime.wrap(function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + ((i = Object(yr.a)(e.uuid, o())), + "string" != typeof t || + !t.match(new RegExp("\\$" + i.name + "(/| |$)"))) + ) { + r.next = 5; + break; + } + return ( + (l = + "Query cannot contain a reference to itself. Variable: $" + + i.name), + a( + Object(an.a)({ errorProp: "query", errorText: l }) + ), + r.abrupt("return") + ); + case 5: + return ( + a(Object(an.f)({ errorProp: "query" })), + a( + Object(wr.d)( + Object(Rt.h)(e, { + propName: "query", + propValue: t, + }) + ) + ), + a( + Object(wr.d)( + Object(Rt.h)(e, { + propName: "definition", + propValue: n, + }) + ) + ), + (r.next = 10), + zn.a.get(e.type).updateOptions(i) + ); + case 10: + case "end": + return r.stop(); + } + }, r); + }) + ); + return function (e, t) { + return r.apply(this, arguments); + }; + })(); + }, + }, + wa = Object(ca.b)( + va, + function (e, t) { + return { editor: e.templating.editor }; + }, + ya + ); + function Oa(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function xa(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function ka(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function ja(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Sa(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + ja(o, r, a, i, l, "next", e); + } + function l(e) { + ja(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var Ea = { + uuid: Rt.c, + global: !1, + multi: !1, + includeAll: !1, + allValue: null, + query: "", + options: [], + current: {}, + name: "", + type: "custom", + label: null, + hide: It.a.dontHide, + skipUrlSync: !1, + index: -1, + initLock: null, + }, + Ca = Object(Ie.c)({ + name: "templating/custom", + initialState: on.a, + reducers: { + createCustomOptionsFromQuery: function (e, t) { + var n, + r = Object(Rt.f)(e, t.payload.uuid), + a = r.includeAll, + o = (null !== (n = r.query.match(/(?:\\,|[^,])+/g)) && + void 0 !== n + ? n + : [] + ).map(function (e) { + return { + text: (e = e.replace(/\\,/g, ",")).trim(), + value: e.trim(), + selected: !1, + }; + }); + a && o.unshift({ text: Rt.a, value: Rt.b, selected: !1 }), + (r.options = o); + }, + }, + }), + Pa = Ca.reducer, + Ta = Ca.actions.createCustomOptionsFromQuery; + function Da(e) { + return (Da = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Aa(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function _a(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Aa(o, r, a, i, l, "next", e); + } + function l(e) { + Aa(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Na(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ma(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ia(e, t) { + return !t || ("object" !== Da(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Ra(e) { + return (Ra = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Fa(e, t) { + return (Fa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var La = (function (e) { + function t() { + var e, n; + Na(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Ia( + this, + (e = Ra(t)).call.apply(e, [this].concat(a)) + )).onChange = function (e) { + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + }); + }), + (n.onSelectionOptionsChange = (function () { + var e = _a( + regeneratorRuntime.mark(function e(t) { + var r, a; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + (r = t.propName), + (a = t.propValue), + n.props.onPropChange({ + propName: r, + propValue: a, + updateOptions: !0, + }); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (n.onBlur = function (e) { + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + updateOptions: !0, + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Fa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return d.a.createElement( + d.a.Fragment, + null, + d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + "h5", + { className: "section-heading" }, + "Custom Options" + ), + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "span", + { className: "gf-form-label width-14" }, + "Values separated by comma" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: this.props.variable.query, + onChange: this.onChange, + onBlur: this.onBlur, + placeholder: "1, 10, 20, myvalue, escaped\\,value", + required: !0, + "aria-label": "Variable editor Form Custom Query field", + }) + ) + ), + d.a.createElement(Jr, { + variable: this.props.variable, + onPropChange: this.onSelectionOptionsChange, + }) + ); + }, + }, + ]) && Ma(n.prototype, r), + a && Ma(n, a), + t + ); + })(f.PureComponent); + function Va(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var Ba = function (e) { + return (function () { + var t, + n = + ((t = regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), n(Ta(Object(Rt.h)(e))); + case 2: + return (t.next = 4), n(Object(er.e)(e)); + case 4: + case "end": + return t.stop(); + } + }, t); + })), + function () { + var e = this, + n = arguments; + return new Promise(function (r, a) { + var o = t.apply(e, n); + function i(e) { + Va(o, r, a, i, l, "next", e); + } + function l(e) { + Va(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return n.apply(this, arguments); + }; + })(); + }; + function $a(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function qa(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Ua(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + qa(o, r, a, i, l, "next", e); + } + function l(e) { + qa(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var za = { + uuid: Rt.c, + global: !1, + index: -1, + type: "textbox", + name: "", + label: "", + hide: It.a.dontHide, + query: "", + current: {}, + options: [], + skipUrlSync: !1, + initLock: null, + }, + Ha = Object(Ie.c)({ + name: "templating/textbox", + initialState: on.a, + reducers: { + createTextBoxOptions: function (e, t) { + var n = Object(Rt.f)(e, t.payload.uuid); + (n.options = [ + { text: n.query.trim(), value: n.query.trim(), selected: !1 }, + ]), + (n.current = n.options[0]); + }, + }, + }), + Ga = Ha.reducer, + Wa = Ha.actions.createTextBoxOptions; + function Qa(e) { + return (Qa = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Ya(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function Ka(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Ja(e, t) { + return !t || ("object" !== Qa(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function Za(e) { + return (Za = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function Xa(e, t) { + return (Xa = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var eo = (function (e) { + function t() { + var e, n; + Ya(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Ja( + this, + (e = Za(t)).call.apply(e, [this].concat(a)) + )).onQueryChange = function (e) { + Object(Le.a)( + Object(wr.d)( + Object(Rt.h)(n.props.variable, { + propName: "query", + propValue: e.target.value, + }) + ) + ); + }), + (n.onQueryBlur = function (e) { + n.props.variable.current.value !== n.props.variable.query && + zn.a.get(n.props.variable.type).updateOptions(n.props.variable); + }), + (n.onQueryKeyDown = function (e) { + 13 === e.keyCode && + n.props.variable.current.value !== n.props.variable.query && + zn.a.get(n.props.variable.type).updateOptions(n.props.variable); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && Xa(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return d.a.createElement("input", { + type: "text", + value: this.props.variable.query, + className: "gf-form-input width-12", + onChange: this.onQueryChange, + onBlur: this.onQueryBlur, + onKeyDown: this.onQueryKeyDown, + }); + }, + }, + ]) && Ka(n.prototype, r), + a && Ka(n, a), + t + ); + })(f.PureComponent); + function to(e) { + return (to = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function no(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function ro(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function ao(e, t) { + return !t || ("object" !== to(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function oo(e) { + return (oo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function io(e, t) { + return (io = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var lo = (function (e) { + function t() { + var e, n; + no(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = ao( + this, + (e = oo(t)).call.apply(e, [this].concat(a)) + )).onQueryChange = function (e) { + e.preventDefault(), + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + updateOptions: !1, + }); + }), + (n.onQueryBlur = function (e) { + e.preventDefault(), + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + updateOptions: !0, + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && io(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + var e = this.props.variable.query; + return d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + "h5", + { className: "section-heading" }, + "Text options" + ), + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "span", + { className: "gf-form-label" }, + "Default value" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: e, + onChange: this.onQueryChange, + onBlur: this.onQueryBlur, + placeholder: "default value, if any", + }) + ) + ); + }, + }, + ]) && ro(n.prototype, r), + a && ro(n, a), + t + ); + })(f.PureComponent); + function so(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var co = function (e) { + return (function () { + var t, + n = + ((t = regeneratorRuntime.mark(function t(n, r) { + var a; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), n(Wa(Object(Rt.h)(e))); + case 2: + return ( + (a = Object(yr.a)(e.uuid, r())), + (t.next = 5), + zn.a.get(e.type).setValue(a, a.options[0], !0) + ); + case 5: + case "end": + return t.stop(); + } + }, t); + })), + function () { + var e = this, + n = arguments; + return new Promise(function (r, a) { + var o = t.apply(e, n); + function i(e) { + so(o, r, a, i, l, "next", e); + } + function l(e) { + so(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e, t) { + return n.apply(this, arguments); + }; + })(); + }; + function uo(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function fo(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function po(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + fo(o, r, a, i, l, "next", e); + } + function l(e) { + fo(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var ho = { + uuid: Rt.c, + global: !1, + type: "constant", + name: "", + hide: It.a.hideVariable, + label: "", + query: "", + current: {}, + options: [], + skipUrlSync: !1, + index: -1, + initLock: null, + }, + mo = Object(Ie.c)({ + name: "templating/constant", + initialState: on.a, + reducers: { + createConstantOptionsFromQuery: function (e, t) { + var n = Object(Rt.f)(e, t.payload.uuid); + n.options = [ + { text: n.query.trim(), value: n.query.trim(), selected: !1 }, + ]; + }, + }, + }), + go = mo.reducer, + bo = mo.actions.createConstantOptionsFromQuery; + function vo(e) { + return (vo = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function yo(e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + } + function wo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function Oo(e, t) { + return !t || ("object" !== vo(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function xo(e) { + return (xo = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ko(e, t) { + return (ko = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var jo = (function (e) { + function t() { + var e, n; + yo(this, t); + for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++) + a[o] = arguments[o]; + return ( + ((n = Oo( + this, + (e = xo(t)).call.apply(e, [this].concat(a)) + )).onChange = function (e) { + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + }); + }), + (n.onBlur = function (e) { + n.props.onPropChange({ + propName: "query", + propValue: e.target.value, + updateOptions: !0, + }); + }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ko(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "render", + value: function () { + return d.a.createElement( + d.a.Fragment, + null, + d.a.createElement( + "div", + { className: "gf-form-group" }, + d.a.createElement( + "h5", + { className: "section-heading" }, + "Constant options" + ), + d.a.createElement( + "div", + { className: "gf-form" }, + d.a.createElement( + "span", + { className: "gf-form-label" }, + "Value" + ), + d.a.createElement("input", { + type: "text", + className: "gf-form-input", + value: this.props.variable.query, + onChange: this.onChange, + onBlur: this.onBlur, + placeholder: "your metric prefix", + "aria-label": + W.a.pages.Dashboard.Settings.Variables.Edit + .ConstantVariable.selectors + .constantOptionsQueryInput, + }) + ) + ) + ); + }, + }, + ]) && wo(n.prototype, r), + a && wo(n, a), + t + ); + })(f.PureComponent); + function So(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + var Eo = function (e) { + return (function () { + var t, + n = + ((t = regeneratorRuntime.mark(function t(n) { + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), n(bo(Object(Rt.h)(e))); + case 2: + return (t.next = 4), n(Object(er.e)(e)); + case 4: + case "end": + return t.stop(); + } + }, t); + })), + function () { + var e = this, + n = arguments; + return new Promise(function (r, a) { + var o = t.apply(e, n); + function i(e) { + So(o, r, a, i, l, "next", e); + } + function l(e) { + So(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }); + return function (e) { + return n.apply(this, arguments); + }; + })(); + }; + function Co(e, t) { + if (null == e) return {}; + var n, + r, + a = (function (e, t) { + if (null == e) return {}; + var n, + r, + a = {}, + o = Object.keys(e); + for (r = 0; r < o.length; r++) + (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]); + return a; + })(e, t); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + for (r = 0; r < o.length; r++) + (n = o[r]), + t.indexOf(n) >= 0 || + (Object.prototype.propertyIsEnumerable.call(e, n) && + (a[n] = e[n])); + } + return a; + } + function Po(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function To(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Po(o, r, a, i, l, "next", e); + } + function l(e) { + Po(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + var Do, Ao, _o; + O.c.factory("templateSrv", function () { + return Sn.b; + }), + zn.a.set("query", { + description: "Variable values are fetched from a datasource query", + label: "Query", + initialState: Wn, + reducer: Kn, + picker: Kr, + editor: wa, + dependsOn: function (e, t) { + return Object(It.f)(e.query, e.datasource, e.regex, t.name); + }, + setValue: + ((_o = Sa( + regeneratorRuntime.mark(function e(t, n) { + var r, + a = arguments; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = a.length > 2 && void 0 !== a[2] && a[2]), + (e.next = 3), + Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r)) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return _o.apply(this, arguments); + }), + setValueFromUrl: + ((Ao = Sa( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return Ao.apply(this, arguments); + }), + updateOptions: + ((Do = Sa( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), Object(Le.a)(la(Object(Rt.g)(t), n)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return Do.apply(this, arguments); + }), + getSaveModel: function (e) { + var t = Gn()(e), + n = + (t.index, + t.uuid, + t.initLock, + t.global, + t.queryValue, + ka(t, ["index", "uuid", "initLock", "global", "queryValue"])); + return e.refresh !== It.b.never + ? (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Oa(Object(n), !0).forEach(function (t) { + xa(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : Oa(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, n, { options: [] }) + : n; + }, + getValueForUrl: function (e) { + return e.current.text === Rt.a ? Rt.a : e.current.value; + }, + }), + zn.a.set( + "custom", + (function () { + return { + description: "Define variable values manually", + label: "Custom", + initialState: Ea, + reducer: Pa, + picker: Kr, + editor: La, + dependsOn: function () { + return !1; + }, + setValue: + ((n = Ua( + regeneratorRuntime.mark(function e(t, n) { + var r, + a = arguments; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = a.length > 2 && void 0 !== a[2] && a[2]), + (e.next = 3), + Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r)) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return n.apply(this, arguments); + }), + setValueFromUrl: + ((t = Ua( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, n) { + return t.apply(this, arguments); + }), + updateOptions: + ((e = Ua( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), Object(Le.a)(Ba(Object(Rt.g)(t))) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (t) { + return e.apply(this, arguments); + }), + getSaveModel: function (e) { + var t = Gn()(e); + t.index, t.uuid, t.initLock, t.global; + return $a(t, ["index", "uuid", "initLock", "global"]); + }, + getValueForUrl: function (e) { + return e.current.text === Rt.a ? Rt.a : e.current.value; + }, + }; + var e, t, n; + })() + ), + zn.a.set( + "textbox", + (function () { + return { + description: + "Define a textbox variable, where users can enter any arbitrary string", + label: "Text box", + initialState: za, + reducer: Ga, + picker: eo, + editor: lo, + dependsOn: function (e, t) { + return !1; + }, + setValue: + ((n = po( + regeneratorRuntime.mark(function e(t, n) { + var r, + a = arguments; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = a.length > 2 && void 0 !== a[2] && a[2]), + (e.next = 3), + Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r)) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return n.apply(this, arguments); + }), + setValueFromUrl: + ((t = po( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, n) { + return t.apply(this, arguments); + }), + updateOptions: + ((e = po( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), Object(Le.a)(co(Object(Rt.g)(t))) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (t) { + return e.apply(this, arguments); + }), + getSaveModel: function (e) { + var t = Gn()(e); + t.index, t.uuid, t.initLock, t.global; + return uo(t, ["index", "uuid", "initLock", "global"]); + }, + getValueForUrl: function (e) { + return e.current.value; + }, + }; + var e, t, n; + })() + ), + zn.a.set( + "constant", + (function () { + return { + description: + "Define a hidden constant variable, useful for metric prefixes in dashboards you want to share", + label: "Constant", + initialState: ho, + reducer: go, + picker: Kr, + editor: jo, + dependsOn: function () { + return !1; + }, + setValue: + ((n = To( + regeneratorRuntime.mark(function e(t, n) { + var r, + a = arguments; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = a.length > 2 && void 0 !== a[2] && a[2]), + (e.next = 3), + Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r)) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, t) { + return n.apply(this, arguments); + }), + setValueFromUrl: + ((t = To( + regeneratorRuntime.mark(function e(t, n) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e, n) { + return t.apply(this, arguments); + }), + updateOptions: + ((e = To( + regeneratorRuntime.mark(function e(t) { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), Object(Le.a)(Eo(Object(Rt.g)(t))) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (t) { + return e.apply(this, arguments); + }), + getSaveModel: function (e) { + var t = Gn()(e); + t.index, t.uuid, t.initLock, t.global; + return Co(t, ["index", "uuid", "initLock", "global"]); + }, + getValueForUrl: function (e) { + return e.current.value; + }, + }; + var e, t, n; + })() + ); + var No = n("okuo"); + function Mo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Io = (function () { + function e(t, n, r) { + var a = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$routeParams = t), + (this.$rootScope = n), + (this.navModelSrv = r), + (this.pluginId = t.pluginId), + Object(D.a)(n)( + Promise.resolve(Object(No.a)(this.pluginId)) + .then(function (e) { + a.initPage(e); + }) + .catch(function (e) { + a.$rootScope.appEvent(g.AppEvents.alertError, [ + "Unknown Plugin", + ]), + (a.navModel = a.navModelSrv.getNotFoundNav()); + }) + ); + } + var t, n, r; + return ( + (e.$inject = ["$routeParams", "$rootScope", "navModelSrv"]), + (t = e), + (n = [ + { + key: "initPage", + value: function (e) { + if ( + ((this.appModel = e), + (this.page = i.a.find(e.includes, { + slug: this.$routeParams.slug, + })), + !this.page) + ) + return ( + this.$rootScope.appEvent(g.AppEvents.alertError, [ + "App Page Not Found", + ]), + void (this.navModel = this.navModelSrv.getNotFoundNav()) + ); + if ("app" !== e.type || !e.enabled) + return ( + this.$rootScope.appEvent(g.AppEvents.alertError, [ + "Application Not Enabled", + ]), + void (this.navModel = this.navModelSrv.getNotFoundNav()) + ); + var t = this.navModelSrv.getNav("plugin-page-" + e.id); + this.navModel = { + main: { + img: e.info.logos.large, + subTitle: e.name, + url: "", + text: this.page.name, + breadcrumbs: [{ title: e.name, url: t.main.url }], + }, + }; + }, + }, + ]) && Mo(t.prototype, n), + r && Mo(t, r), + e + ); + })(); + function Ro(e, t, n, r, a, o, l) { + function s(e, t) { + if (e) return 0 === e.indexOf("public") ? e : t + "/" + e; + } + function c(e, t) { + var n = { + name: "panel-plugin-" + e.panel.type, + bindings: { dashboard: "=", panel: "=", row: "=" }, + attrs: { + dashboard: "dashboard", + panel: "panel", + class: "panel-height-helper", + }, + }, + o = m.b.panels[e.panel.type]; + return Object(w.c)(o.id).then(function (e) { + var t = e.angularPanelCtrl; + return ( + (n.Component = t), + !t || t.registered + ? n + : t.templatePromise + ? t.templatePromise.then(function (e) { + return n; + }) + : (o && (t.templateUrl = s(t.templateUrl, o.baseUrl)), + (t.templatePromise = (function (e) { + if (e.template) return Promise.resolve(e.template); + var t = a.get(e.templateUrl); + return t + ? Promise.resolve(t) + : r.get(e.templateUrl).then(function (e) { + return e.data; + }); + })(t).then(function (e) { + return ( + (t.templateUrl = null), + (t.template = '<grafana-panel ctrl="ctrl" class="panel-height-helper">'.concat( + e, + "</grafana-panel>" + )), + n + ); + })), + t.templatePromise) + ); + }); + } + function f(t, n, r, a) { + if (a.notFound) n.empty(); + else { + if (!a.Component) + throw { + message: + "Failed to find exported plugin component for " + a.name, + }; + if (!a.Component.registered) { + var o = r.$normalize(a.name), + l = + (((c = a).Component.templateUrl = s( + c.Component.templateUrl, + c.baseUrl + )), + function () { + return { + templateUrl: c.Component.templateUrl, + template: c.Component.template, + restrict: "E", + controller: c.Component, + controllerAs: "ctrl", + bindToController: !0, + scope: c.bindings, + link: function (e, t, n, r) { + r.link && r.link(e, t, n, r), r.init && r.init(); + }, + }; + }); + O.c.directive(o, l), (a.Component.registered = !0); + } + var c; + !(function (t, n, r) { + var a = u.a.element(document.createElement(r.name)); + i.a.each(r.attrs, function (e, t) { + a.attr(t, e); + }), + e(a)(t), + n.empty(), + setTimeout(function () { + t.$applyAsync(function () { + n.append(a), + setTimeout(function () { + t.$applyAsync(function () { + t.$broadcast("component-did-mount"); + }); + }); + }); + }); + })(t, n, a); + } + } + return { + restrict: "E", + link: function (e, t, n) { + (function (e, t) { + switch (t.type) { + case "query-ctrl": + var n = e.ctrl.datasource; + return Promise.resolve({ + baseUrl: n.meta.baseUrl, + name: "query-ctrl-" + n.meta.id, + bindings: { target: "=", panelCtrl: "=", datasource: "=" }, + attrs: { + target: "ctrl.target", + "panel-ctrl": "ctrl", + datasource: "ctrl.datasource", + }, + Component: n.components.QueryCtrl, + }); + case "annotations-query-ctrl": + var r = e.ctrl.currentDatasource.meta.baseUrl, + a = e.ctrl.currentDatasource.meta.id; + return Object(w.b)(e.ctrl.currentDatasource.meta).then( + function (e) { + return { + baseUrl: r, + name: "annotations-query-ctrl-" + a, + bindings: { annotation: "=", datasource: "=" }, + attrs: { + annotation: "ctrl.currentAnnotation", + datasource: "ctrl.currentDatasource", + }, + Component: e.components.AnnotationsQueryCtrl, + }; + } + ); + case "datasource-config-ctrl": + var o = e.ctrl.datasourceMeta, + i = l.url(); + return Object(w.b)(o).then(function (t) { + return ( + e.$watch( + "ctrl.current", + function () { + i === l.url() && e.onModelChanged(e.ctrl.current); + }, + !0 + ), + { + baseUrl: o.baseUrl, + name: "ds-config-" + o.id, + bindings: { meta: "=", current: "=" }, + attrs: { + meta: "ctrl.datasourceMeta", + current: "ctrl.current", + }, + Component: t.angularConfigCtrl, + } + ); + }); + case "app-config-ctrl": + var s = e.ctrl.model; + return Object(w.a)(s).then(function (e) { + return { + baseUrl: s.baseUrl, + name: "app-config-" + s.id, + bindings: { appModel: "=", appEditCtrl: "=" }, + attrs: { + "app-model": "ctrl.model", + "app-edit-ctrl": "ctrl", + }, + Component: e.angularConfigCtrl, + }; + }); + case "app-page": + var u = e.ctrl.appModel; + return Object(w.a)(u).then(function (t) { + return { + baseUrl: u.baseUrl, + name: "app-page-" + u.id + "-" + e.ctrl.page.slug, + bindings: { appModel: "=" }, + attrs: { "app-model": "ctrl.appModel" }, + Component: t.angularPages[e.ctrl.page.component], + }; + }); + case "panel": + return c(e); + default: + return Promise.reject({ + message: "Could not find component type: " + t.type, + }); + } + })(e, n) + .then(function (r) { + f(e, t, n, r); + }) + .catch(function (e) { + console.log("Plugin component error", e); + }); + }, + }; + } + function Fo(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function Lo(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + Fo(o, r, a, i, l, "next", e); + } + function l(e) { + Fo(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + function Vo(e) { + return Bo.apply(this, arguments); + } + function Bo() { + return (Bo = Lo( + regeneratorRuntime.mark(function e(t) { + var n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), Object(w.b)(t); + case 2: + if (!(n = e.sent).components.VariableQueryEditor) { + e.next = 7; + break; + } + return e.abrupt("return", n.components.VariableQueryEditor); + case 7: + return e.abrupt("return", aa); + case 8: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function $o(e) { + return { + restrict: "E", + link: + ((t = Lo( + regeneratorRuntime.mark(function t(n, r) { + var a, o; + return regeneratorRuntime.wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return (t.next = 2), Vo(n.currentDatasource.meta); + case 2: + (a = t.sent), + (o = { + datasource: n.currentDatasource, + query: n.current.query, + onChange: n.onQueryChange, + templateSrv: e, + }), + h.a.render(d.a.createElement(a, o), r[0]), + n.$on("$destroy", function () { + h.a.unmountComponentAtNode(r[0]); + }); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + )), + function (e, n) { + return t.apply(this, arguments); + }), + }; + var t; + } + u.a.module("grafana.controllers").controller("AppPageCtrl", Io), + (Ro.$inject = [ + "$compile", + "datasourceSrv", + "$rootScope", + "$http", + "$templateCache", + "$timeout", + "$location", + ]), + O.c.directive("pluginComponent", Ro), + ($o.$inject = ["templateSrv"]), + O.c.directive("variableQueryEditorLoader", $o); + var qo = n("rd46"); + function Uo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var zo = (function () { + function e(t, n, r, a, o, i, l, s) { + var c = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$location = a), + (this.$timeout = i), + (this.contextSrv = l), + (this.$rootScope = s), + (this.onSaveSuccess = function () { + c.$timeout(function () { + c.gotoNext(); + }); + }), + (this.$location = a), + (this.$window = o), + (this.current = t), + (this.originalPath = a.path()), + (this.scope = n), + b.a.on(j.CoreEvents.dashboardSaved, function () { + (c.original = c.current.getSaveModelClone()), + (c.originalPath = a.path()); + }), + (o.onbeforeunload = function () { + if (!c.ignoreChanges()) + return c.hasChanges() + ? "There are unsaved changes to this dashboard" + : void 0; + }), + n.$on("$locationChangeStart", function (e, t) { + return ( + c.originalPath === a.path() || + !!c.ignoreChanges() || + (c.hasChanges() && + (e.preventDefault(), + (c.next = t), + c.$timeout(function () { + c.open_modal(); + })), + !1) + ); + }), + r && !t.meta.fromExplore + ? this.$timeout(function () { + c.original = t.getSaveModelClone(); + }, r) + : (this.original = t.getSaveModelClone()); + } + var t, n, r; + return ( + (e.$inject = [ + "dashboard", + "scope", + "originalCopyDelay", + "$location", + "$window", + "$timeout", + "contextSrv", + "$rootScope", + ]), + (t = e), + (n = [ + { + key: "ignoreChanges", + value: function () { + if (!this.original) return !0; + if (!this.contextSrv.isEditor) return !0; + if (!this.current || !this.current.meta) return !0; + var e = this.current.meta; + return !e.canSave || e.fromScript || e.fromFile; + }, + }, + { + key: "cleanDashboardFromIgnoredChanges", + value: function (e) { + var t = new qo.a(e); + t.expandRows(); + var n = t.getSaveModelClone(); + return ( + (n.time = 0), + (n.refresh = 0), + (n.schemaVersion = 0), + delete n.iteration, + (n.panels = i.a.filter(n.panels, function (e) { + return ( + !e.repeatPanelId && + ((e.scopedVars = null), + e.legend && + (delete e.legend.sort, delete e.legend.sortDesc), + !0) + ); + })), + i.a.each(n.getVariables(), function (e) { + (e.current = null), (e.options = null), (e.filters = null); + }), + n + ); + }, + }, + { + key: "hasChanges", + value: function () { + var e = this.cleanDashboardFromIgnoredChanges( + this.current.getSaveModelClone() + ), + t = this.cleanDashboardFromIgnoredChanges(this.original), + n = i.a.find(e.nav, { type: "timepicker" }), + r = i.a.find(t.nav, { type: "timepicker" }); + return ( + n && r && (n.now = r.now), + u.a.toJson(e, !0) !== u.a.toJson(t, !0) + ); + }, + }, + { + key: "discardChanges", + value: function () { + (this.original = null), this.gotoNext(); + }, + }, + { + key: "open_modal", + value: function () { + this.$rootScope.appEvent(j.CoreEvents.showModal, { + templateHtml: + '<unsaved-changes-modal dismiss="dismiss()"></unsaved-changes-modal>', + modalClass: "modal--narrow confirm-modal", + }); + }, + }, + { + key: "gotoNext", + value: function () { + var e = + this.$location.absUrl().length - + this.$location.url().length, + t = this.next.substring(e); + this.$location.url(t); + }, + }, + ]) && Uo(t.prototype, n), + r && Uo(t, r), + e + ); + })(); + function Ho(e, t, n, r, a, o) { + this.init = function (a, i) { + return ( + (this.tracker = new zo(a, i, 1e3, t, o, n, r, e)), this.tracker + ); + }; + } + (Ho.$inject = [ + "$rootScope", + "$location", + "$timeout", + "contextSrv", + "dashboardSrv", + "$window", + ]), + u.a.module("grafana.services").service("unsavedChangesSrv", Ho); + var Go = n("wd/R"), + Wo = n.n(Go), + Qo = n("h3Ht"); + function Yo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Ko = (function () { + function e(t, n, r, a, o, i, l) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.dashboardSrv = t), + (this.datasourceSrv = n), + (this.$http = r), + (this.$timeout = a), + (this.$routeParams = i), + (this.$rootScope = l); + } + var t, n, r; + return ( + (e.$inject = [ + "dashboardSrv", + "datasourceSrv", + "$http", + "$timeout", + "contextSrv", + "$routeParams", + "$rootScope", + ]), + (t = e), + (n = [ + { + key: "_dashboardLoadFailed", + value: function (e, t) { + return { + meta: { + canStar: !1, + isSnapshot: (t = t || !1), + canDelete: !1, + canSave: !1, + canEdit: !1, + dashboardNotFound: !0, + }, + dashboard: { title: e }, + }; + }, + }, + { + key: "loadDashboard", + value: function (e, t, n) { + var r, + a = this; + return ( + (r = + "script" === e + ? this._loadScriptedDashboard(t) + : "snapshot" === e + ? S.b.get("/api/snapshots/" + t).catch(function () { + return a._dashboardLoadFailed( + "Snapshot not found", + !0 + ); + }) + : S.b + .getDashboardByUid(n) + .then(function (e) { + if (e.meta.isFolder) + throw ( + (a.$rootScope.appEvent(g.AppEvents.alertError, [ + "Dashboard not found", + ]), + new Error("Dashboard not found")) + ); + return e; + }) + .catch(function () { + return a._dashboardLoadFailed("Not found", !0); + })).then(function (e) { + return ( + !0 !== e.meta.dashboardNotFound && + Qo.a.addDashboardImpression(e.dashboard.id), + e + ); + }), + r + ); + }, + }, + { + key: "_loadScriptedDashboard", + value: function (e) { + var t = this, + n = + "public/dashboards/" + + e.replace(/\.(?!js)/, "/") + + "?" + + new Date().getTime(); + return this.$http({ url: n, method: "GET" }) + .then(this._executeScript.bind(this)) + .then( + function (e) { + return { + meta: { + fromScript: !0, + canDelete: !1, + canSave: !1, + canStar: !1, + }, + dashboard: e.data, + }; + }, + function (e) { + return ( + console.log("Script dashboard error " + e), + t.$rootScope.appEvent(g.AppEvents.alertError, [ + "Script Error", + "Please make sure it exists and returns a valid dashboard", + ]), + t._dashboardLoadFailed("Scripted dashboard") + ); + } + ); + }, + }, + { + key: "_executeScript", + value: function (e) { + var t = this, + n = { + dashboardSrv: this.dashboardSrv, + datasourceSrv: this.datasourceSrv, + }, + r = new Function( + "ARGS", + "kbn", + "dateMath", + "_", + "moment", + "window", + "document", + "$", + "jQuery", + "services", + e.data + )( + this.$routeParams, + Tn.a, + g.dateMath, + i.a, + Wo.a, + window, + document, + s.a, + s.a, + n + ); + return i.a.isFunction(r) + ? new Promise(function (e) { + r(function (n) { + t.$timeout(function () { + e({ data: n }); + }); + }); + }) + : { data: r }; + }, + }, + ]) && Yo(t.prototype, n), + r && Yo(t, r), + e + ); + })(); + function Jo(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + u.a.module("grafana.services").service("dashboardLoaderSrv", Ko); + var Zo = { + "external link": "fa-external-link", + dashboard: "fa-th-large", + question: "fa-question", + info: "fa-info", + bolt: "fa-bolt", + doc: "fa-file-text-o", + cloud: "fa-cloud", + }, + Xo = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.emptyListCta = { + title: "There are no dashboard links added yet", + buttonIcon: "gicon gicon-link", + buttonTitle: "Add Dashboard Link", + infoBox: { + __html: + "<p>\n Dashboard Links allow you to place links to other dashboards and web sites directly below the dashboard\n header.\n </p>", + }, + infoBoxTitle: "What are Dashboard Links?", + }), + (this.setupNew = function () { + (r.mode = "new"), + (r.link = { type: "dashboards", icon: "external link" }); + }), + (this.iconMap = Zo), + (this.dashboard.links = this.dashboard.links || []), + (this.mode = "list"), + t.$on("$destroy", function () { + n.appEvent(j.CoreEvents.dashLinksUpdated); + }); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$rootScope"]), + (t = e), + (n = [ + { + key: "backToList", + value: function () { + this.mode = "list"; + }, + }, + { + key: "addLink", + value: function () { + this.dashboard.links.push(this.link), + (this.mode = "list"), + this.dashboard.updateSubmenuVisibility(); + }, + }, + { + key: "editLink", + value: function (e) { + (this.link = e), (this.mode = "edit"), console.log(this.link); + }, + }, + { + key: "saveLink", + value: function () { + this.backToList(); + }, + }, + { + key: "moveLink", + value: function (e, t) { + i.a.move(this.dashboard.links, e, e + t); + }, + }, + { + key: "deleteLink", + value: function (e) { + this.dashboard.links.splice(e, 1), + this.dashboard.updateSubmenuVisibility(); + }, + }, + ]) && Jo(t.prototype, n), + r && Jo(t, r), + e + ); + })(); + function ei(e, t, n) { + return { + restrict: "E", + link: function (r, a) { + var o = r.link, + i = r.dashboard, + l = + '<div class="gf-form"><a class="pointer gf-form-label" data-placement="bottom"' + + (o.asDropdown + ? ' ng-click="fillDropdown(link)" data-toggle="dropdown"' + : "") + + "><i></i> <span></span></a>"; + function s() { + var e = n.getAnchorInfo(o), + i = a.find("a"); + a.find("span").text(e.title), + o.asDropdown || + (i.attr("href", e.href), + (function () { + var e = a.find("a"), + n = t(e.parent().html()); + e.parent().html(n); + })()), + i.attr("data-placement", "bottom"), + i.tooltip({ + title: t(r.link.tooltip), + html: !0, + container: "body", + }); + } + o.asDropdown && + (l += + '<ul class="dropdown-menu pull-right" role="menu"><li ng-repeat="dash in link.searchHits"><a href="{{dash.url}}" target="{{dash.target}}">{{dash.title}}</a></li></ul>'), + (l += "</div>"), + a.html(l), + e(a.contents())(r), + a.find("i").attr("class", "fa fa-fw " + r.link.icon), + a.find("a").attr("target", r.link.target), + o.asDropdown && + r.$last && + a.find(".dropdown-menu").addClass("pull-right"), + s(), + i.events.on(g.PanelEvents.refresh, s, r); + }, + }; + } + u.a + .module("grafana.directives") + .directive("dashLinksEditor", function () { + return { + restrict: "E", + controller: Xo, + templateUrl: + "public/app/features/dashboard/components/DashLinks/editor.html", + bindToController: !0, + controllerAs: "ctrl", + scope: { dashboard: "=" }, + }; + }), + (ei.$inject = ["$compile", "$sanitize", "linkSrv"]); + var ti = function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + var o = r.getCurrent().id; + function l(e) { + return "dashboards" === e.type + ? e.tags + ? e.asDropdown + ? Promise.resolve([ + { + title: e.title, + tags: e.tags, + keepTime: e.keepTime, + includeVars: e.includeVars, + target: e.targetBlank ? "_blank" : "_self", + icon: "fa fa-bars", + asDropdown: !0, + }, + ]) + : t.searchDashboards(e, 7) + : (console.log("Dashboard link missing tag"), Promise.resolve([])) + : "link" === e.type + ? Promise.resolve([ + { + url: e.url, + title: e.title, + icon: Zo[e.icon], + tooltip: e.tooltip, + target: e.targetBlank ? "_blank" : "_self", + keepTime: e.keepTime, + includeVars: e.includeVars, + }, + ]) + : Promise.resolve([]); + } + function s() { + var e = i.a.map(t.links, l); + Promise.all(e).then(function (e) { + t.generatedLinks = i.a.flatten(e); + }); + } + (t.searchDashboards = function (e, n) { + return Object(D.a)(t)( + S.b.search({ tag: e.tags, limit: n }).then(function (t) { + return i.a.reduce( + t, + function (t, n) { + return ( + n.id !== o && + t.push({ + title: n.title, + url: n.url, + target: "_self" === e.target ? "" : e.target, + icon: "fa fa-th-large", + keepTime: e.keepTime, + includeVars: e.includeVars, + }), + t + ); + }, + [] + ); + }) + ); + }), + (t.fillDropdown = function (e) { + t.searchDashboards(e, 100).then(function (t) { + i.a.each(t, function (e) { + e.url = a.getLinkUrl(e); + }), + (e.searchHits = t); + }); + }), + s(), + n.onAppEvent(j.CoreEvents.dashLinksUpdated, s, t); + }; + (ti.$inject = ["$scope", "$rootScope", "dashboardSrv", "linkSrv"]), + (ti.$inject = ["$scope", "$rootScope", "dashboardSrv", "linkSrv"]), + u.a + .module("grafana.directives") + .directive("dashLinksContainer", function () { + return { + scope: { links: "=", dashboard: "=" }, + restrict: "E", + controller: "DashLinksContainerCtrl", + template: + '<dash-link ng-repeat="link in generatedLinks" link="link"></dash-link>', + link: function () {}, + }; + }), + u.a.module("grafana.directives").directive("dashLink", ei), + u.a + .module("grafana.directives") + .controller("DashLinksContainerCtrl", ti); + n("zogf"), n("hfOi"); + var ni = n("FO4H"); + function ri(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ai = (function () { + function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.dashboardSrv = t), + (this.asRows = !0), + (this.dateTimeFormat = "YYYY-MM-DDTHH:mm:ssZ"), + (this.excel = !1); + } + var t, n, r; + return ( + (e.$inject = ["dashboardSrv"]), + (t = e), + (n = [ + { + key: "export", + value: function () { + var e = this.dashboardSrv.getCurrent().timezone, + t = { + excel: this.excel, + dateTimeFormat: this.dateTimeFormat, + timezone: e, + }; + "table" === this.panel + ? ni.exportTableDataToCsv(this.data, this.excel) + : this.asRows + ? ni.exportSeriesListToCsv(this.data, t) + : ni.exportSeriesListToCsvColumns(this.data, t), + this.dismiss(); + }, + }, + { + key: "dismiss", + value: function () { + b.b.emit(j.CoreEvents.hideModal); + }, + }, + ]) && ri(t.prototype, n), + r && ri(t, r), + e + ); + })(); + function oi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + u.a + .module("grafana.directives") + .directive("exportDataModal", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/dashboard/components/ExportDataModal/template.html", + controller: ai, + controllerAs: "ctrl", + scope: { panel: "<", data: "<" }, + bindToController: !0, + }; + }); + var ii = (function () { + function e(t, n, r, a, o) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$route = t), + (this.$rootScope = n), + (this.$location = r), + (this.historySrv = a), + (this.$scope = o), + (this.appending = !1), + (this.diff = "basic"), + (this.limit = 10), + (this.loading = !1), + (this.max = 2), + (this.mode = "list"), + (this.start = 0), + (this.canCompare = !1), + b.a.on( + j.CoreEvents.dashboardSaved, + this.onDashboardSaved.bind(this), + o + ), + this.resetFromSource(); + } + var t, n, r; + return ( + (e.$inject = [ + "$route", + "$rootScope", + "$location", + "historySrv", + "$scope", + ]), + (t = e), + (n = [ + { + key: "onDashboardSaved", + value: function () { + this.resetFromSource(); + }, + }, + { + key: "switchMode", + value: function (e) { + (this.mode = e), "list" === this.mode && this.reset(); + }, + }, + { + key: "dismiss", + value: function () { + this.$rootScope.appEvent(j.CoreEvents.hideDashEditor); + }, + }, + { + key: "addToLog", + value: function () { + (this.start = this.start + this.limit), this.getLog(!0); + }, + }, + { + key: "revisionSelectionChanged", + value: function () { + var e = i.a.filter(this.revisions, { checked: !0 }).length; + this.canCompare = 2 === e; + }, + }, + { + key: "formatDate", + value: function (e) { + return this.dashboard.formatDate(e); + }, + }, + { + key: "formatBasicDate", + value: function (e) { + var t = + "browser" === this.dashboard.timezone + ? Object(g.dateTime)() + : Object(g.toUtc)(); + return ("browser" === this.dashboard.timezone + ? Object(g.dateTime)(e) + : Object(g.toUtc)(e) + ).from(t); + }, + }, + { + key: "getDiff", + value: function (e) { + var t = this; + if (((this.diff = e), (this.mode = "compare"), this.delta[e])) + return Promise.resolve(this.delta[e]); + var n = i.a.filter(this.revisions, { checked: !0 }); + (this.newInfo = n[0]), + (this.baseInfo = n[1]), + (this.isNewLatest = + this.newInfo.version === this.dashboard.version), + (this.loading = !0); + var r = { + new: { + dashboardId: this.dashboard.id, + version: this.newInfo.version, + }, + base: { + dashboardId: this.dashboard.id, + version: this.baseInfo.version, + }, + diffType: e, + }; + return Object(D.a)(this.$scope)( + this.historySrv + .calculateDiff(r) + .then(function (e) { + t.delta[t.diff] = e; + }) + .catch(function () { + t.mode = "list"; + }) + .finally(function () { + t.loading = !1; + }) + ); + }, + }, + { + key: "getLog", + value: function () { + var e = this, + t = + arguments.length > 0 && + void 0 !== arguments[0] && + arguments[0]; + (this.loading = !t), (this.appending = t); + var n = { limit: this.limit, start: this.start }; + return Object(D.a)(this.$scope)( + this.historySrv + .getHistoryList(this.dashboard, n) + .then(function (n) { + var r = !0, + a = !1, + o = void 0; + try { + for ( + var i, l = n[Symbol.iterator](); + !(r = (i = l.next()).done); + r = !0 + ) { + var s = i.value; + (s.createdDateString = e.formatDate(s.created)), + (s.ageString = e.formatBasicDate(s.created)), + (s.checked = !1); + } + } catch (e) { + (a = !0), (o = e); + } finally { + try { + r || null == l.return || l.return(); + } finally { + if (a) throw o; + } + } + e.revisions = t ? e.revisions.concat(n) : n; + }) + .catch(function (t) { + e.loading = !1; + }) + .finally(function () { + (e.loading = !1), (e.appending = !1); + }) + ); + }, + }, + { + key: "isLastPage", + value: function () { + return i.a.find(this.revisions, function (e) { + return 1 === e.version; + }); + }, + }, + { + key: "reset", + value: function () { + (this.delta = { basic: "", json: "" }), + (this.diff = "basic"), + (this.mode = "list"), + (this.revisions = i.a.map(this.revisions, function (e) { + return i.a.extend({}, e, { checked: !1 }); + })), + (this.canCompare = !1), + (this.start = 0), + (this.isNewLatest = !1); + }, + }, + { + key: "resetFromSource", + value: function () { + return ( + (this.revisions = []), + this.getLog().then(this.reset.bind(this)) + ); + }, + }, + { + key: "restore", + value: function (e) { + this.$rootScope.appEvent(j.CoreEvents.showConfirmModal, { + title: "Restore version", + text: "", + text2: "Are you sure you want to restore the dashboard to version ".concat( + e, + "? All unsaved changes will be lost." + ), + icon: "fa-history", + yesText: "Yes, restore to version ".concat(e), + onConfirm: this.restoreConfirm.bind(this, e), + }); + }, + }, + { + key: "restoreConfirm", + value: function (e) { + var t = this; + return ( + (this.loading = !0), + Object(D.a)(this.$scope)( + this.historySrv + .restoreDashboard(this.dashboard, e) + .then(function (n) { + t.$location.url(k.b.stripBaseFromUrl(n.url)).replace(), + t.$route.reload(), + t.$rootScope.appEvent(g.AppEvents.alertSuccess, [ + "Dashboard restored", + "Restored from version " + e, + ]); + }) + .catch(function () { + (t.mode = "list"), (t.loading = !1); + }) + ) + ); + }, + }, + ]) && oi(t.prototype, n), + r && oi(t, r), + e + ); + })(); + function li(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + u.a + .module("grafana.directives") + .directive("gfDashboardHistory", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/dashboard/components/VersionHistory/template.html", + controller: ii, + bindToController: !0, + controllerAs: "ctrl", + scope: { dashboard: "=" }, + }; + }); + var si = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "getHistoryList", + value: function (e, t) { + var n = e && e.id ? e.id : void 0; + return n + ? Object(we.getBackendSrv)().get( + "api/dashboards/id/".concat(n, "/versions"), + t + ) + : Promise.resolve([]); + }, + }, + { + key: "calculateDiff", + value: function (e) { + return Object(we.getBackendSrv)().post( + "api/dashboards/calculate-diff", + e + ); + }, + }, + { + key: "restoreDashboard", + value: function (e, t) { + var n = e && e.id ? e.id : void 0, + r = "api/dashboards/id/".concat(n, "/restore"); + return n && i.a.isNumber(t) + ? Object(we.getBackendSrv)().post(r, { version: t }) + : Promise.resolve({}); + }, + }, + ]) && li(t.prototype, n), + r && li(t, r), + e + ); + })(); + O.c.service("historySrv", si); + n("2t1j"), n("PVeq"); + function ci(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var ui = (function () { + function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.unsavedChangesSrv = t), + (this.onSaveSuccess = function () { + n.dismiss(), n.unsavedChangesSrv.tracker.onSaveSuccess(); + }); + } + var t, n, r; + return ( + (e.$inject = ["unsavedChangesSrv"]), + (t = e), + (n = [ + { + key: "discard", + value: function () { + this.dismiss(), this.unsavedChangesSrv.tracker.discardChanges(); + }, + }, + { + key: "save", + value: function () { + this.dismiss(), this.unsavedChangesSrv.tracker.saveChanges(); + }, + }, + ]) && ci(t.prototype, n), + r && ci(t, r), + e + ); + })(); + function fi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + O.c.directive("unsavedChangesModal", function () { + return { + restrict: "E", + template: + '\n<div class="modal-body">\n <div class="modal-header">\n <h2 class="modal-header-title">\n <i class="fa fa-exclamation"></i>\n <span class="p-l-1">Unsaved changes</span>\n </h2>\n\n <a class="modal-header-close" ng-click="ctrl.dismiss();">\n <i class="fa fa-remove"></i>\n </a>\n </div>\n\n <div class="modal-content text-center">\n\n <div class="confirm-modal-text">\n Do you want to save your changes?\n </div>\n\n <div class="confirm-modal-buttons">\n <save-dashboard-button dashboard="ctrl.unsavedChangesSrv.tracker.current" onSaveSuccess="ctrl.onSaveSuccess" >Save</save-dashboard-button>\n <button type="button" class="btn btn-danger" ng-click="ctrl.discard()">Discard</button>\n <button type="button" class="btn btn-inverse" ng-click="ctrl.dismiss()">Cancel</button>\n </div>\n </div>\n</div>\n', + controller: ui, + bindToController: !0, + controllerAs: "ctrl", + scope: { dismiss: "&" }, + }; + }); + var di = (function () { + function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.uiSegmentSrv = t), + (this.datasourceSrv = n), + (this.variableSrv = r), + (this.removeTagFilterSegment = t.newSegment({ + fake: !0, + value: "-- remove filter --", + })), + this.buildSegmentModel(), + this.dashboard.events.on( + j.CoreEvents.templateVariableValueUpdated, + this.buildSegmentModel.bind(this), + a + ); + } + var t, n, r; + return ( + (e.$inject = [ + "uiSegmentSrv", + "datasourceSrv", + "variableSrv", + "$scope", + ]), + (t = e), + (n = [ + { + key: "buildSegmentModel", + value: function () { + (this.segments = []), + this.variable.value && i.a.isArray(this.variable.value); + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.variable.filters[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) { + var o = r.value; + this.segments.length > 0 && + this.segments.push(this.uiSegmentSrv.newCondition("AND")), + void 0 !== o.key && + void 0 !== o.value && + (this.segments.push(this.uiSegmentSrv.newKey(o.key)), + this.segments.push( + this.uiSegmentSrv.newOperator(o.operator) + ), + this.segments.push( + this.uiSegmentSrv.newKeyValue(o.value) + )); + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + this.segments.push(this.uiSegmentSrv.newPlusButton()); + }, + }, + { + key: "getOptions", + value: function (e, t) { + var n = this; + return "operator" === e.type + ? Promise.resolve( + this.uiSegmentSrv.newOperators([ + "=", + "!=", + "<", + ">", + "=~", + "!~", + ]) + ) + : "condition" === e.type + ? Promise.resolve([this.uiSegmentSrv.newSegment("AND")]) + : this.datasourceSrv + .get(this.variable.datasource) + .then(function (r) { + var a = {}, + o = null; + return ( + "value" !== e.type + ? (o = r.getTagKeys + ? r.getTagKeys() + : Promise.resolve([])) + : ((a.key = n.segments[t - 2].value), + (o = r.getTagValues + ? r.getTagValues(a) + : Promise.resolve([]))), + o.then(function (t) { + return ( + (t = i.a.map(t, function (e) { + return n.uiSegmentSrv.newSegment({ + value: e.text, + }); + })), + "key" === e.type && + t.splice( + 0, + 0, + u.a.copy(n.removeTagFilterSegment) + ), + t + ); + }) + ); + }); + }, + }, + { + key: "segmentChanged", + value: function (e, t) { + (this.segments[t] = e), + e.value === this.removeTagFilterSegment.value + ? (this.segments.splice(t, 3), + 0 === this.segments.length + ? this.segments.push(this.uiSegmentSrv.newPlusButton()) + : this.segments.length > 2 && + (this.segments.splice(Math.max(t - 1, 0), 1), + "plus-button" !== + this.segments[this.segments.length - 1].type && + this.segments.push( + this.uiSegmentSrv.newPlusButton() + ))) + : ("plus-button" === e.type && + (t > 2 && + this.segments.splice( + t, + 0, + this.uiSegmentSrv.newCondition("AND") + ), + this.segments.push(this.uiSegmentSrv.newOperator("=")), + this.segments.push( + this.uiSegmentSrv.newFake( + "select value", + "value", + "query-segment-value" + ) + ), + (e.type = "key"), + (e.cssClass = "query-segment-key")), + t + 1 === this.segments.length && + this.segments.push(this.uiSegmentSrv.newPlusButton())), + this.updateVariableModel(); + }, + }, + { + key: "updateVariableModel", + value: function () { + var e = [], + t = -1, + n = !1; + this.segments.forEach(function (r) { + if ("value" === r.type && r.fake) n = !0; + else + switch (r.type) { + case "key": + e.push({ key: r.value }), (t += 1); + break; + case "value": + e[t].value = r.value; + break; + case "operator": + e[t].operator = r.value; + break; + case "condition": + e[t].condition = r.value; + } + }), + n || + (this.variable.setFilters(e), + this.variableSrv.variableUpdated(this.variable, !0)); + }, + }, + ]) && fi(t.prototype, n), + r && fi(t, r), + e + ); + })(); + function pi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + O.c.directive("adHocFilters", function () { + return { + restrict: "E", + template: + '\n<div class="gf-form-inline">\n <div class="gf-form" ng-repeat="segment in ctrl.segments">\n <metric-segment segment="segment" get-options="ctrl.getOptions(segment, $index)"\n on-change="ctrl.segmentChanged(segment, $index)"></metric-segment>\n </div>\n</div>\n', + controller: di, + bindToController: !0, + controllerAs: "ctrl", + scope: { variable: "=", dashboard: "=" }, + }; + }); + var hi = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.source = this.row), + (this.row = this.row.getSaveModel()); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "update", + value: function () { + (this.source.title = this.row.title), + (this.source.repeat = this.row.repeat), + this.onUpdated(), + this.dismiss(); + }, + }, + ]) && pi(t.prototype, n), + r && pi(t, r), + e + ); + })(); + x.c.directive("rowOptions", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/dashboard/components/RowOptions/template.html", + controller: hi, + bindToController: !0, + controllerAs: "ctrl", + scope: { row: "=", dismiss: "&", onUpdated: "&" }, + }; + }); + var mi = n("BVom"), + gi = n("J4KJ"), + bi = n("3p3q"), + vi = n("wobk"), + yi = n("QzbV"); + function wi(e) { + return (wi = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (e) { + return typeof e; + } + : function (e) { + return e && + "function" == typeof Symbol && + e.constructor === Symbol && + e !== Symbol.prototype + ? "symbol" + : typeof e; + })(e); + } + function Oi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + function xi(e, t) { + return !t || ("object" !== wi(t) && "function" != typeof t) + ? (function (e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; + })(e) + : t; + } + function ki(e) { + return (ki = Object.setPrototypeOf + ? Object.getPrototypeOf + : function (e) { + return e.__proto__ || Object.getPrototypeOf(e); + })(e); + } + function ji(e, t) { + return (ji = + Object.setPrototypeOf || + function (e, t) { + return (e.__proto__ = t), e; + })(e, t); + } + var Si = (function (e) { + function t(e) { + var n; + return ( + (function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, t), + ((n = xi( + this, + ki(t).call(this, e) + )).onOpenAddPermissions = function () { + n.setState({ isAdding: !0 }); + }), + (n.onRemoveItem = function (e) { + n.props.removeDashboardPermission(n.props.dashboardId, e); + }), + (n.onPermissionChanged = function (e, t) { + n.props.updateDashboardPermission(n.props.dashboardId, e, t); + }), + (n.onAddPermission = function (e) { + return n.props.addDashboardPermission(n.props.dashboardId, e); + }), + (n.onCancelAddPermission = function () { + n.setState({ isAdding: !1 }); + }), + (n.state = { isAdding: !1 }), + n + ); + } + var n, r, a; + return ( + (function (e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError( + "Super expression must either be null or a function" + ); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + t && ji(e, t); + })(t, e), + (n = t), + (r = [ + { + key: "componentDidMount", + value: function () { + this.props.getDashboardPermissions(this.props.dashboardId); + }, + }, + { + key: "render", + value: function () { + var e = this.props, + t = e.permissions, + n = e.folder, + r = this.state.isAdding; + return d.a.createElement( + "div", + null, + d.a.createElement( + "div", + { className: "dashboard-settings__header" }, + d.a.createElement( + "div", + { className: "page-action-bar" }, + d.a.createElement( + "h3", + { className: "d-inline-block" }, + "Permissions" + ), + d.a.createElement( + ee.Tooltip, + { + placement: "auto", + content: d.a.createElement(yi.a, null), + }, + d.a.createElement( + "div", + { className: "page-sub-heading-icon" }, + d.a.createElement("i", { + className: + "gicon gicon-question gicon--has-hover", + }) + ) + ), + d.a.createElement("div", { + className: "page-action-bar__spacer", + }), + d.a.createElement( + "button", + { + className: "btn btn-primary pull-right", + onClick: this.onOpenAddPermissions, + disabled: r, + }, + "Add Permission" + ) + ) + ), + d.a.createElement( + mi.a, + { in: r }, + d.a.createElement(vi.a, { + onAddPermission: this.onAddPermission, + onCancel: this.onCancelAddPermission, + }) + ), + d.a.createElement(bi.a, { + items: t, + onRemoveItem: this.onRemoveItem, + onPermissionChanged: this.onPermissionChanged, + isFetching: !1, + folderInfo: n, + }) + ); + }, + }, + ]) && Oi(n.prototype, r), + a && Oi(n, a), + t + ); + })(f.PureComponent), + Ei = { + getDashboardPermissions: gi.c, + addDashboardPermission: gi.a, + removeDashboardPermission: gi.g, + updateDashboardPermission: gi.h, + }, + Ci = Object(ca.b)( + Si, + function (e) { + return { permissions: e.dashboard.permissions }; + }, + Ei + ), + Pi = n("Q8uG"); + function Ti(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + Object(Pi.a)("dashboardPermissions", Ci, ["dashboardId", "folder"]); + var Di = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.navModel = n.getNav("dashboards", "playlists", 0)), + Object(D.a)(t)( + Object(we.getBackendSrv)() + .get("/api/playlists") + .then(function (e) { + r.playlists = e.map(function (e) { + return (e.startUrl = "playlists/play/".concat(e.id)), e; + }); + }) + ); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "navModelSrv"]), + (t = e), + (n = [ + { + key: "removePlaylistConfirmed", + value: function (e) { + var t = this; + i.a.remove(this.playlists, { id: e.id }), + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .delete("/api/playlists/" + e.id) + .then( + function () { + t.$scope.appEvent(g.AppEvents.alertSuccess, [ + "Playlist deleted", + ]); + }, + function () { + t.$scope.appEvent(g.AppEvents.alertError, [ + "Unable to delete playlist", + ]), + t.playlists.push(e); + } + ) + ); + }, + }, + { + key: "removePlaylist", + value: function (e) { + var t = this; + this.$scope.appEvent(j.CoreEvents.showConfirmModal, { + title: "Delete", + text: + "Are you sure you want to delete playlist " + e.name + "?", + yesText: "Delete", + icon: "fa-trash", + onConfirm: function () { + t.removePlaylistConfirmed(e); + }, + }); + }, + }, + ]) && Ti(t.prototype, n), + r && Ti(t, r), + e + ); + })(); + function Ai(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + O.c.controller("PlaylistsCtrl", Di); + var _i = (function () { + function e(t, n) { + var r = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.query = { query: "", tag: [], starred: !1, limit: 20 }), + n(function () { + (r.query.query = ""), + (r.query.type = "dash-db"), + r.searchDashboards(); + }, 100); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$timeout"]), + (t = e), + (n = [ + { + key: "searchDashboards", + value: function () { + this.tagsMode = !1; + var e = {}; + (e.promise = Object(D.a)(this.$scope)( + S.b.search(this.query).then(function (e) { + return { dashboardResult: e, tagResult: [] }; + }) + )), + this.searchStarted(e); + }, + }, + { + key: "showStarred", + value: function () { + (this.query.starred = !this.query.starred), + this.searchDashboards(); + }, + }, + { + key: "queryHasNoFilters", + value: function () { + return ( + "" === this.query.query && + !1 === this.query.starred && + 0 === this.query.tag.length + ); + }, + }, + { + key: "filterByTag", + value: function (e, t) { + this.query.tag.push(e), + this.searchDashboards(), + t && (t.stopPropagation(), t.preventDefault()); + }, + }, + { + key: "getTags", + value: function () { + var e = {}; + (e.promise = Object(D.a)(this.$scope)( + S.b.get("/api/dashboards/tags").then(function (e) { + return { dashboardResult: [], tagResult: e }; + }) + )), + this.searchStarted(e); + }, + }, + ]) && Ai(t.prototype, n), + r && Ai(t, r), + e + ); + })(); + O.c.directive("playlistSearch", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/playlist/partials/playlist_search.html", + controller: _i, + bindToController: !0, + controllerAs: "ctrl", + scope: { searchStarted: "&" }, + }; + }); + var Ni = n("0Mjz"); + function Mi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var Ii = { kiosk: !0, autofitpanels: !0, orgId: !0 }, + Ri = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$location = t), + (this.$timeout = n), + (this.numberOfLoops = 0); + } + var t, n, r; + return ( + (e.$inject = ["$location", "$timeout"]), + (t = e), + (n = [ + { + key: "next", + value: function () { + var e = this; + if ( + (this.$timeout.cancel(this.cancelPromise), + this.index > this.dashboards.length - 1) + ) { + if ((this.numberOfLoops++, this.numberOfLoops >= 3)) + return void (window.location.href = this.startUrl); + this.index = 0; + } + var t = this.dashboards[this.index], + n = this.$location.search(), + r = i.a.pickBy(n, function (e, t) { + return Ii[t]; + }), + a = k.b.stripBaseFromUrl(t.url); + this.$timeout(function () { + e.$location.url(a + "?" + Object(Ni.d)(r)); + }), + this.index++, + (this.validPlaylistUrl = a), + (this.cancelPromise = this.$timeout(function () { + return e.next(); + }, this.interval)); + }, + }, + { + key: "prev", + value: function () { + (this.index = Math.max(this.index - 2, 0)), this.next(); + }, + }, + { + key: "storeUpdated", + value: function () { + Le.d.getState().location.path !== this.validPlaylistUrl && + this.stop(); + }, + }, + { + key: "start", + value: function (e) { + var t = this; + return ( + this.stop(), + (this.startUrl = window.location.href), + (this.index = 0), + (this.isPlaying = !0), + (this.storeUnsub = Le.d.subscribe(function () { + return t.storeUpdated(); + })), + (this.validPlaylistUrl = this.$location.path()), + b.b.emit(j.CoreEvents.playlistStarted), + Object(we.getBackendSrv)() + .get("/api/playlists/".concat(e)) + .then(function (n) { + return Object(we.getBackendSrv)() + .get("/api/playlists/".concat(e, "/dashboards")) + .then(function (e) { + (t.dashboards = e), + (t.interval = Tn.a.interval_to_ms(n.interval)), + t.next(); + }); + }) + ); + }, + }, + { + key: "stop", + value: function () { + this.isPlaying && + this.$location.search().kiosk && + b.b.emit(j.CoreEvents.toggleKioskMode, { exit: !0 }), + (this.index = 0), + (this.isPlaying = !1), + this.storeUnsub && this.storeUnsub(), + this.cancelPromise && + this.$timeout.cancel(this.cancelPromise), + b.b.emit(j.CoreEvents.playlistStopped); + }, + }, + ]) && Mi(t.prototype, n), + r && Mi(t, r), + e + ); + })(); + function Fi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + O.c.service("playlistSrv", Ri); + var Li = (function () { + function e(t, n, r, a) { + var o = this; + if ( + ((function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.$location = n), + (this.filteredDashboards = []), + (this.filteredTags = []), + (this.searchQuery = ""), + (this.loading = !1), + (this.playlist = { interval: "5m" }), + (this.playlistItems = []), + (this.dashboardresult = []), + (this.tagresult = []), + (this.navModel = a.getNav("dashboards", "playlists", 0)), + (this.isNew = !r.current.params.id), + r.current.params.id) + ) { + var i = r.current.params.id; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/playlists/" + i) + .then(function (e) { + o.playlist = e; + }) + ), + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/playlists/" + i + "/items") + .then(function (e) { + o.playlistItems = e; + }) + ); + } + } + var t, n, r; + return ( + (e.$inject = ["$scope", "$location", "$route", "navModelSrv"]), + (t = e), + (n = [ + { + key: "filterFoundPlaylistItems", + value: function () { + var e = this; + (this.filteredDashboards = i.a.reject( + this.dashboardresult, + function (t) { + return i.a.find(e.playlistItems, function (e) { + return parseInt(e.value, 10) === t.id; + }); + } + )), + (this.filteredTags = i.a.reject(this.tagresult, function (t) { + return i.a.find(e.playlistItems, function (e) { + return e.value === t.term; + }); + })); + }, + }, + { + key: "addPlaylistItem", + value: function (e) { + (e.value = e.id.toString()), + (e.type = "dashboard_by_id"), + (e.order = this.playlistItems.length + 1), + this.playlistItems.push(e), + this.filterFoundPlaylistItems(); + }, + }, + { + key: "addTagPlaylistItem", + value: function (e) { + var t = { + value: e.term, + type: "dashboard_by_tag", + order: this.playlistItems.length + 1, + title: e.term, + }; + this.playlistItems.push(t), this.filterFoundPlaylistItems(); + }, + }, + { + key: "removePlaylistItem", + value: function (e) { + i.a.remove(this.playlistItems, function (t) { + return e === t; + }), + this.filterFoundPlaylistItems(); + }, + }, + { + key: "savePlaylist", + value: function (e, t) { + var n = this; + (e.items = t), + (e.id + ? Object(D.a)(this.$scope)( + Object(we.getBackendSrv)().put( + "/api/playlists/" + e.id, + e + ) + ) + : Object(D.a)(this.$scope)( + Object(we.getBackendSrv)().post("/api/playlists", e) + ) + ).then( + function () { + n.$scope.appEvent(g.AppEvents.alertSuccess, [ + "Playlist saved", + ]), + n.$location.path("/playlists"); + }, + function () { + n.$scope.appEvent(g.AppEvents.alertError, [ + "Unable to save playlist", + ]); + } + ); + }, + }, + { + key: "isPlaylistEmpty", + value: function () { + return !this.playlistItems.length; + }, + }, + { + key: "backToList", + value: function () { + this.$location.path("/playlists"); + }, + }, + { + key: "searchStarted", + value: function (e) { + var t = this; + e.then(function (e) { + (t.dashboardresult = e.dashboardResult), + (t.tagresult = e.tagResult), + t.filterFoundPlaylistItems(); + }); + }, + }, + { + key: "movePlaylistItem", + value: function (e, t) { + var n = this.playlistItems.indexOf(e), + r = n + t; + r >= 0 && + r < this.playlistItems.length && + (this.playlistItems.splice(n, 1), + this.playlistItems.splice(r, 0, e)); + }, + }, + { + key: "movePlaylistItemUp", + value: function (e) { + this.movePlaylistItem(e, -1); + }, + }, + { + key: "movePlaylistItemDown", + value: function (e) { + this.movePlaylistItem(e, 1); + }, + }, + ]) && Fi(t.prototype, n), + r && Fi(t, r), + e + ); + })(); + function Vi(e) { + e.when("/playlists", { + templateUrl: "public/app/features/playlist/partials/playlists.html", + controllerAs: "ctrl", + controller: "PlaylistsCtrl", + }) + .when("/playlists/create", { + templateUrl: "public/app/features/playlist/partials/playlist.html", + controllerAs: "ctrl", + controller: "PlaylistEditCtrl", + }) + .when("/playlists/edit/:id", { + templateUrl: "public/app/features/playlist/partials/playlist.html", + controllerAs: "ctrl", + controller: "PlaylistEditCtrl", + }) + .when("/playlists/play/:id", { + template: "", + resolve: { + init: [ + "playlistSrv", + "$route", + function (e, t) { + var n = t.current.params.id; + e.start(n); + }, + ], + }, + }); + } + O.c.controller("PlaylistEditCtrl", Li), + (Vi.$inject = ["$routeProvider"]), + u.a.module("grafana.routes").config(Vi); + var Bi = n("CLuu"), + $i = n.n(Bi), + qi = u.a.module("grafana.directives"); + qi.directive("grafanaPanel", [ + "$rootScope", + "$document", + "$timeout", + function (e, t, n) { + return { + restrict: "E", + template: + '\n <ng-transclude class="panel-height-helper"></ng-transclude>\n', + transclude: !0, + scope: { ctrl: "=" }, + link: function (e, t) { + var r, + a = e.ctrl, + o = e.ctrl.panel; + function i() { + r && r.update(); + } + a.events.on(g.PanelEvents.componentDidMount, function () { + if (a.__proto__.constructor.scrollable) { + var e = t, + n = t.find(":first").find(":first"); + e.addClass( + "baron baron__root baron__clipper panel-content--scrollable" + ), + $( + '\n <div class="baron__track">\n <div class="baron__bar"></div>\n </div>\n ' + ).appendTo(e), + n.addClass("baron__scroller"), + (r = $i()({ + root: e[0], + scroller: n[0], + bar: ".baron__bar", + barOnCls: "_scrollbar", + scrollingCls: "_scrolling", + })).scroll(); + } + }), + o.events.on(g.PanelEvents.refresh, function () { + (a.height = e.$parent.$parent.size.height), + (a.width = e.$parent.$parent.size.width); + }), + o.events.on(g.PanelEvents.render, function (t) { + (a.height = e.$parent.$parent.size.height), + (a.width = e.$parent.$parent.size.width); + }), + o.events.on(g.PanelEvents.panelSizeChanged, function () { + n(function () { + i(), a.render(); + }); + }), + o.events.on(g.PanelEvents.viewModeChanged, function () { + setTimeout(function () { + n(function () { + a.render(), i(); + }); + }, 10); + }), + e.$on("$destroy", function () { + t.off(), + o.events.emit(g.PanelEvents.panelTeardown), + o.events.removeAllListeners(), + r && r.dispose(); + }); + }, + }; + }, + ]); + n("fQqI"); + Hi.$inject = ["dynamicDirectiveSrv"]; + var Ui = u.a.module("grafana.directives"), + zi = {}; + function Hi(e) { + return e.create({ + scope: { ctrl: "=", editorTab: "=" }, + directive: function (e) { + var t = e.ctrl.pluginId, + n = e.editorTab.title + .toLowerCase() + .replace(" ", "-") + .replace("&", "") + .replace(" ", "") + .replace(" ", "-"); + if (zi[t]) { + if (zi[t][n]) return zi[t][n]; + } else zi[t] = []; + var r = { + fn: function () { + return e.editorTab.directiveFn(); + }, + name: "panel-editor-tab-".concat(t).concat(n), + }; + return (zi[t][n] = r), r; + }, + }); + } + Ui.directive("panelEditorTab", Hi); + var Gi = u.a.module("grafana.directives"), + Wi = function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.panelCtrl = this.queryCtrl.panelCtrl), + (this.target = this.queryCtrl.target), + (this.panel = this.panelCtrl.panel), + this.hasTextEditMode && + this.queryCtrl.toggleEditorMode && + (this.panelCtrl.toggleEditorMode = this.queryCtrl.toggleEditorMode.bind( + this.queryCtrl + )), + this.queryCtrl.getCollapsedText && + (this.panelCtrl.getCollapsedText = this.queryCtrl.getCollapsedText.bind( + this.queryCtrl + )); + }; + Gi.directive("queryEditorRow", function () { + return { + restrict: "E", + controller: Wi, + bindToController: !0, + controllerAs: "ctrl", + templateUrl: + "public/app/features/panel/partials/query_editor_row.html", + transclude: !0, + scope: { queryCtrl: "=", canCollapse: "=", hasTextEditMode: "=" }, + }; + }), + (Qi.$inject = ["variableSrv"]); + function Qi(e) { + return { + restrict: "E", + template: + '\n<div class="gf-form-select-wrapper max-width-18">\n <select class="gf-form-input" ng-model="panel.repeat" ng-options="f.value as f.text for f in variables" ng-change="optionChanged()">\n <option value=""></option>\n</div>\n', + scope: { panel: "=" }, + link: function (t, n) { + n.css({ display: "block", width: "100%" }), + Object(m.c)().featureToggles.newVariables && + (t.variables = Object(yr.d)().map(function (e) { + return { text: e.name, value: e.name }; + })), + Object(m.c)().featureToggles.newVariables || + (t.variables = e.variables.map(function (e) { + return { text: e.name, value: e.name }; + })), + 0 === t.variables.length && + t.variables.unshift({ + text: "No template variables found", + value: null, + }), + t.variables.unshift({ text: "Disabled", value: null }), + t.panel.repeat && + !t.panel.repeatDirection && + (t.panel.repeatDirection = "h"), + (t.optionChanged = function () { + t.panel.repeat && (t.panel.repeatDirection = "h"); + }); + }, + }; + } + x.c.directive("dashRepeatOption", Qi); + var Yi = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.panel.links = t.panel.links || []), + (t.addLink = function () { + t.panel.links.push({ type: "dashboard" }); + }), + (t.searchDashboards = function (e, t) { + S.b.search({ query: e }).then(function (e) { + var n = i.a.map(e, function (e) { + return e.title; + }); + t(n); + }); + }), + (t.dashboardChanged = function (e) { + S.b.search({ query: e.dashboard }).then(function (t) { + var n = i.a.find(t, { title: e.dashboard }); + n && + (n.url ? (e.url = n.url) : (e.dashUri = n.uri), + (e.title = n.title)); + }); + }), + (t.deleteLink = function (e) { + t.panel.links = i.a.without(t.panel.links, e); + }); + }; + (Yi.$inject = ["$scope"]), + (Yi.$inject = ["$scope"]), + u.a + .module("grafana.directives") + .directive("panelLinksEditor", function () { + return { + scope: { panel: "=" }, + restrict: "E", + controller: "PanelLinksEditorCtrl", + templateUrl: "public/app/features/panel/panellinks/module.html", + link: function () {}, + }; + }) + .controller("PanelLinksEditorCtrl", Yi); + var Ki = function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (n.sidemenu = !1), + (t.navModel = { + main: { + icon: "gicon gicon-branding", + subTitle: "Preferences", + text: "Select active organization", + }, + }), + (t.init = function () { + t.getUserOrgs(); + }), + (t.getUserOrgs = function () { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .get("/api/user/orgs") + .then(function (e) { + t.orgs = e; + }) + ); + }), + (t.setUsingOrg = function (e) { + Object(we.getBackendSrv)() + .post("/api/user/using/" + e.orgId) + .then(function () { + window.location.href = m.b.appSubUrl + "/"; + }); + }), + t.init(); + }; + (Ki.$inject = ["$scope", "contextSrv"]), + (Ki.$inject = ["$scope", "contextSrv"]), + u.a.module("grafana.controllers").controller("SelectOrgCtrl", Ki); + var Ji = function e(t, n, r) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.navModel = r.getNav("admin", "global-orgs", 0)), + (t.newOrg = { name: "" }), + (t.createOrg = function () { + Object(we.getBackendSrv)() + .post("/api/orgs/", t.newOrg) + .then(function (e) { + Object(we.getBackendSrv)() + .post("/api/user/using/" + e.orgId) + .then(function () { + window.location.href = m.b.appSubUrl + "/org"; + }); + }); + }); + }; + function Zi(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + (Ji.$inject = ["$scope", "$http", "navModelSrv"]), + (Ji.$inject = ["$scope", "$http", "navModelSrv"]), + u.a.module("grafana.controllers").controller("NewOrgCtrl", Ji); + var Xi = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.pages = []), + (this.perPage = 50), + (this.page = 1), + (this.showPaging = !1), + (this.navModel = n.getNav("admin", "global-users", 0)), + (this.query = ""), + this.getUsers(); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "navModelSrv"]), + (t = e), + (n = [ + { + key: "getUsers", + value: function () { + var e = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get( + "/api/users/search?perpage=" + .concat(this.perPage, "&page=") + .concat(this.page, "&query=") + .concat(this.query) + ) + .then(function (t) { + (e.users = t.users), + (e.page = t.page), + (e.perPage = t.perPage), + (e.totalPages = Math.ceil(t.totalCount / t.perPage)), + (e.showPaging = e.totalPages > 1), + (e.pages = []); + for (var n = 1; n < e.totalPages + 1; n++) + e.pages.push({ page: n, current: n === e.page }); + e.addUsersAuthLabels(); + }) + ); + }, + }, + { + key: "navigateToPage", + value: function (e) { + (this.page = e.page), this.getUsers(); + }, + }, + { + key: "addUsersAuthLabels", + value: function () { + var e = !0, + t = !1, + n = void 0; + try { + for ( + var r, a = this.users[Symbol.iterator](); + !(e = (r = a.next()).done); + e = !0 + ) { + var o = r.value; + (o.authLabel = el(o)), (o.authLabelStyle = tl(o.authLabel)); + } + } catch (e) { + (t = !0), (n = e); + } finally { + try { + e || null == a.return || a.return(); + } finally { + if (t) throw n; + } + } + }, + }, + ]) && Zi(t.prototype, n), + r && Zi(t, r), + e + ); + })(); + function el(e) { + return e.authLabels && e.authLabels.length ? e.authLabels[0] : ""; + } + function tl(e) { + if ("LDAP" === e || !e) return {}; + var t = Object(ee.getTagColorsFromName)(e); + return { "background-color": t.color, "border-color": t.borderColor }; + } + var nl = function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.user = {}), + (t.sessions = []), + (t.newOrg = { name: "", role: "Editor" }), + (t.permissions = {}), + (t.navModel = a.getNav("admin", "global-users", 0)), + (t.init = function () { + n.id && + Object(D.a)(t)( + Promise.all([ + t.getUser(n.id), + t.getUserSessions(n.id), + t.getUserOrgs(n.id), + ]) + ); + }), + (t.getUser = function (e) { + return Object(we.getBackendSrv)() + .get("/api/users/" + e) + .then(function (n) { + (t.user = n), + (t.user_id = e), + (t.permissions.isGrafanaAdmin = n.isGrafanaAdmin); + }); + }), + (t.getUserSessions = function (e) { + return Object(we.getBackendSrv)() + .get("/api/admin/users/" + e + "/auth-tokens") + .then(function (e) { + e.reverse(), + (t.sessions = e.map(function (e) { + return { + id: e.id, + isActive: e.isActive, + seenAt: Object(g.dateTime)(e.seenAt).fromNow(), + createdAt: Object(g.dateTime)(e.createdAt).format( + "MMMM DD, YYYY" + ), + clientIp: e.clientIp, + browser: e.browser, + browserVersion: e.browserVersion, + os: e.os, + osVersion: e.osVersion, + device: e.device, + }; + })); + }); + }), + (t.revokeUserSession = function (e) { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .post("/api/admin/users/" + t.user_id + "/revoke-auth-token", { + authTokenId: e, + }) + .then(function () { + t.sessions = t.sessions.filter(function (t) { + return t.id !== e; + }); + }) + ); + }), + (t.revokeAllUserSessions = function (e) { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .post("/api/admin/users/" + t.user_id + "/logout") + .then(function () { + t.sessions = []; + }) + ); + }), + (t.setPassword = function () { + if (t.passwordForm.$valid) { + var e = { password: t.password }; + Object(D.a)(t)( + Object(we.getBackendSrv)() + .put("/api/admin/users/" + t.user_id + "/password", e) + .then(function () { + r.path("/admin/users"); + }) + ); + } + }), + (t.updatePermissions = function () { + var e = t.permissions; + Object(we.getBackendSrv)().put( + "/api/admin/users/" + t.user_id + "/permissions", + e + ); + }), + (t.getUserOrgs = function (e) { + return Object(we.getBackendSrv)() + .get("/api/users/" + e + "/orgs") + .then(function (e) { + t.orgs = e; + }); + }), + (t.update = function () { + t.userForm.$valid && + Object(D.a)(t)( + Object(we.getBackendSrv)() + .put("/api/users/" + t.user_id, t.user) + .then(function () { + r.path("/admin/users"); + }) + ); + }), + (t.updateOrgUser = function (e) { + Object(D.a)(t)( + Object(we.getBackendSrv)().patch( + "/api/orgs/" + e.orgId + "/users/" + t.user_id, + e + ) + ); + }), + (t.removeOrgUser = function (e) { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .delete("/api/orgs/" + e.orgId + "/users/" + t.user_id) + .then(function () { + return Promise.all([ + t.getUser(t.user_id), + t.getUserOrgs(t.user_id), + ]); + }) + ); + }), + (t.orgsSearchCache = []), + (t.searchOrgs = function (e, n) { + t.orgsSearchCache.length > 0 + ? n(i.a.map(t.orgsSearchCache, "name")) + : Object(D.a)(t)( + Object(we.getBackendSrv)() + .get("/api/orgs", { query: "" }) + .then(function (e) { + (t.orgsSearchCache = e), n(i.a.map(e, "name")); + }) + ); + }), + (t.addOrgUser = function () { + if (t.addOrgForm.$valid) { + var e = i.a.find(t.orgsSearchCache, { name: t.newOrg.name }); + e && + ((t.newOrg.loginOrEmail = t.user.login), + Object(D.a)(t)( + Object(we.getBackendSrv)() + .post("/api/orgs/" + e.id + "/users/", t.newOrg) + .then(function () { + return Promise.all([ + t.getUser(t.user_id), + t.getUserOrgs(t.user_id), + ]); + }) + )); + } + }), + (t.deleteUser = function (e) { + t.appEvent(j.CoreEvents.showConfirmModal, { + title: "Delete", + text: "Do you want to delete " + e.login + "?", + icon: "fa-trash", + yesText: "Delete", + onConfirm: function () { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .delete("/api/admin/users/" + e.id) + .then(function () { + r.path("/admin/users"); + }) + ); + }, + }); + }), + (t.disableUser = function (e) { + var n = t.user; + if (n.isExternal) + return e.preventDefault(), void e.stopPropagation(); + var r = n.isDisabled ? "/enable" : "/disable"; + Object(we.getBackendSrv)() + .post("/api/admin/users/" + n.id + r) + .then(function () { + return t.init(); + }); + }), + t.init(); + }; + function rl(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function al(e) { + return function () { + var t = this, + n = arguments; + return new Promise(function (r, a) { + var o = e.apply(t, n); + function i(e) { + rl(o, r, a, i, l, "next", e); + } + function l(e) { + rl(o, r, a, i, l, "throw", e); + } + i(void 0); + }); + }; + } + nl.$inject = ["$scope", "$routeParams", "$location", "navModelSrv"]; + var ol = function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.init = al( + regeneratorRuntime.mark(function e() { + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t.navModel = n.getNav("admin", "global-orgs", 0)), + (e.next = 3), + t.getOrgs() + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )), + (t.getOrgs = al( + regeneratorRuntime.mark(function e() { + var n; + return regeneratorRuntime.wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Object(D.a)(t)( + Object(we.getBackendSrv)().get("/api/orgs") + ) + ); + case 2: + (n = e.sent), (t.orgs = n); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (t.deleteOrg = function (e) { + var n; + t.appEvent(j.CoreEvents.showConfirmModal, { + title: "Delete", + text: "Do you want to delete organization ".concat(e.name, "?"), + text2: "All dashboards for this organization will be removed!", + icon: "fa-trash", + yesText: "Delete", + onConfirm: + ((n = al( + regeneratorRuntime.mark(function n() { + return regeneratorRuntime.wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + Object(we.getBackendSrv)().delete( + "/api/orgs/" + e.id + ) + ); + case 2: + return (n.next = 4), t.getOrgs(); + case 4: + case "end": + return n.stop(); + } + }, n); + }) + )), + function () { + return n.apply(this, arguments); + }), + }); + }), + t.init(); + }; + ol.$inject = ["$scope", "navModelSrv"]; + var il = function e(t, n, r, a) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (t.init = function () { + (t.navModel = a.getNav("admin", "global-orgs", 0)), + n.id && + Object(D.a)(t)( + Promise.all([t.getOrg(n.id), t.getOrgUsers(n.id)]) + ); + }), + (t.getOrg = function (e) { + return Object(we.getBackendSrv)() + .get("/api/orgs/" + e) + .then(function (e) { + t.org = e; + }); + }), + (t.getOrgUsers = function (e) { + return Object(we.getBackendSrv)() + .get("/api/orgs/" + e + "/users") + .then(function (e) { + t.orgUsers = e; + }); + }), + (t.update = function () { + t.orgDetailsForm.$valid && + Object(D.a)(t)( + Object(we.getBackendSrv)() + .put("/api/orgs/" + t.org.id, t.org) + .then(function () { + r.path("/admin/orgs"); + }) + ); + }), + (t.updateOrgUser = function (e) { + Object(we.getBackendSrv)().patch( + "/api/orgs/" + e.orgId + "/users/" + e.userId, + e + ); + }), + (t.removeOrgUser = function (e) { + Object(D.a)(t)( + Object(we.getBackendSrv)() + .delete("/api/orgs/" + e.orgId + "/users/" + e.userId) + .then(function () { + return t.getOrgUsers(t.org.id); + }) + ); + }), + t.init(); + }; + il.$inject = ["$scope", "$routeParams", "$location", "navModelSrv"]; + var ll = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.navModel = t.getNav("admin")); + }; + function sl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + (ll.$inject = ["navModelSrv"]), + (ll.$inject = ["navModelSrv"]), + O.c.controller("AdminListUsersCtrl", Xi), + O.c.controller("AdminEditUserCtrl", nl), + O.c.controller("AdminListOrgsCtrl", ol), + O.c.controller("AdminEditOrgCtrl", il), + O.c.controller("AdminHomeCtrl", ll); + var cl = (function () { + function e(t, n, r, a, o) { + var l = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.$routeParams = n), + (this.$location = r), + (this.$templateCache = a), + (this.testSeverity = "critical"), + (this.defaults = { + type: "email", + sendReminder: !1, + disableResolveMessage: !1, + frequency: "15m", + settings: { + httpMethod: "POST", + autoResolve: !0, + severity: "critical", + uploadImage: !0, + }, + isDefault: !1, + }), + (this.navModel = o.getNav("alerting", "channels", 0)), + (this.isNew = !this.$routeParams.id), + (this.getFrequencySuggestion = function () { + return ["1m", "5m", "10m", "15m", "30m", "1h"]; + }), + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/alert-notifiers") + .then(function (e) { + l.notifiers = e; + var t = !0, + n = !1, + r = void 0; + try { + for ( + var a, o = l.notifiers[Symbol.iterator](); + !(t = (a = o.next()).done); + t = !0 + ) { + var s = a.value; + l.$templateCache.put( + l.getNotifierTemplateId(s.type), + s.optionsTemplate + ); + } + } catch (e) { + (n = !0), (r = e); + } finally { + try { + t || null == o.return || o.return(); + } finally { + if (n) throw r; + } + } + return l.$routeParams.id + ? Object(we.getBackendSrv)() + .get( + "/api/alert-notifications/".concat(l.$routeParams.id) + ) + .then(function (e) { + return ( + l.navModel.breadcrumbs.push({ text: e.name }), + (l.navModel.node = { text: e.name }), + (e.settings = i.a.defaults( + e.settings, + l.defaults.settings + )), + e + ); + }) + : (l.navModel.breadcrumbs.push({ text: "New channel" }), + (l.navModel.node = { text: "New channel" }), + i.a.defaults(l.model, l.defaults)); + }) + .then(function (e) { + (l.model = e), + (l.notifierTemplateId = l.getNotifierTemplateId( + l.model.type + )); + }) + ); + } + var t, n, r; + return ( + (e.$inject = [ + "$scope", + "$routeParams", + "$location", + "$templateCache", + "navModelSrv", + ]), + (t = e), + (n = [ + { + key: "save", + value: function () { + var e = this; + this.theForm.$valid && + (this.model.id + ? Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .put( + "/api/alert-notifications/".concat(this.model.id), + this.model + ) + .then(function (t) { + (e.model = t), + x.a.emit(g.AppEvents.alertSuccess, [ + "Notification updated", + ]); + }) + .catch(function (e) { + e.data && + e.data.error && + x.a.emit(g.AppEvents.alertError, [e.data.error]); + }) + ) + : Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .post("/api/alert-notifications", this.model) + .then(function (t) { + x.a.emit(g.AppEvents.alertSuccess, [ + "Notification created", + ]), + e.$location.path("alerting/notifications"); + }) + .catch(function (e) { + e.data && + e.data.error && + x.a.emit(g.AppEvents.alertError, [e.data.error]); + }) + )); + }, + }, + { + key: "deleteNotification", + value: function () { + var e = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .delete("/api/alert-notifications/".concat(this.model.id)) + .then(function (t) { + (e.model = t), e.$location.path("alerting/notifications"); + }) + ); + }, + }, + { + key: "getNotifierTemplateId", + value: function (e) { + return "notifier-options-".concat(e); + }, + }, + { + key: "typeChanged", + value: function () { + (this.model.settings = i.a.defaults( + {}, + this.defaults.settings + )), + (this.notifierTemplateId = this.getNotifierTemplateId( + this.model.type + )); + }, + }, + { + key: "testNotification", + value: function () { + if (this.theForm.$valid) { + var e = { + name: this.model.name, + type: this.model.type, + frequency: this.model.frequency, + settings: this.model.settings, + }; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)().post( + "/api/alert-notifications/test", + e + ) + ); + } + }, + }, + ]) && sl(t.prototype, n), + r && sl(t, r), + e + ); + })(); + function ul(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + x.c.controller("AlertNotificationEditCtrl", cl); + var fl = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + this.loadNotifications(), + (this.navModel = n.getNav("alerting", "channels", 0)); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "navModelSrv"]), + (t = e), + (n = [ + { + key: "loadNotifications", + value: function () { + var e = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/alert-notifications") + .then(function (t) { + e.notifications = t; + }) + ); + }, + }, + { + key: "deleteNotification", + value: function (e) { + var t = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .delete("/api/alert-notifications/".concat(e)) + .then(function () { + t.notifications = t.notifications.filter(function (t) { + return t.id !== e; + }); + }) + ); + }, + }, + ]) && ul(t.prototype, n), + r && ul(t, r), + e + ); + })(); + function dl(e, t, n, r, a, o, i) { + try { + var l = e[o](i), + s = l.value; + } catch (e) { + return void n(e); + } + l.done ? t(s) : Promise.resolve(s).then(r, a); + } + function pl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + x.c.controller("AlertNotificationsListCtrl", fl); + var hl = "dash-folder", + ml = "dash-db", + gl = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.rootName = "general"); + } + var t, n, r, a, o; + return ( + (t = e), + (n = [ + { + key: "validateNewDashboardName", + value: function (e, t) { + return this.validate( + e, + t, + "A dashboard in this folder with the same name already exists" + ); + }, + }, + { + key: "validateNewFolderName", + value: function (e) { + return this.validate( + 0, + e, + "A folder or dashboard in the general folder with the same name already exists" + ); + }, + }, + { + key: "validate", + value: + ((a = regeneratorRuntime.mark(function e(t, n, r) { + var a, o, i, l, s, c, u, f, d, p; + return regeneratorRuntime.wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = (n || "").trim()), + (a = n.toLowerCase()), + 0 !== n.length) + ) { + e.next = 4; + break; + } + throw { + type: "REQUIRED", + message: "Name is required", + }; + case 4: + if (0 !== t || a !== this.rootName) { + e.next = 6; + break; + } + throw { + type: "EXISTING", + message: + "This is a reserved name and cannot be used for a folder.", + }; + case 6: + return ( + (o = []).push( + S.b.search({ + type: hl, + folderIds: [t], + query: n, + }) + ), + o.push( + S.b.search({ + type: ml, + folderIds: [t], + query: n, + }) + ), + (e.next = 11), + Promise.all(o) + ); + case 11: + (i = e.sent), + (l = []), + i.length > 0 && i[0].length > 0 && (l = i[0]), + i.length > 1 && + i[1].length > 0 && + (l = l.concat(i[1])), + (s = !0), + (c = !1), + (u = void 0), + (e.prev = 18), + (f = l[Symbol.iterator]()); + case 20: + if ((s = (d = f.next()).done)) { + e.next = 27; + break; + } + if ( + ((p = d.value), a !== p.title.toLowerCase()) + ) { + e.next = 24; + break; + } + throw { type: "EXISTING", message: r }; + case 24: + (s = !0), (e.next = 20); + break; + case 27: + e.next = 33; + break; + case 29: + (e.prev = 29), + (e.t0 = e.catch(18)), + (c = !0), + (u = e.t0); + case 33: + (e.prev = 33), + (e.prev = 34), + s || null == f.return || f.return(); + case 36: + if (((e.prev = 36), !c)) { + e.next = 39; + break; + } + throw u; + case 39: + return e.finish(36); + case 40: + return e.finish(33); + case 41: + return e.abrupt("return"); + case 42: + case "end": + return e.stop(); + } + }, + e, + this, + [ + [18, 29, 33, 41], + [34, , 36, 40], + ] + ); + })), + (o = function () { + var e = this, + t = arguments; + return new Promise(function (n, r) { + var o = a.apply(e, t); + function i(e) { + dl(o, n, r, i, l, "next", e); + } + function l(e) { + dl(o, n, r, i, l, "throw", e); + } + i(void 0); + }); + }), + function (e, t, n) { + return o.apply(this, arguments); + }), + }, + ]) && pl(t.prototype, n), + r && pl(t, r), + e + ); + })(); + new gl(); + O.c.service("validationSrv", gl); + var bl = function e(t) { + var n = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.isValidFolderSelection = !0), + (this.onFolderChange = function (e) { + n.folder = e; + }), + (this.save = function () { + return Object(D.a)(n.$scope)( + S.b.moveDashboards(n.dashboards, n.folder).then(function (e) { + if (e.successCount > 0) { + var t = "Dashboard".concat( + 1 === e.successCount ? "" : "s", + " Moved" + ), + r = "" + .concat(e.successCount, " dashboard") + .concat(1 === e.successCount ? "" : "s", " moved to ") + .concat(n.folder.title); + b.b.emit(g.AppEvents.alertSuccess, [t, r]); + } + return ( + e.totalCount === e.alreadyInFolderCount && + b.b.emit(g.AppEvents.alertError, [ + "Error", + "Dashboards already belongs to folder ".concat( + n.folder.title + ), + ]), + n.dismiss(), + n.afterSave() + ); + }) + ); + }), + (this.onEnterFolderCreation = function () { + n.isValidFolderSelection = !1; + }), + (this.onExitFolderCreation = function () { + n.isValidFolderSelection = !0; + }); + }; + (bl.$inject = ["$scope"]), + O.c.directive("moveToFolderModal", function () { + return { + restrict: "E", + templateUrl: + "public/app/features/manage-dashboards/components/MoveToFolderModal/template.html", + controller: bl, + bindToController: !0, + controllerAs: "ctrl", + scope: { dismiss: "&", dashboards: "=", afterSave: "&" }, + }; + }), + (vl.$inject = ["timer", "$location"]); + function vl(e, t) { + return { + restrict: "E", + template: + '\n<input type="file" id="dashupload" name="dashupload" class="hide" onchange="angular.element(this).scope().file_selected"/>\n<label class="btn btn-primary" for="dashupload">\n {{btnText}}\n</label>\n', + scope: { onUpload: "&", btnText: "@?" }, + link: function (e, t) { + e.btnText = u.a.isDefined(e.btnText) + ? e.btnText + : "Upload .json file"; + var n = window; + n.File && n.FileReader && n.FileList && n.Blob + ? t[0].addEventListener( + "change", + function (t) { + for (var n = t.target.files, r = 0, a = n[r]; a; ) { + var o = new FileReader(); + (o.onload = function (t) { + var n; + try { + n = JSON.parse(t.target.result); + } catch (e) { + return ( + console.log(e), + void b.b.emit(g.AppEvents.alertError, [ + "Import failed", + "JSON -> JS Serialization failed: " + e.message, + ]) + ); + } + e.$apply(function () { + e.onUpload({ dash: n }); + }); + }), + o.readAsText(a), + (a = n[(r += 1)]); + } + }, + !1 + ) + : b.b.emit(g.AppEvents.alertError, [ + "Oops", + "The HTML5 File APIs are not fully supported in this browser", + ]); + }, + }; + } + O.c.directive("dashUpload", vl); + var yl = function e(t) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.navModel = t.getNav("dashboards", "manage-dashboards", 0)); + }; + function wl(e, t) { + var n = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + n.push.apply(n, r); + } + return n; + } + function Ol(e, t, n) { + return ( + t in e + ? Object.defineProperty(e, t, { + value: n, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[t] = n), + e + ); + } + function xl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + yl.$inject = ["navModelSrv"]; + var kl = (function () { + function e(t, n, r, a) { + var o = this; + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$rootScope = t), + (this.$location = r), + (this.$scope = a), + (this.navModel = n.getNav("dashboards", "snapshots", 0)), + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/dashboard/snapshots") + .then(function (e) { + var t = o.$location.absUrl().replace(r.url(), ""); + o.snapshots = e.map(function (e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? wl(Object(n), !0).forEach(function (t) { + Ol(e, t, n[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties( + e, + Object.getOwnPropertyDescriptors(n) + ) + : wl(Object(n)).forEach(function (t) { + Object.defineProperty( + e, + t, + Object.getOwnPropertyDescriptor(n, t) + ); + }); + } + return e; + })({}, e, { + url: + e.externalUrl || + "".concat(t, "/dashboard/snapshot/").concat(e.key), + }); + }); + }) + ); + } + var t, n, r; + return ( + (e.$inject = ["$rootScope", "navModelSrv", "$location", "$scope"]), + (t = e), + (n = [ + { + key: "removeSnapshotConfirmed", + value: function (e) { + var t = this; + i.a.remove(this.snapshots, { key: e.key }), + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .delete("/api/snapshots/" + e.key) + .then( + function () {}, + function () { + t.snapshots.push(e); + } + ) + ); + }, + }, + { + key: "removeSnapshot", + value: function (e) { + var t = this; + this.$rootScope.appEvent(j.CoreEvents.showConfirmModal, { + title: "Delete", + text: + "Are you sure you want to delete snapshot " + e.name + "?", + yesText: "Delete", + icon: "fa-trash", + onConfirm: function () { + t.removeSnapshotConfirmed(e); + }, + }); + }, + }, + ]) && xl(t.prototype, n), + r && xl(t, r), + e + ); + })(); + function jl(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + O.c.controller("DashboardListCtrl", yl), + O.c.controller("SnapshotListCtrl", kl); + var Sl = (function () { + function e(t, n) { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (this.$scope = t), + (this.sessions = []), + this.getUserSessions(), + (this.navModel = n.getNav("profile", "profile-settings", 0)); + } + var t, n, r; + return ( + (e.$inject = ["$scope", "navModelSrv"]), + (t = e), + (n = [ + { + key: "getUserSessions", + value: function () { + var e = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .get("/api/user/auth-tokens") + .then(function (t) { + t.reverse(); + var n = t.findIndex(function (e) { + return e.isActive; + }); + if (n) { + var r = t[n]; + t.splice(n, n), t.unshift(r); + } + e.sessions = t.map(function (e) { + return { + id: e.id, + isActive: e.isActive, + seenAt: Object(g.dateTime)(e.seenAt).fromNow(), + createdAt: Object(g.dateTime)(e.createdAt).format( + "MMMM DD, YYYY" + ), + clientIp: e.clientIp, + browser: e.browser, + browserVersion: e.browserVersion, + os: e.os, + osVersion: e.osVersion, + device: e.device, + }; + }); + }) + ); + }, + }, + { + key: "revokeUserSession", + value: function (e) { + var t = this; + Object(D.a)(this.$scope)( + Object(we.getBackendSrv)() + .post("/api/user/revoke-auth-token", { authTokenId: e }) + .then(function () { + t.sessions = t.sessions.filter(function (t) { + return t.id !== e; + }); + }) + ); + }, + }, + ]) && jl(t.prototype, n), + r && jl(t, r), + e + ); + })(); + function El(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + x.c.controller("ProfileCtrl", Sl), + x.c.directive("datasourceHttpSettings", function () { + return { + scope: { current: "=", suggestUrl: "@", noDirectAccess: "@" }, + templateUrl: + "public/app/features/datasources/partials/http_settings_next.html", + link: { + pre: function (e) { + (e.showAccessOption = "true" !== e.noDirectAccess), + (e.onChange = function (t) { + e.current = t; + }); + }, + }, + }; + }), + x.c.directive("datasourceTlsAuthSettings", function () { + return { + scope: { current: "=" }, + templateUrl: + "public/app/features/datasources/partials/tls_auth_settings.html", + }; + }), + (i.a.move = function (e, t, n) { + return e.splice(n, 0, e.splice(t, 1)[0]), e; + }); + var Cl = n("Nu4n"); + Cl.keys().forEach(function (e) { + Cl(e); + }); + var Pl = new ((function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e), + (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : document.body; + y && t.classList.add(e); + })("no-overlay-scrollbar"), + (this.preBootModules = []), + (this.registerFunctions = {}), + (this.ngModuleDependencies = []); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "useModule", + value: function (e) { + return ( + this.preBootModules + ? this.preBootModules.push(e) + : i.a.extend(e, this.registerFunctions), + this.ngModuleDependencies.push(e.name), + e + ); + }, + }, + { + key: "init", + value: function () { + var e = this, + t = u.a.module("grafana", []); + Object(g.setLocale)(m.b.bootData.user.locale), + Object(g.setMarkdownOptions)({ + sanitize: !m.b.disableSanitizeHtml, + }), + g.standardFieldConfigEditorRegistry.setInit( + ee.getStandardFieldConfigs + ), + t.config([ + "$locationProvider", + "$controllerProvider", + "$compileProvider", + "$filterProvider", + "$httpProvider", + "$provide", + function (t, n, r, a, o, i) { + r.preAssignBindingsEnabled(!0), + "development" !== m.b.buildInfo.env && + r.debugInfoEnabled(!1), + o.useApplyAsync(!0), + (e.registerFunctions.controller = n.register), + (e.registerFunctions.directive = r.directive), + (e.registerFunctions.factory = i.factory), + (e.registerFunctions.service = i.service), + (e.registerFunctions.filter = a.register), + i.decorator("$http", [ + "$delegate", + "$templateCache", + function (e, t) { + var n = e.get; + return ( + (e.get = function (e, r) { + return ( + e.match(/\.html$/) && + (t.get(e) || + (e += "?v=" + new Date().getTime())), + n(e, r) + ); + }), + e + ); + }, + ]); + }, + ]), + (this.ngModuleDependencies = [ + "grafana.core", + "ngRoute", + "ngSanitize", + "$strap.directives", + "ang-drag-drop", + "grafana", + "pasvaz.bindonce", + "react", + ]), + i.a.each(O.a, function (t) { + e.useModule(t); + }), + O.b.config(ye), + Object(x.e)(), + (s.a.fn.tooltip.defaults.animation = !1), + u.a + .bootstrap(document, this.ngModuleDependencies) + .invoke(function () { + var t, n, r, a, o; + i.a.each(e.preBootModules, function (t) { + i.a.extend(t, e.registerFunctions); + }), + (e.preBootModules = null), + (t = navigator.userAgent.indexOf("MSIE") > -1), + (n = + navigator.userAgent.indexOf("Edge/") > -1 || + navigator.userAgent.indexOf("Edg/") > -1), + (r = + navigator.userAgent.toLowerCase().indexOf("firefox") > + -1), + (a = + /Chrome/.test(navigator.userAgent) && + /Google Inc/.test(navigator.vendor)), + (o = /Edge\/([0-9.]+)/.exec(navigator.userAgent)), + ((t && + parseFloat( + /Trident\/([0-9.]+)/.exec(navigator.userAgent)[1] + ) <= 7) || + (n && + ((o && parseFloat(o[1]) <= 16) || + parseFloat( + /Edg\/([0-9.]+)/.exec(navigator.userAgent)[1] + ) <= 16)) || + (r && + parseFloat( + /Firefox\/([0-9.]+)/.exec(navigator.userAgent)[1] + ) <= 64) || + (a && + parseFloat( + /Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1] + ) <= 54)) && + setTimeout(function () { + b.b.emit(g.AppEvents.alertWarning, [ + "Your browser is not fully supported", + "A newer browser version is recommended", + ]); + }, 1e3); + }); + var n = !0, + r = !1, + a = void 0; + try { + for ( + var o, l = m.b.pluginsToPreload[Symbol.iterator](); + !(n = (o = l.next()).done); + n = !0 + ) { + var c = o.value; + Object(w.d)(c); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == l.return || l.return(); + } finally { + if (r) throw a; + } + } + }, + }, + { + key: "initEchoSrv", + value: function () { + Object(we.setEchoSrv)(new Se({ debug: !1 })), + a.a.getFirstConsistentlyInteractive().then(function (e) { + var t = + performance && performance.getEntriesByType + ? performance.getEntriesByType("paint") + : [], + n = !0, + r = !1, + a = void 0; + try { + for ( + var o, i = t[Symbol.iterator](); + !(n = (o = i.next()).done); + n = !0 + ) { + var l = o.value; + Ee(l.name, Math.round(l.startTime + l.duration)); + } + } catch (e) { + (r = !0), (a = e); + } finally { + try { + n || null == i.return || i.return(); + } finally { + if (r) throw a; + } + } + Ee("tti", e); + }), + Object(we.registerEchoBackend)(new Ce({})), + window.addEventListener("DOMContentLoaded", function () { + Ee("dcl", Math.round(performance.now())); + }); + }, + }, + ]) && El(t.prototype, n), + r && El(t, r), + e + ); + })())(); + Pl.initEchoSrv(), Pl.init(); + }, + zlcF: function (e, t, n) { + "use strict"; + var r, a; + function o(e) { + a = e; + } + function i() { + return a; + } + n.d(t, "a", function () { + return r; + }), + n.d(t, "d", function () { + return o; + }), + n.d(t, "b", function () { + return i; + }), + n.d(t, "c", function () { + return l; + }), + (function (e) { + (e.Performance = "performance"), (e.MetaAnalytics = "meta-analytics"); + })(r || (r = {})); + var l = function (e) { + i().addBackend(e); + }; + }, + zogf: function (e, t, n) { + "use strict"; + var r = n("LvDl"), + a = n.n(r), + o = n("ZFWI"), + i = n("t8hP"); + function l(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + var s = (function () { + function e() { + !(function (e, t) { + if (!(e instanceof t)) + throw new TypeError("Cannot call a class as a function"); + })(this, e); + } + var t, n, r; + return ( + (t = e), + (n = [ + { + key: "makeExportable", + value: function (e) { + e.cleanUpRepeats(); + var t = e.getSaveModelClone(); + (t.id = null), e.processRepeats(); + var n = [], + r = {}, + l = {}, + s = [], + c = {}, + u = !0, + f = !1, + d = void 0; + try { + for ( + var p, h = t.getVariables()[Symbol.iterator](); + !(u = (p = h.next()).done); + u = !0 + ) { + var m = p.value; + c[m.name] = m; + } + } catch (e) { + (f = !0), (d = e); + } finally { + try { + u || null == h.return || h.return(); + } finally { + if (f) throw d; + } + } + var g = function (e) { + var t = e.datasource, + n = null; + t && + 0 === t.indexOf("$") && + (n = c[t.substring(1)]) && + n.current && + (t = n.current.value), + s.push( + Object(i.getDataSourceSrv)() + .get(t) + .then(function (t) { + var a, o, i, s, c, u, f; + if ( + !( + (null !== (a = t.meta) && + void 0 !== a && + a.builtIn) || + ((r[ + "datasource" + + (null === (o = t.meta) || void 0 === o + ? void 0 + : o.id) + ] = { + type: "datasource", + id: + null === (i = t.meta) || void 0 === i + ? void 0 + : i.id, + name: + null === (s = t.meta) || void 0 === s + ? void 0 + : s.name, + version: + (null === (c = t.meta) || void 0 === c + ? void 0 + : c.info.version) || "1.0.0", + }), + n) + ) + ) { + var d = + "DS_" + t.name.replace(" ", "_").toUpperCase(); + (l[d] = { + name: d, + label: t.name, + description: "", + type: "datasource", + pluginId: + null === (u = t.meta) || void 0 === u + ? void 0 + : u.id, + pluginName: + null === (f = t.meta) || void 0 === f + ? void 0 + : f.name, + }), + (e.datasource = "${" + d + "}"); + } + }) + ); + }, + b = function (e) { + if ((void 0 !== e.datasource && g(e), e.targets)) { + var t = !0, + n = !1, + a = void 0; + try { + for ( + var i, l = e.targets[Symbol.iterator](); + !(t = (i = l.next()).done); + t = !0 + ) { + var s = i.value; + void 0 !== s.datasource && g(s); + } + } catch (e) { + (n = !0), (a = e); + } finally { + try { + t || null == l.return || l.return(); + } finally { + if (n) throw a; + } + } + } + var c = o.b.panels[e.type]; + c && + (r["panel" + c.id] = { + type: "panel", + id: c.id, + name: c.name, + version: c.info.version, + }); + }, + v = !0, + y = !1, + w = void 0; + try { + for ( + var O, x = t.panels[Symbol.iterator](); + !(v = (O = x.next()).done); + v = !0 + ) { + var k = O.value; + if ( + (b(k), + void 0 !== k.collapsed && !0 === k.collapsed && k.panels) + ) { + var j = !0, + S = !1, + E = void 0; + try { + for ( + var C, P = k.panels[Symbol.iterator](); + !(j = (C = P.next()).done); + j = !0 + ) + b(C.value); + } catch (e) { + (S = !0), (E = e); + } finally { + try { + j || null == P.return || P.return(); + } finally { + if (S) throw E; + } + } + } + } + } catch (e) { + (y = !0), (w = e); + } finally { + try { + v || null == x.return || x.return(); + } finally { + if (y) throw w; + } + } + var T = !0, + D = !1, + A = void 0; + try { + for ( + var _, N = t.getVariables()[Symbol.iterator](); + !(T = (_ = N.next()).done); + T = !0 + ) { + var M = _.value; + "query" === M.type && + (g(M), + (M.options = []), + (M.current = {}), + (M.refresh = M.refresh > 0 ? M.refresh : 1)); + } + } catch (e) { + (D = !0), (A = e); + } finally { + try { + T || null == N.return || N.return(); + } finally { + if (D) throw A; + } + } + var I = !0, + R = !1, + F = void 0; + try { + for ( + var L, V = t.annotations.list[Symbol.iterator](); + !(I = (L = V.next()).done); + I = !0 + ) { + var B = L.value; + g(B); + } + } catch (e) { + (R = !0), (F = e); + } finally { + try { + I || null == V.return || V.return(); + } finally { + if (R) throw F; + } + } + return ( + (r.grafana = { + type: "grafana", + id: "grafana", + name: "Grafana", + version: o.b.buildInfo.version, + }), + Promise.all(s) + .then(function () { + a.a.each(l, function (e) { + n.push(e); + }); + var e = !0, + o = !1, + i = void 0; + try { + for ( + var s, c = t.getVariables()[Symbol.iterator](); + !(e = (s = c.next()).done); + e = !0 + ) { + var u = s.value; + if ("constant" === u.type) { + var f = + "VAR_" + u.name.replace(" ", "_").toUpperCase(); + n.push({ + name: f, + type: "constant", + label: u.label || u.name, + value: u.current.value, + description: "", + }), + (u.query = "${" + f + "}"), + (u.options[0] = u.current = { + value: u.query, + text: u.query, + }); + } + } + } catch (e) { + (o = !0), (i = e); + } finally { + try { + e || null == c.return || c.return(); + } finally { + if (o) throw i; + } + } + var d = {}; + return ( + (d.__inputs = n), + (d.__requires = a.a.sortBy(r, ["id"])), + a.a.defaults(d, t), + d + ); + }) + .catch(function (e) { + return console.log("Export failed:", e), { error: e }; + }) + ); + }, + }, + ]) && l(t.prototype, n), + r && l(t, r), + e + ); + })(); + n.d(t, "a", function () { + return s; + }); + }, + zp0N: function (e, t, n) { + "use strict"; + n.d(t, "a", function () { + return a; + }), + n.d(t, "b", function () { + return o; + }), + n.d(t, "c", function () { + return i; + }); + var r = n("0aAt"), + a = { + document: { + nodes: [ + { + match: [ + { type: "paragraph" }, + { type: "code_block" }, + { type: "code_line" }, + ], + }, + ], + }, + inlines: {}, + }, + o = function (e, t) { + var n = e.split("\n").map(function (e) { + return r.a.create({ type: "code_line", nodes: [r.m.create(e)] }); + }), + a = r.a.create({ + data: { syntax: t }, + type: "code_block", + nodes: n, + }); + return r.d.create({ nodes: [a] }); + }, + i = function (e, t) { + var n = o(e, t); + return r.n.create({ document: n }); + }; + }, + }, + [["zl43", 1, 27, 42, 51]], +]); +//# sourceMappingURL=app.62aab03371bdbe8128d7.js.map \ No newline at end of file -- GitLab