diff --git a/vue/dist/LogViewer.umd.js b/vue/dist/LogViewer.umd.js
index d975dc8..c663203 100644
--- a/vue/dist/LogViewer.umd.js
+++ b/vue/dist/LogViewer.umd.js
@@ -1,695 +1,506 @@
-(function webpackUniversalModuleDefinition(root, factory) {
- if(typeof exports === 'object' && typeof module === 'object')
- module.exports = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin"));
- else if(typeof define === 'function' && define.amd)
- define(["CoreHome", , "CorePluginsAdmin"], factory);
- else if(typeof exports === 'object')
- exports["LogViewer"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin"));
- else
- root["LogViewer"] = factory(root["CoreHome"], root["Vue"], root["CorePluginsAdmin"]);
-})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "plugins/LogViewer/vue/dist/";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = "fae3");
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ "19dc":
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__;
-
-/***/ }),
-
-/***/ "8bbf":
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;
-
-/***/ }),
-
-/***/ "a5a2":
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__;
-
-/***/ }),
-
-/***/ "fae3":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-// ESM COMPAT FLAG
-__webpack_require__.r(__webpack_exports__);
-
-// EXPORTS
-__webpack_require__.d(__webpack_exports__, "LogViewer", function() { return /* reexport */ LogViewer; });
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
-// This file is imported into lib/wc client bundles.
-
-if (typeof window !== 'undefined') {
- var currentScript = window.document.currentScript
- if (false) { var getCurrentScript; }
-
- var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
- if (src) {
- __webpack_require__.p = src[1] // eslint-disable-line
- }
-}
-
-// Indicate to webpack that this file can be concatenated
-/* harmony default export */ var setPublicPath = (null);
-
-// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
-var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/LogViewer/vue/src/LogViewer/LogViewer.vue?vue&type=template&id=f03f9e24
-
-var _hoisted_1 = {
- class: "logViewer"
-};
-var _hoisted_2 = {
- class: "row"
-};
-var _hoisted_3 = {
- class: "logWriters col s4 m3 l2"
-};
-var _hoisted_4 = {
- class: "severities col s4 m3 l2"
-};
-var _hoisted_5 = {
- class: "col s12 m12 l8"
-};
-var _hoisted_6 = ["title", "placeholder"];
-var _hoisted_7 = ["title"];
-var _hoisted_8 = {
- class: "useRegExp",
- style: {
- "margin-right": "3.5px"
- }
-};
-var _hoisted_9 = ["action"];
-var _hoisted_10 = ["value"];
-
-var _hoisted_11 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
- type: "hidden",
- name: "force_api_session",
- value: "1",
- style: {
- "margin-right": "3.5px"
- }
-}, null, -1);
-
-var _hoisted_12 = ["title"];
-var _hoisted_13 = ["title"];
-
-var _hoisted_14 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1);
-
-var _hoisted_15 = {
- class: "severity"
-};
-var _hoisted_16 = {
- class: "tag"
-};
-var _hoisted_17 = {
- class: "date"
-};
-var _hoisted_18 = {
- class: "date"
-};
-var _hoisted_19 = {
- class: "message"
-};
-var _hoisted_20 = ["title", "onClick"];
-var _hoisted_21 = ["title", "onClick"];
-var _hoisted_22 = ["title", "onClick"];
-var _hoisted_23 = ["title", "onClick"];
-var _hoisted_24 = {
- class: "message"
-};
-var _hoisted_25 = {
- key: 0
-};
-var _hoisted_26 = {
- colspan: "5"
-};
-var _hoisted_27 = {
- colspan: "5"
-};
-var _hoisted_28 = {
- class: "loadingPiwik"
-};
-
-var _hoisted_29 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", {
- src: "plugins/Morpheus/images/loading-blue.gif"
-}, null, -1);
-
-var _hoisted_30 = {
- colspan: "5",
- class: "paging"
+(function(global, factory) {
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue"), require("CoreHome"), require("CorePluginsAdmin")) : typeof define === "function" && define.amd ? define(["exports", "vue", "CoreHome", "CorePluginsAdmin"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.LogViewer = {}, global.Vue, global.CoreHome, global.CorePluginsAdmin));
+})(this, (function(exports2, vue, CoreHome, CorePluginsAdmin) {
+ "use strict";var __defProp = Object.defineProperty;
+var __defProps = Object.defineProperties;
+var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
+var __getOwnPropSymbols = Object.getOwnPropertySymbols;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __propIsEnum = Object.prototype.propertyIsEnumerable;
+var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
+var __spreadValues = (a, b) => {
+ for (var prop in b || (b = {}))
+ if (__hasOwnProp.call(b, prop))
+ __defNormalProp(a, prop, b[prop]);
+ if (__getOwnPropSymbols)
+ for (var prop of __getOwnPropSymbols(b)) {
+ if (__propIsEnum.call(b, prop))
+ __defNormalProp(a, prop, b[prop]);
+ }
+ return a;
};
-function render(_ctx, _cache, $props, $setup, $data, $options) {
- var _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field");
-
- var _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock");
-
- var _directive_content_table = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("content-table");
-
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, {
- "content-title": _ctx.translate('LogViewer_LogViewer')
- }, {
- default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () {
- var _ctx$logs, _ctx$logs2;
+var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
- return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
- uicontrol: "select",
- name: "logWriter",
- "model-value": _ctx.selectedLogWriter,
- "onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
- _ctx.selectedLogWriter = $event;
-
- _ctx.update();
- }),
- "full-width": true,
- options: _ctx.logWriters
- }, null, 8, ["model-value", "options"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
- uicontrol: "select",
- name: "selectedSeverity",
- "model-value": _ctx.selectedSeverity,
- "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
- _ctx.selectedSeverity = $event;
-
- _ctx.update();
- }),
- "full-width": true,
- options: _ctx.severities
- }, null, 8, ["model-value", "options"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
- type: "text",
- class: "search",
- onKeydown: _cache[2] || (_cache[2] = function ($event) {
- return _ctx.onSearchKeydown($event);
- }),
- title: _ctx.translate('LogViewer_SearchHelp'),
- "onUpdate:modelValue": _cache[3] || (_cache[3] = function ($event) {
- return _ctx.query = $event;
- }),
- placeholder: _ctx.translate('LogViewer_SearchPattern'),
- style: {
- "margin-right": "3.5px"
- }
- }, null, 40, _hoisted_6), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.query]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
- class: "icon-search searchIcon",
- title: _ctx.translate('General_ClickToSearch'),
- onClick: _cache[4] || (_cache[4] = function ($event) {
- return _ctx.update();
- })
- }, null, 8, _hoisted_7), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
- uicontrol: "checkbox",
- title: _ctx.translate('LogViewer_UseRegExp'),
- modelValue: _ctx.useRegExp,
- "onUpdate:modelValue": _cache[5] || (_cache[5] = function ($event) {
- return _ctx.useRegExp = $event;
- })
- }, null, 8, ["title", "modelValue"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
- class: "icon-reload",
- onClick: _cache[6] || (_cache[6] = function ($event) {
- return _ctx.update();
- }),
- style: {
- "margin-right": "3.5px"
- }
- }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", {
- method: "POST",
- id: "export",
- ref: "export",
- target: "_blank",
- action: _ctx.exportFormAction
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
- type: "hidden",
- name: "token_auth",
- value: _ctx.tokenAuth
- }, null, 8, _hoisted_10), _hoisted_11, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
- class: "icon-export",
- onClick: _cache[7] || (_cache[7] = function ($event) {
- return _ctx.$refs.export.submit();
- }),
- title: _ctx.translate('LogViewer_ExportThisSearch', 'TSV', 5000),
- style: {
- "margin-right": "3.5px"
- }
- }, null, 8, _hoisted_12)], 8, _hoisted_9), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
- class: "icon-info",
- target: "_blank",
- href: "https://piwik.org/faq/troubleshooting/faq_115/",
- rel: "noreferrer noopener",
- title: _ctx.translate('LogViewer_CurrentLogConfigIs', _ctx.logConfigJson)
- }, null, 8, _hoisted_13), _hoisted_14]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_15, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('LogViewer_Severity')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_16, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('LogViewer_Tag')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_17, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Date')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_18, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('LogViewer_RequestId')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_19, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('LogViewer_Message')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.logsWithMessage, function (log, index) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", {
- key: index
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", {
- class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["severity", {
- selectable: log.severity
- }]),
- title: log.severity ? _ctx.translate('LogViewer_ClickToSearchForThis') : '',
- onClick: function onClick($event) {
- return _ctx.searchSeverity(log.severity);
- }
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(log.severity || '-'), 11, _hoisted_20), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", {
- class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["tag", {
- selectable: log.tag
- }]),
- title: log.tag ? _ctx.translate('LogViewer_ClickToSearchForThis') : '',
- onClick: function onClick($event) {
- return _ctx.searchText(log.tag);
- }
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(log.tag || '-'), 11, _hoisted_21), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", {
- class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["date", {
- selectable: log.datetime
- }]),
- title: log.datetime ? _ctx.translate('LogViewer_ClickToSearchForThis') : '',
- onClick: function onClick($event) {
- return _ctx.searchDate(log.datetime);
+ const _sfc_main = vue.defineComponent({
+ props: {
+ limit: {
+ type: Number,
+ required: true
+ }
+ },
+ components: {
+ ContentBlock: CoreHome.ContentBlock,
+ Field: CorePluginsAdmin.Field
+ },
+ directives: {
+ ContentTable: CoreHome.ContentTable
+ },
+ data() {
+ return {
+ page: 0,
+ query: "",
+ isLoading: true,
+ logWriters: [],
+ selectedLogWriter: "",
+ useRegExp: false,
+ severities: [
+ {
+ key: "",
+ value: CoreHome.translate("LogViewer_AnySeverity")
+ },
+ {
+ key: "DEBUG",
+ value: "DEBUG"
+ },
+ {
+ key: "INFO",
+ value: "INFO"
+ },
+ {
+ key: "NOTICE",
+ value: "NOTICE"
+ },
+ {
+ key: "WARNING",
+ value: "WARNING"
+ },
+ {
+ key: "ERROR",
+ value: "ERROR"
+ },
+ {
+ key: "CRITICAL",
+ value: "CRITICAL"
+ },
+ {
+ key: "ALERT",
+ value: "ALERT"
+ },
+ {
+ key: "EMERGENCY",
+ value: "EMERGENCY"
}
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(log.datetime || '-'), 11, _hoisted_22), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", {
- class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["requestId", {
- selectable: log.requestId
- }]),
- title: log.requestId ? _ctx.translate('LogViewer_ClickToSearchForThis') : '',
- onClick: function onClick($event) {
- return _ctx.searchRequestId(log.requestId);
+ ],
+ selectedSeverity: "",
+ logs: void 0,
+ logConfig: void 0
+ };
+ },
+ setup() {
+ let fetchLogEntriesAbort = null;
+ const getLogEntries = (params) => {
+ if (fetchLogEntriesAbort) {
+ fetchLogEntriesAbort.abort();
+ fetchLogEntriesAbort = null;
+ }
+ fetchLogEntriesAbort = new AbortController();
+ return CoreHome.AjaxHelper.fetch(
+ __spreadProps(__spreadValues({}, params), {
+ method: "LogViewer.getLogEntries"
+ }),
+ {
+ abortController: fetchLogEntriesAbort,
+ createErrorNotification: false
}
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(log.requestId || '-'), 11, _hoisted_23), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_24, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(log.message), 1)]);
- }), 128)), !_ctx.isLoading && ((_ctx$logs = _ctx.logs) === null || _ctx$logs === void 0 ? void 0 : _ctx$logs.length) === 0 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", _hoisted_25, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_26, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_SearchNoResults')), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_27, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_28, [_hoisted_29, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Loading')), 1)])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isLoading]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_30, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
- id: "prev",
- class: "previous",
- onClick: _cache[9] || (_cache[9] = function ($event) {
- return _ctx.previousPage();
- })
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
- class: "btn",
- onClick: _cache[8] || (_cache[8] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {}, ["prevent"]))
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, "« " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Previous')), 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(_ctx.page < 1)]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
- id: "next",
- class: "next pointer",
- onClick: _cache[11] || (_cache[11] = function ($event) {
- return _ctx.nextPage();
- })
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
- class: "btn",
- onClick: _cache[10] || (_cache[10] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(function () {}, ["prevent"]))
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Next')) + " »", 1)])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(((_ctx$logs2 = _ctx.logs) === null || _ctx$logs2 === void 0 ? void 0 : _ctx$logs2.length) < 1)]])])])])], 512), [[_directive_content_table]])])];
- }),
- _: 1
- }, 8, ["content-title"])]);
-}
-// CONCATENATED MODULE: ./plugins/LogViewer/vue/src/LogViewer/LogViewer.vue?vue&type=template&id=f03f9e24
-
-// EXTERNAL MODULE: external "CoreHome"
-var external_CoreHome_ = __webpack_require__("19dc");
-
-// EXTERNAL MODULE: external "CorePluginsAdmin"
-var external_CorePluginsAdmin_ = __webpack_require__("a5a2");
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/LogViewer/vue/src/LogViewer/LogViewer.vue?vue&type=script&lang=ts
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
-
-function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
-
-function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
-
-function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-
-
-
-/* harmony default export */ var LogViewervue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
- props: {
- limit: {
- type: Number,
- required: true
- }
- },
- components: {
- ContentBlock: external_CoreHome_["ContentBlock"],
- Field: external_CorePluginsAdmin_["Field"]
- },
- directives: {
- ContentTable: external_CoreHome_["ContentTable"]
- },
- data: function data() {
- return {
- page: 0,
- query: '',
- isLoading: true,
- logWriters: [],
- selectedLogWriter: '',
- useRegExp: false,
- severities: [{
- key: '',
- value: Object(external_CoreHome_["translate"])('LogViewer_AnySeverity')
- }, {
- key: 'DEBUG',
- value: 'DEBUG'
- }, {
- key: 'INFO',
- value: 'INFO'
- }, {
- key: 'NOTICE',
- value: 'NOTICE'
- }, {
- key: 'WARNING',
- value: 'WARNING'
- }, {
- key: 'ERROR',
- value: 'ERROR'
- }, {
- key: 'CRITICAL',
- value: 'CRITICAL'
- }, {
- key: 'ALERT',
- value: 'ALERT'
- }, {
- key: 'EMERGENCY',
- value: 'EMERGENCY'
- }],
- selectedSeverity: '',
- logs: undefined,
- logConfig: undefined
- };
- },
- setup: function setup() {
- var fetchLogEntriesAbort = null;
-
- var getLogEntries = function getLogEntries(params) {
- if (fetchLogEntriesAbort) {
- fetchLogEntriesAbort.abort();
- fetchLogEntriesAbort = null;
- }
-
- fetchLogEntriesAbort = new AbortController();
- return external_CoreHome_["AjaxHelper"].fetch(Object.assign(Object.assign({}, params), {}, {
- method: 'LogViewer.getLogEntries'
- }), {
- abortController: fetchLogEntriesAbort,
- createErrorNotification: false
- }).finally(function () {
- fetchLogEntriesAbort = null;
- });
- };
-
- return {
- getLogEntries: getLogEntries
- };
- },
- created: function created() {
- var _this = this;
-
- external_CoreHome_["AjaxHelper"].fetch({
- method: 'LogViewer.getAvailableLogReaders'
- }).then(function (logWriters) {
- if (Array.isArray(logWriters)) {
- _this.logWriters = logWriters.map(function (logWriter) {
- return {
+ ).finally(() => {
+ fetchLogEntriesAbort = null;
+ });
+ };
+ return {
+ getLogEntries
+ };
+ },
+ created() {
+ CoreHome.AjaxHelper.fetch({
+ method: "LogViewer.getAvailableLogReaders"
+ }).then((logWriters) => {
+ if (Array.isArray(logWriters)) {
+ this.logWriters = logWriters.map((logWriter) => ({
key: logWriter,
value: logWriter
- };
- });
- }
- }).then(function () {
- return external_CoreHome_["AjaxHelper"].fetch({
- method: 'LogViewer.getConfiguredLogReaders'
- });
- }).then(function (logWriters) {
- if (logWriters !== null && logWriters !== void 0 && logWriters[0]) {
- var _logWriters = _slicedToArray(logWriters, 1);
-
- _this.selectedLogWriter = _logWriters[0];
- } else {
- var _this$logWriters;
-
- var title = Object(external_CoreHome_["translate"])('LogViewer_NoSupportedLogWriterConfiguredTitle');
- var message = Object(external_CoreHome_["translate"])('LogViewer_NoSupportedLogWriterConfiguredMessage', ['', '', _this.logWriters.map(function (item) {
- return item.value;
- }).join(', ')]);
- external_CoreHome_["NotificationsStore"].show({
- message: message,
- title: title,
- context: 'info',
- noclear: true,
- type: 'transient'
- });
-
- if ((_this$logWriters = _this.logWriters) !== null && _this$logWriters !== void 0 && _this$logWriters[0]) {
- _this.selectedLogWriter = _this.logWriters[0].value;
+ }));
+ }
+ }).then(
+ () => CoreHome.AjaxHelper.fetch({ method: "LogViewer.getConfiguredLogReaders" })
+ ).then((logWriters) => {
+ var _a;
+ if (logWriters == null ? void 0 : logWriters[0]) {
+ [this.selectedLogWriter] = logWriters;
+ } else {
+ const title = CoreHome.translate("LogViewer_NoSupportedLogWriterConfiguredTitle");
+ const message = CoreHome.translate("LogViewer_NoSupportedLogWriterConfiguredMessage", [
+ '',
+ "",
+ this.logWriters.map((item) => item.value).join(", ")
+ ]);
+ CoreHome.NotificationsStore.show({
+ message,
+ title,
+ context: "info",
+ noclear: true,
+ type: "transient"
+ });
+ if ((_a = this.logWriters) == null ? void 0 : _a[0]) {
+ this.selectedLogWriter = this.logWriters[0].value;
+ }
+ }
+ if (this.selectedLogWriter) {
+ this.update();
+ } else {
+ this.isLoading = false;
}
- }
-
- if (_this.selectedLogWriter) {
- _this.update();
- } else {
- _this.isLoading = false;
- }
- });
- external_CoreHome_["AjaxHelper"].fetch({
- method: 'LogViewer.getLogConfig',
- filter_limit: '-1'
- }).then(function (config) {
- _this.logConfig = config;
- });
- },
- methods: {
- update: function update() {
- var _this2 = this;
-
- this.isLoading = true;
- this.logs = [];
- this.getLogEntries({
- query: this.buildQuery,
- limitPerPage: this.limit,
- source: this.selectedLogWriter,
- page: this.page
- }).catch(function (error) {
- external_CoreHome_["NotificationsStore"].show({
- message: error.message || error,
- context: 'error',
- type: 'transient'
- });
- return [];
- }).then(function (logs) {
- _this2.logs = logs;
- }).finally(function () {
- _this2.isLoading = false;
+ });
+ CoreHome.AjaxHelper.fetch({
+ method: "LogViewer.getLogConfig",
+ filter_limit: "-1"
+ }).then((config) => {
+ this.logConfig = config;
});
},
- searchSeverity: function searchSeverity(severity) {
- if (!severity) {
- return;
- }
-
- this.selectedSeverity = severity.toUpperCase();
- this.update();
- },
- searchDate: function searchDate(datetime) {
- if (!datetime) {
- return;
- }
-
- this.selectedSeverity = '';
- this.query = "\\[".concat(datetime.substr(0, 10), ".{9}\\]");
- this.useRegExp = true;
- this.update();
- },
- searchRequestId: function searchRequestId(requestId) {
- if (!requestId) {
- return;
- }
-
- this.searchText("[".concat(requestId, "]"));
- },
- searchText: function searchText(text) {
- if (!text) {
- return;
- }
-
- this.selectedSeverity = '';
- this.query = text;
-
- if (this.useRegExp) {
- this.query = window.preg_quote(this.query);
- }
-
- this.update();
- },
- previousPage: function previousPage() {
- if (this.page > 0) {
- this.page -= 1;
+ methods: {
+ update() {
+ this.isLoading = true;
+ this.logs = [];
+ this.getLogEntries({
+ query: this.buildQuery,
+ limitPerPage: this.limit,
+ source: this.selectedLogWriter,
+ page: this.page
+ }).catch((error) => {
+ CoreHome.NotificationsStore.show({
+ message: error.message || error,
+ context: "error",
+ type: "transient"
+ });
+ return [];
+ }).then((logs) => {
+ this.logs = logs;
+ }).finally(() => {
+ this.isLoading = false;
+ });
+ },
+ searchSeverity(severity) {
+ if (!severity) {
+ return;
+ }
+ this.selectedSeverity = severity.toUpperCase();
this.update();
- }
- },
- nextPage: function nextPage() {
- var _this$logs;
-
- if ((_this$logs = this.logs) !== null && _this$logs !== void 0 && _this$logs.length) {
- this.page += 1;
+ },
+ searchDate(datetime) {
+ if (!datetime) {
+ return;
+ }
+ this.selectedSeverity = "";
+ this.query = `\\[${datetime.substr(0, 10)}.{9}\\]`;
+ this.useRegExp = true;
+ this.update();
+ },
+ searchRequestId(requestId) {
+ if (!requestId) {
+ return;
+ }
+ this.searchText(`[${requestId}]`);
+ },
+ searchText(text) {
+ if (!text) {
+ return;
+ }
+ this.selectedSeverity = "";
+ this.query = text;
+ if (this.useRegExp) {
+ this.query = window.preg_quote(this.query);
+ }
+ this.update();
+ },
+ previousPage() {
+ if (this.page > 0) {
+ this.page -= 1;
+ this.update();
+ }
+ },
+ nextPage() {
+ var _a;
+ if ((_a = this.logs) == null ? void 0 : _a.length) {
+ this.page += 1;
+ this.update();
+ }
+ },
+ onSearchKeydown(event) {
+ if (event.code !== "Enter") {
+ return;
+ }
this.update();
}
},
- onSearchKeydown: function onSearchKeydown(event) {
- if (event.code !== 'Enter') {
- return;
+ computed: {
+ buildQuery() {
+ let { query } = this;
+ if (!this.useRegExp) {
+ query = window.preg_quote(this.query);
+ }
+ if (this.selectedSeverity) {
+ query = `^${this.selectedSeverity}(.*)${query}`;
+ }
+ return query;
+ },
+ exportFormAction() {
+ return `?${CoreHome.MatomoUrl.stringify({
+ module: "API",
+ method: "LogViewer.getLogEntries",
+ query: this.buildQuery,
+ format: "TSV",
+ page: 0,
+ limitPerPage: 5e3
+ })}`;
+ },
+ logConfigJson() {
+ return JSON.stringify(this.logConfig || {});
+ },
+ tokenAuth() {
+ return CoreHome.Matomo.token_auth;
+ },
+ logsWithMessage() {
+ return (this.logs || []).filter((l) => l.message);
}
-
- this.update();
}
- },
- computed: {
- buildQuery: function buildQuery() {
- var query = this.query;
-
- if (!this.useRegExp) {
- query = window.preg_quote(this.query);
- }
-
- if (this.selectedSeverity) {
- query = "^".concat(this.selectedSeverity, "(.*)").concat(query);
- }
-
- return query;
- },
- exportFormAction: function exportFormAction() {
- return "?".concat(external_CoreHome_["MatomoUrl"].stringify({
- module: 'API',
- method: 'LogViewer.getLogEntries',
- query: this.buildQuery,
- format: 'TSV',
- page: 0,
- limitPerPage: 5000
- }));
- },
- logConfigJson: function logConfigJson() {
- return JSON.stringify(this.logConfig || {});
- },
- tokenAuth: function tokenAuth() {
- return external_CoreHome_["Matomo"].token_auth;
- },
- logsWithMessage: function logsWithMessage() {
- return (this.logs || []).filter(function (l) {
- return l.message;
- });
+ });
+ const _export_sfc = (sfc, props) => {
+ const target = sfc.__vccOpts || sfc;
+ for (const [key, val] of props) {
+ target[key] = val;
}
+ return target;
+ };
+ const _hoisted_1 = { class: "logViewer" };
+ const _hoisted_2 = { class: "row" };
+ const _hoisted_3 = { class: "logWriters col s4 m3 l2" };
+ const _hoisted_4 = { class: "severities col s4 m3 l2" };
+ const _hoisted_5 = { class: "col s12 m12 l8" };
+ const _hoisted_6 = ["title", "placeholder"];
+ const _hoisted_7 = ["title"];
+ const _hoisted_8 = {
+ class: "useRegExp",
+ style: { "margin-right": "3.5px" }
+ };
+ const _hoisted_9 = ["action"];
+ const _hoisted_10 = ["value"];
+ const _hoisted_11 = ["title"];
+ const _hoisted_12 = ["title"];
+ const _hoisted_13 = { class: "severity" };
+ const _hoisted_14 = { class: "tag" };
+ const _hoisted_15 = { class: "date" };
+ const _hoisted_16 = { class: "date" };
+ const _hoisted_17 = { class: "message" };
+ const _hoisted_18 = ["title", "onClick"];
+ const _hoisted_19 = ["title", "onClick"];
+ const _hoisted_20 = ["title", "onClick"];
+ const _hoisted_21 = ["title", "onClick"];
+ const _hoisted_22 = { class: "message" };
+ const _hoisted_23 = { key: 0 };
+ const _hoisted_24 = { colspan: "5" };
+ const _hoisted_25 = { colspan: "5" };
+ const _hoisted_26 = { class: "loadingPiwik" };
+ const _hoisted_27 = {
+ colspan: "5",
+ class: "paging"
+ };
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ const _component_Field = vue.resolveComponent("Field");
+ const _component_ContentBlock = vue.resolveComponent("ContentBlock");
+ const _directive_content_table = vue.resolveDirective("content-table");
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
+ vue.createVNode(_component_ContentBlock, {
+ "content-title": _ctx.translate("LogViewer_LogViewer")
+ }, {
+ default: vue.withCtx(() => {
+ var _a, _b;
+ return [
+ vue.createElementVNode("div", _hoisted_2, [
+ vue.createElementVNode("div", _hoisted_3, [
+ vue.createVNode(_component_Field, {
+ uicontrol: "select",
+ name: "logWriter",
+ "model-value": _ctx.selectedLogWriter,
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => {
+ _ctx.selectedLogWriter = $event;
+ _ctx.update();
+ }),
+ "full-width": true,
+ options: _ctx.logWriters
+ }, null, 8, ["model-value", "options"])
+ ]),
+ vue.createElementVNode("div", _hoisted_4, [
+ vue.createVNode(_component_Field, {
+ uicontrol: "select",
+ name: "selectedSeverity",
+ "model-value": _ctx.selectedSeverity,
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => {
+ _ctx.selectedSeverity = $event;
+ _ctx.update();
+ }),
+ "full-width": true,
+ options: _ctx.severities
+ }, null, 8, ["model-value", "options"])
+ ]),
+ vue.createElementVNode("div", _hoisted_5, [
+ vue.withDirectives(vue.createElementVNode("input", {
+ type: "text",
+ class: "search",
+ onKeydown: _cache[2] || (_cache[2] = ($event) => _ctx.onSearchKeydown($event)),
+ title: _ctx.translate("LogViewer_SearchHelp"),
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.query = $event),
+ placeholder: _ctx.translate("LogViewer_SearchPattern"),
+ style: { "margin-right": "3.5px" }
+ }, null, 40, _hoisted_6), [
+ [vue.vModelText, _ctx.query]
+ ]),
+ vue.createElementVNode("span", {
+ class: "icon-search searchIcon",
+ title: _ctx.translate("General_ClickToSearch"),
+ onClick: _cache[4] || (_cache[4] = ($event) => _ctx.update())
+ }, null, 8, _hoisted_7),
+ vue.createElementVNode("div", _hoisted_8, [
+ vue.createVNode(_component_Field, {
+ uicontrol: "checkbox",
+ title: _ctx.translate("LogViewer_UseRegExp"),
+ modelValue: _ctx.useRegExp,
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.useRegExp = $event)
+ }, null, 8, ["title", "modelValue"])
+ ]),
+ vue.createElementVNode("a", {
+ class: "icon-reload",
+ onClick: _cache[6] || (_cache[6] = ($event) => _ctx.update()),
+ style: { "margin-right": "3.5px" }
+ }),
+ vue.createElementVNode("form", {
+ method: "POST",
+ id: "export",
+ ref: "export",
+ target: "_blank",
+ action: _ctx.exportFormAction
+ }, [
+ vue.createElementVNode("input", {
+ type: "hidden",
+ name: "token_auth",
+ value: _ctx.tokenAuth
+ }, null, 8, _hoisted_10),
+ _cache[12] || (_cache[12] = vue.createElementVNode("input", {
+ type: "hidden",
+ name: "force_api_session",
+ value: "1",
+ style: { "margin-right": "3.5px" }
+ }, null, -1)),
+ vue.createElementVNode("a", {
+ class: "icon-export",
+ onClick: _cache[7] || (_cache[7] = ($event) => _ctx.$refs.export.submit()),
+ title: _ctx.translate("LogViewer_ExportThisSearch", "TSV", "5000"),
+ style: { "margin-right": "3.5px" }
+ }, null, 8, _hoisted_11)
+ ], 8, _hoisted_9),
+ vue.createElementVNode("a", {
+ class: "icon-info",
+ target: "_blank",
+ href: "https://piwik.org/faq/troubleshooting/faq_115/",
+ rel: "noreferrer noopener",
+ title: _ctx.translate("LogViewer_CurrentLogConfigIs", _ctx.logConfigJson)
+ }, null, 8, _hoisted_12),
+ _cache[13] || (_cache[13] = vue.createElementVNode("br", null, null, -1))
+ ]),
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("table", null, [
+ vue.createElementVNode("thead", null, [
+ vue.createElementVNode("tr", null, [
+ vue.createElementVNode("th", _hoisted_13, vue.toDisplayString(_ctx.translate("LogViewer_Severity")), 1),
+ vue.createElementVNode("th", _hoisted_14, vue.toDisplayString(_ctx.translate("LogViewer_Tag")), 1),
+ vue.createElementVNode("th", _hoisted_15, vue.toDisplayString(_ctx.translate("General_Date")), 1),
+ vue.createElementVNode("th", _hoisted_16, vue.toDisplayString(_ctx.translate("LogViewer_RequestId")), 1),
+ vue.createElementVNode("th", _hoisted_17, vue.toDisplayString(_ctx.translate("LogViewer_Message")), 1)
+ ])
+ ]),
+ vue.createElementVNode("tbody", null, [
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.logsWithMessage, (log, index) => {
+ return vue.openBlock(), vue.createElementBlock("tr", { key: index }, [
+ vue.createElementVNode("td", {
+ class: vue.normalizeClass(["severity", { selectable: log.severity }]),
+ title: log.severity ? _ctx.translate("LogViewer_ClickToSearchForThis") : "",
+ onClick: ($event) => _ctx.searchSeverity(log.severity)
+ }, vue.toDisplayString(log.severity || "-"), 11, _hoisted_18),
+ vue.createElementVNode("td", {
+ class: vue.normalizeClass(["tag", { selectable: log.tag }]),
+ title: log.tag ? _ctx.translate("LogViewer_ClickToSearchForThis") : "",
+ onClick: ($event) => _ctx.searchText(log.tag)
+ }, vue.toDisplayString(log.tag || "-"), 11, _hoisted_19),
+ vue.createElementVNode("td", {
+ class: vue.normalizeClass(["date", { selectable: log.datetime }]),
+ title: log.datetime ? _ctx.translate("LogViewer_ClickToSearchForThis") : "",
+ onClick: ($event) => _ctx.searchDate(log.datetime)
+ }, vue.toDisplayString(log.datetime || "-"), 11, _hoisted_20),
+ vue.createElementVNode("td", {
+ class: vue.normalizeClass(["requestId", { selectable: log.requestId }]),
+ title: log.requestId ? _ctx.translate("LogViewer_ClickToSearchForThis") : "",
+ onClick: ($event) => _ctx.searchRequestId(log.requestId)
+ }, vue.toDisplayString(log.requestId || "-"), 11, _hoisted_21),
+ vue.createElementVNode("td", _hoisted_22, vue.toDisplayString(log.message), 1)
+ ]);
+ }), 128)),
+ !_ctx.isLoading && ((_a = _ctx.logs) == null ? void 0 : _a.length) === 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_23, [
+ vue.createElementVNode("td", _hoisted_24, vue.toDisplayString(_ctx.translate("General_SearchNoResults")), 1)
+ ])) : vue.createCommentVNode("", true),
+ vue.withDirectives(vue.createElementVNode("tr", null, [
+ vue.createElementVNode("td", _hoisted_25, [
+ vue.createElementVNode("span", _hoisted_26, [
+ _cache[14] || (_cache[14] = vue.createElementVNode("img", { src: "plugins/Morpheus/images/loading-blue.gif" }, null, -1)),
+ vue.createTextVNode(" " + vue.toDisplayString(_ctx.translate("General_Loading")), 1)
+ ])
+ ])
+ ], 512), [
+ [vue.vShow, _ctx.isLoading]
+ ]),
+ vue.createElementVNode("tr", null, [
+ vue.createElementVNode("td", _hoisted_27, [
+ vue.withDirectives(vue.createElementVNode("span", {
+ id: "prev",
+ class: "previous",
+ onClick: _cache[9] || (_cache[9] = ($event) => _ctx.previousPage())
+ }, [
+ vue.createElementVNode("a", {
+ class: "btn",
+ onClick: _cache[8] || (_cache[8] = vue.withModifiers(() => {
+ }, ["prevent"]))
+ }, [
+ vue.createElementVNode("span", null, "« " + vue.toDisplayString(_ctx.translate("General_Previous")), 1)
+ ])
+ ], 512), [
+ [vue.vShow, !(_ctx.page < 1)]
+ ]),
+ vue.withDirectives(vue.createElementVNode("span", {
+ id: "next",
+ class: "next pointer",
+ onClick: _cache[11] || (_cache[11] = ($event) => _ctx.nextPage())
+ }, [
+ vue.createElementVNode("a", {
+ class: "btn",
+ onClick: _cache[10] || (_cache[10] = vue.withModifiers(() => {
+ }, ["prevent"]))
+ }, [
+ vue.createElementVNode("span", null, vue.toDisplayString(_ctx.translate("General_Next")) + " »", 1)
+ ])
+ ], 512), [
+ [vue.vShow, !((((_b = _ctx.logs) == null ? void 0 : _b.length) || 0) < 1)]
+ ])
+ ])
+ ])
+ ])
+ ])), [
+ [_directive_content_table]
+ ])
+ ])
+ ];
+ }),
+ _: 1
+ }, 8, ["content-title"])
+ ]);
}
+ const LogViewer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
+ exports2.LogViewer = LogViewer;
+ Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
}));
-// CONCATENATED MODULE: ./plugins/LogViewer/vue/src/LogViewer/LogViewer.vue?vue&type=script&lang=ts
-
-// CONCATENATED MODULE: ./plugins/LogViewer/vue/src/LogViewer/LogViewer.vue
-
-
-
-LogViewervue_type_script_lang_ts.render = render
-
-/* harmony default export */ var LogViewer = (LogViewervue_type_script_lang_ts);
-// CONCATENATED MODULE: ./plugins/LogViewer/vue/src/index.ts
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
-
-
-
-
-/***/ })
-
-/******/ });
-});
-//# sourceMappingURL=LogViewer.umd.js.map
\ No newline at end of file
diff --git a/vue/dist/LogViewer.umd.min.js b/vue/dist/LogViewer.umd.min.js
index b13e6ac..90e4ce8 100644
--- a/vue/dist/LogViewer.umd.min.js
+++ b/vue/dist/LogViewer.umd.min.js
@@ -1,8 +1 @@
-(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):"function"===typeof define&&define.amd?define(["CoreHome",,"CorePluginsAdmin"],t):"object"===typeof exports?exports["LogViewer"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["LogViewer"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,r){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="plugins/LogViewer/vue/dist/",r(r.s="fae3")}({"19dc":function(t,r){t.exports=e},"8bbf":function(e,r){e.exports=t},a5a2:function(e,t){e.exports=r},fae3:function(e,t,r){"use strict";if(r.r(t),r.d(t,"LogViewer",(function(){return z})),"undefined"!==typeof window){var n=window.document.currentScript,o=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(r.p=o[1])}var i=r("8bbf"),l={class:"logViewer"},a={class:"row"},c={class:"logWriters col s4 m3 l2"},s={class:"severities col s4 m3 l2"},u={class:"col s12 m12 l8"},d=["title","placeholder"],g=["title"],p={class:"useRegExp",style:{"margin-right":"3.5px"}},f=["action"],b=["value"],m=Object(i["createElementVNode"])("input",{type:"hidden",name:"force_api_session",value:"1",style:{"margin-right":"3.5px"}},null,-1),h=["title"],y=["title"],v=Object(i["createElementVNode"])("br",null,null,-1),j={class:"severity"},O={class:"tag"},V={class:"date"},E={class:"date"},N={class:"message"},C=["title","onClick"],w=["title","onClick"],S=["title","onClick"],L=["title","onClick"],k={class:"message"},x={key:0},_={colspan:"5"},q={colspan:"5"},T={class:"loadingPiwik"},A=Object(i["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif"},null,-1),R={colspan:"5",class:"paging"};function D(e,t,r,n,o,D){var I=Object(i["resolveComponent"])("Field"),P=Object(i["resolveComponent"])("ContentBlock"),W=Object(i["resolveDirective"])("content-table");return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",l,[Object(i["createVNode"])(P,{"content-title":e.translate("LogViewer_LogViewer")},{default:Object(i["withCtx"])((function(){var r,n;return[Object(i["createElementVNode"])("div",a,[Object(i["createElementVNode"])("div",c,[Object(i["createVNode"])(I,{uicontrol:"select",name:"logWriter","model-value":e.selectedLogWriter,"onUpdate:modelValue":t[0]||(t[0]=function(t){e.selectedLogWriter=t,e.update()}),"full-width":!0,options:e.logWriters},null,8,["model-value","options"])]),Object(i["createElementVNode"])("div",s,[Object(i["createVNode"])(I,{uicontrol:"select",name:"selectedSeverity","model-value":e.selectedSeverity,"onUpdate:modelValue":t[1]||(t[1]=function(t){e.selectedSeverity=t,e.update()}),"full-width":!0,options:e.severities},null,8,["model-value","options"])]),Object(i["createElementVNode"])("div",u,[Object(i["withDirectives"])(Object(i["createElementVNode"])("input",{type:"text",class:"search",onKeydown:t[2]||(t[2]=function(t){return e.onSearchKeydown(t)}),title:e.translate("LogViewer_SearchHelp"),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.query=t}),placeholder:e.translate("LogViewer_SearchPattern"),style:{"margin-right":"3.5px"}},null,40,d),[[i["vModelText"],e.query]]),Object(i["createElementVNode"])("span",{class:"icon-search searchIcon",title:e.translate("General_ClickToSearch"),onClick:t[4]||(t[4]=function(t){return e.update()})},null,8,g),Object(i["createElementVNode"])("div",p,[Object(i["createVNode"])(I,{uicontrol:"checkbox",title:e.translate("LogViewer_UseRegExp"),modelValue:e.useRegExp,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.useRegExp=t})},null,8,["title","modelValue"])]),Object(i["createElementVNode"])("a",{class:"icon-reload",onClick:t[6]||(t[6]=function(t){return e.update()}),style:{"margin-right":"3.5px"}}),Object(i["createElementVNode"])("form",{method:"POST",id:"export",ref:"export",target:"_blank",action:e.exportFormAction},[Object(i["createElementVNode"])("input",{type:"hidden",name:"token_auth",value:e.tokenAuth},null,8,b),m,Object(i["createElementVNode"])("a",{class:"icon-export",onClick:t[7]||(t[7]=function(t){return e.$refs.export.submit()}),title:e.translate("LogViewer_ExportThisSearch","TSV",5e3),style:{"margin-right":"3.5px"}},null,8,h)],8,f),Object(i["createElementVNode"])("a",{class:"icon-info",target:"_blank",href:"https://piwik.org/faq/troubleshooting/faq_115/",rel:"noreferrer noopener",title:e.translate("LogViewer_CurrentLogConfigIs",e.logConfigJson)},null,8,y),v]),Object(i["withDirectives"])(Object(i["createElementVNode"])("table",null,[Object(i["createElementVNode"])("thead",null,[Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("th",j,Object(i["toDisplayString"])(e.translate("LogViewer_Severity")),1),Object(i["createElementVNode"])("th",O,Object(i["toDisplayString"])(e.translate("LogViewer_Tag")),1),Object(i["createElementVNode"])("th",V,Object(i["toDisplayString"])(e.translate("General_Date")),1),Object(i["createElementVNode"])("th",E,Object(i["toDisplayString"])(e.translate("LogViewer_RequestId")),1),Object(i["createElementVNode"])("th",N,Object(i["toDisplayString"])(e.translate("LogViewer_Message")),1)])]),Object(i["createElementVNode"])("tbody",null,[(Object(i["openBlock"])(!0),Object(i["createElementBlock"])(i["Fragment"],null,Object(i["renderList"])(e.logsWithMessage,(function(t,r){return Object(i["openBlock"])(),Object(i["createElementBlock"])("tr",{key:r},[Object(i["createElementVNode"])("td",{class:Object(i["normalizeClass"])(["severity",{selectable:t.severity}]),title:t.severity?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:function(r){return e.searchSeverity(t.severity)}},Object(i["toDisplayString"])(t.severity||"-"),11,C),Object(i["createElementVNode"])("td",{class:Object(i["normalizeClass"])(["tag",{selectable:t.tag}]),title:t.tag?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:function(r){return e.searchText(t.tag)}},Object(i["toDisplayString"])(t.tag||"-"),11,w),Object(i["createElementVNode"])("td",{class:Object(i["normalizeClass"])(["date",{selectable:t.datetime}]),title:t.datetime?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:function(r){return e.searchDate(t.datetime)}},Object(i["toDisplayString"])(t.datetime||"-"),11,S),Object(i["createElementVNode"])("td",{class:Object(i["normalizeClass"])(["requestId",{selectable:t.requestId}]),title:t.requestId?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:function(r){return e.searchRequestId(t.requestId)}},Object(i["toDisplayString"])(t.requestId||"-"),11,L),Object(i["createElementVNode"])("td",k,Object(i["toDisplayString"])(t.message),1)])})),128)),e.isLoading||0!==(null===(r=e.logs)||void 0===r?void 0:r.length)?Object(i["createCommentVNode"])("",!0):(Object(i["openBlock"])(),Object(i["createElementBlock"])("tr",x,[Object(i["createElementVNode"])("td",_,Object(i["toDisplayString"])(e.translate("General_SearchNoResults")),1)])),Object(i["withDirectives"])(Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("td",q,[Object(i["createElementVNode"])("span",T,[A,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("General_Loading")),1)])])],512),[[i["vShow"],e.isLoading]]),Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("td",R,[Object(i["withDirectives"])(Object(i["createElementVNode"])("span",{id:"prev",class:"previous",onClick:t[9]||(t[9]=function(t){return e.previousPage()})},[Object(i["createElementVNode"])("a",{class:"btn",onClick:t[8]||(t[8]=Object(i["withModifiers"])((function(){}),["prevent"]))},[Object(i["createElementVNode"])("span",null,"« "+Object(i["toDisplayString"])(e.translate("General_Previous")),1)])],512),[[i["vShow"],!(e.page<1)]]),Object(i["withDirectives"])(Object(i["createElementVNode"])("span",{id:"next",class:"next pointer",onClick:t[11]||(t[11]=function(t){return e.nextPage()})},[Object(i["createElementVNode"])("a",{class:"btn",onClick:t[10]||(t[10]=Object(i["withModifiers"])((function(){}),["prevent"]))},[Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(e.translate("General_Next"))+" »",1)])],512),[[i["vShow"],!((null===(n=e.logs)||void 0===n?void 0:n.length)<1)]])])])])],512),[[W]])])]})),_:1},8,["content-title"])])}var I=r("19dc"),P=r("a5a2");function W(e,t){return U(e)||G(e,t)||B(e,t)||M()}function M(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function B(e,t){if(e){if("string"===typeof e)return F(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?F(e,t):void 0}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r',"",e.logWriters.map((function(e){return e.value})).join(", ")]);I["NotificationsStore"].show({message:i,title:o,context:"info",noclear:!0,type:"transient"}),null!==(n=e.logWriters)&&void 0!==n&&n[0]&&(e.selectedLogWriter=e.logWriters[0].value)}e.selectedLogWriter?e.update():e.isLoading=!1})),I["AjaxHelper"].fetch({method:"LogViewer.getLogConfig",filter_limit:"-1"}).then((function(t){e.logConfig=t}))},methods:{update:function(){var e=this;this.isLoading=!0,this.logs=[],this.getLogEntries({query:this.buildQuery,limitPerPage:this.limit,source:this.selectedLogWriter,page:this.page}).catch((function(e){return I["NotificationsStore"].show({message:e.message||e,context:"error",type:"transient"}),[]})).then((function(t){e.logs=t})).finally((function(){e.isLoading=!1}))},searchSeverity:function(e){e&&(this.selectedSeverity=e.toUpperCase(),this.update())},searchDate:function(e){e&&(this.selectedSeverity="",this.query="\\[".concat(e.substr(0,10),".{9}\\]"),this.useRegExp=!0,this.update())},searchRequestId:function(e){e&&this.searchText("[".concat(e,"]"))},searchText:function(e){e&&(this.selectedSeverity="",this.query=e,this.useRegExp&&(this.query=window.preg_quote(this.query)),this.update())},previousPage:function(){this.page>0&&(this.page-=1,this.update())},nextPage:function(){var e;null!==(e=this.logs)&&void 0!==e&&e.length&&(this.page+=1,this.update())},onSearchKeydown:function(e){"Enter"===e.code&&this.update()}},computed:{buildQuery:function(){var e=this.query;return this.useRegExp||(e=window.preg_quote(this.query)),this.selectedSeverity&&(e="^".concat(this.selectedSeverity,"(.*)").concat(e)),e},exportFormAction:function(){return"?".concat(I["MatomoUrl"].stringify({module:"API",method:"LogViewer.getLogEntries",query:this.buildQuery,format:"TSV",page:0,limitPerPage:5e3}))},logConfigJson:function(){return JSON.stringify(this.logConfig||{})},tokenAuth:function(){return I["Matomo"].token_auth},logsWithMessage:function(){return(this.logs||[]).filter((function(e){return e.message}))}}});H.render=D;var z=H;
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */}})}));
-//# sourceMappingURL=LogViewer.umd.min.js.map
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("CoreHome"),require("CorePluginsAdmin")):"function"==typeof define&&define.amd?define(["exports","vue","CoreHome","CorePluginsAdmin"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LogViewer={},e.Vue,e.CoreHome,e.CorePluginsAdmin)}(this,function(e,t,r,l){"use strict";var o=Object.defineProperty,i=Object.defineProperties,a=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const g=t.defineComponent({props:{limit:{type:Number,required:!0}},components:{ContentBlock:r.ContentBlock,Field:l.Field},directives:{ContentTable:r.ContentTable},data:()=>({page:0,query:"",isLoading:!0,logWriters:[],selectedLogWriter:"",useRegExp:!1,severities:[{key:"",value:r.translate("LogViewer_AnySeverity")},{key:"DEBUG",value:"DEBUG"},{key:"INFO",value:"INFO"},{key:"NOTICE",value:"NOTICE"},{key:"WARNING",value:"WARNING"},{key:"ERROR",value:"ERROR"},{key:"CRITICAL",value:"CRITICAL"},{key:"ALERT",value:"ALERT"},{key:"EMERGENCY",value:"EMERGENCY"}],selectedSeverity:"",logs:void 0,logConfig:void 0}),setup(){let e=null;return{getLogEntries:t=>{return e&&(e.abort(),e=null),e=new AbortController,r.AjaxHelper.fetch((l=((e,t)=>{for(var r in t||(t={}))n.call(t,r)&&d(e,r,t[r]);if(s)for(var r of s(t))c.call(t,r)&&d(e,r,t[r]);return e})({},t),o={method:"LogViewer.getLogEntries"},i(l,a(o))),{abortController:e,createErrorNotification:!1}).finally(()=>{e=null});var l,o}}},created(){r.AjaxHelper.fetch({method:"LogViewer.getAvailableLogReaders"}).then(e=>{Array.isArray(e)&&(this.logWriters=e.map(e=>({key:e,value:e})))}).then(()=>r.AjaxHelper.fetch({method:"LogViewer.getConfiguredLogReaders"})).then(e=>{var t;if(null==e?void 0:e[0])[this.selectedLogWriter]=e;else{const e=r.translate("LogViewer_NoSupportedLogWriterConfiguredTitle"),l=r.translate("LogViewer_NoSupportedLogWriterConfiguredMessage",['',"",this.logWriters.map(e=>e.value).join(", ")]);r.NotificationsStore.show({message:l,title:e,context:"info",noclear:!0,type:"transient"}),(null==(t=this.logWriters)?void 0:t[0])&&(this.selectedLogWriter=this.logWriters[0].value)}this.selectedLogWriter?this.update():this.isLoading=!1}),r.AjaxHelper.fetch({method:"LogViewer.getLogConfig",filter_limit:"-1"}).then(e=>{this.logConfig=e})},methods:{update(){this.isLoading=!0,this.logs=[],this.getLogEntries({query:this.buildQuery,limitPerPage:this.limit,source:this.selectedLogWriter,page:this.page}).catch(e=>(r.NotificationsStore.show({message:e.message||e,context:"error",type:"transient"}),[])).then(e=>{this.logs=e}).finally(()=>{this.isLoading=!1})},searchSeverity(e){e&&(this.selectedSeverity=e.toUpperCase(),this.update())},searchDate(e){e&&(this.selectedSeverity="",this.query=`\\[${e.substr(0,10)}.{9}\\]`,this.useRegExp=!0,this.update())},searchRequestId(e){e&&this.searchText(`[${e}]`)},searchText(e){e&&(this.selectedSeverity="",this.query=e,this.useRegExp&&(this.query=window.preg_quote(this.query)),this.update())},previousPage(){this.page>0&&(this.page-=1,this.update())},nextPage(){var e;(null==(e=this.logs)?void 0:e.length)&&(this.page+=1,this.update())},onSearchKeydown(e){"Enter"===e.code&&this.update()}},computed:{buildQuery(){let{query:e}=this;return this.useRegExp||(e=window.preg_quote(this.query)),this.selectedSeverity&&(e=`^${this.selectedSeverity}(.*)${e}`),e},exportFormAction(){return`?${r.MatomoUrl.stringify({module:"API",method:"LogViewer.getLogEntries",query:this.buildQuery,format:"TSV",page:0,limitPerPage:5e3})}`},logConfigJson(){return JSON.stringify(this.logConfig||{})},tokenAuth:()=>r.Matomo.token_auth,logsWithMessage(){return(this.logs||[]).filter(e=>e.message)}}}),u={class:"logViewer"},p={class:"row"},h={class:"logWriters col s4 m3 l2"},m={class:"severities col s4 m3 l2"},y={class:"col s12 m12 l8"},v=["title","placeholder"],V=["title"],E={class:"useRegExp",style:{"margin-right":"3.5px"}},f=["action"],N=["value"],C=["title"],w=["title"],k={class:"severity"},L={class:"tag"},S={class:"date"},b={class:"date"},x={class:"message"},_=["title","onClick"],T=["title","onClick"],q=["title","onClick"],R=["title","onClick"],D={class:"message"},A={key:0},I={colspan:"5"},P={colspan:"5"},W={class:"loadingPiwik"},O={colspan:"5",class:"paging"};const B=((e,t)=>{const r=e.__vccOpts||e;for(const[l,o]of t)r[l]=o;return r})(g,[["render",function(e,r,l,o,i,a){const s=t.resolveComponent("Field"),n=t.resolveComponent("ContentBlock"),c=t.resolveDirective("content-table");return t.openBlock(),t.createElementBlock("div",u,[t.createVNode(n,{"content-title":e.translate("LogViewer_LogViewer")},{default:t.withCtx(()=>{var l,o;return[t.createElementVNode("div",p,[t.createElementVNode("div",h,[t.createVNode(s,{uicontrol:"select",name:"logWriter","model-value":e.selectedLogWriter,"onUpdate:modelValue":r[0]||(r[0]=t=>{e.selectedLogWriter=t,e.update()}),"full-width":!0,options:e.logWriters},null,8,["model-value","options"])]),t.createElementVNode("div",m,[t.createVNode(s,{uicontrol:"select",name:"selectedSeverity","model-value":e.selectedSeverity,"onUpdate:modelValue":r[1]||(r[1]=t=>{e.selectedSeverity=t,e.update()}),"full-width":!0,options:e.severities},null,8,["model-value","options"])]),t.createElementVNode("div",y,[t.withDirectives(t.createElementVNode("input",{type:"text",class:"search",onKeydown:r[2]||(r[2]=t=>e.onSearchKeydown(t)),title:e.translate("LogViewer_SearchHelp"),"onUpdate:modelValue":r[3]||(r[3]=t=>e.query=t),placeholder:e.translate("LogViewer_SearchPattern"),style:{"margin-right":"3.5px"}},null,40,v),[[t.vModelText,e.query]]),t.createElementVNode("span",{class:"icon-search searchIcon",title:e.translate("General_ClickToSearch"),onClick:r[4]||(r[4]=t=>e.update())},null,8,V),t.createElementVNode("div",E,[t.createVNode(s,{uicontrol:"checkbox",title:e.translate("LogViewer_UseRegExp"),modelValue:e.useRegExp,"onUpdate:modelValue":r[5]||(r[5]=t=>e.useRegExp=t)},null,8,["title","modelValue"])]),t.createElementVNode("a",{class:"icon-reload",onClick:r[6]||(r[6]=t=>e.update()),style:{"margin-right":"3.5px"}}),t.createElementVNode("form",{method:"POST",id:"export",ref:"export",target:"_blank",action:e.exportFormAction},[t.createElementVNode("input",{type:"hidden",name:"token_auth",value:e.tokenAuth},null,8,N),r[12]||(r[12]=t.createElementVNode("input",{type:"hidden",name:"force_api_session",value:"1",style:{"margin-right":"3.5px"}},null,-1)),t.createElementVNode("a",{class:"icon-export",onClick:r[7]||(r[7]=t=>e.$refs.export.submit()),title:e.translate("LogViewer_ExportThisSearch","TSV","5000"),style:{"margin-right":"3.5px"}},null,8,C)],8,f),t.createElementVNode("a",{class:"icon-info",target:"_blank",href:"https://piwik.org/faq/troubleshooting/faq_115/",rel:"noreferrer noopener",title:e.translate("LogViewer_CurrentLogConfigIs",e.logConfigJson)},null,8,w),r[13]||(r[13]=t.createElementVNode("br",null,null,-1))]),t.withDirectives((t.openBlock(),t.createElementBlock("table",null,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[t.createElementVNode("th",k,t.toDisplayString(e.translate("LogViewer_Severity")),1),t.createElementVNode("th",L,t.toDisplayString(e.translate("LogViewer_Tag")),1),t.createElementVNode("th",S,t.toDisplayString(e.translate("General_Date")),1),t.createElementVNode("th",b,t.toDisplayString(e.translate("LogViewer_RequestId")),1),t.createElementVNode("th",x,t.toDisplayString(e.translate("LogViewer_Message")),1)])]),t.createElementVNode("tbody",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.logsWithMessage,(r,l)=>(t.openBlock(),t.createElementBlock("tr",{key:l},[t.createElementVNode("td",{class:t.normalizeClass(["severity",{selectable:r.severity}]),title:r.severity?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:t=>e.searchSeverity(r.severity)},t.toDisplayString(r.severity||"-"),11,_),t.createElementVNode("td",{class:t.normalizeClass(["tag",{selectable:r.tag}]),title:r.tag?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:t=>e.searchText(r.tag)},t.toDisplayString(r.tag||"-"),11,T),t.createElementVNode("td",{class:t.normalizeClass(["date",{selectable:r.datetime}]),title:r.datetime?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:t=>e.searchDate(r.datetime)},t.toDisplayString(r.datetime||"-"),11,q),t.createElementVNode("td",{class:t.normalizeClass(["requestId",{selectable:r.requestId}]),title:r.requestId?e.translate("LogViewer_ClickToSearchForThis"):"",onClick:t=>e.searchRequestId(r.requestId)},t.toDisplayString(r.requestId||"-"),11,R),t.createElementVNode("td",D,t.toDisplayString(r.message),1)]))),128)),e.isLoading||0!==(null==(l=e.logs)?void 0:l.length)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("tr",A,[t.createElementVNode("td",I,t.toDisplayString(e.translate("General_SearchNoResults")),1)])),t.withDirectives(t.createElementVNode("tr",null,[t.createElementVNode("td",P,[t.createElementVNode("span",W,[r[14]||(r[14]=t.createElementVNode("img",{src:"plugins/Morpheus/images/loading-blue.gif"},null,-1)),t.createTextVNode(" "+t.toDisplayString(e.translate("General_Loading")),1)])])],512),[[t.vShow,e.isLoading]]),t.createElementVNode("tr",null,[t.createElementVNode("td",O,[t.withDirectives(t.createElementVNode("span",{id:"prev",class:"previous",onClick:r[9]||(r[9]=t=>e.previousPage())},[t.createElementVNode("a",{class:"btn",onClick:r[8]||(r[8]=t.withModifiers(()=>{},["prevent"]))},[t.createElementVNode("span",null,"« "+t.toDisplayString(e.translate("General_Previous")),1)])],512),[[t.vShow,!(e.page<1)]]),t.withDirectives(t.createElementVNode("span",{id:"next",class:"next pointer",onClick:r[11]||(r[11]=t=>e.nextPage())},[t.createElementVNode("a",{class:"btn",onClick:r[10]||(r[10]=t.withModifiers(()=>{},["prevent"]))},[t.createElementVNode("span",null,t.toDisplayString(e.translate("General_Next"))+" »",1)])],512),[[t.vShow,!(((null==(o=e.logs)?void 0:o.length)||0)<1)]])])])])])),[[c]])])]}),_:1},8,["content-title"])])}]]);e.LogViewer=B,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
diff --git a/vue/dist/umd.metadata.json b/vue/dist/umd.metadata.json
index dce4477..662eca6 100644
--- a/vue/dist/umd.metadata.json
+++ b/vue/dist/umd.metadata.json
@@ -3,4 +3,4 @@
"CoreHome",
"CorePluginsAdmin"
]
-}
\ No newline at end of file
+}
diff --git a/vue/src/LogViewer/LogViewer.vue b/vue/src/LogViewer/LogViewer.vue
index 296aee7..79fa53f 100644
--- a/vue/src/LogViewer/LogViewer.vue
+++ b/vue/src/LogViewer/LogViewer.vue
@@ -78,7 +78,7 @@
@@ -165,7 +165,7 @@
id="next"
class="next pointer"
@click="nextPage()"
- v-show="!(logs?.length < 1)"
+ v-show="!((logs?.length || 0) < 1)"
>