From 14be06f394aea7d01d2bc9345de573a47c1b8ff9 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Thu, 16 Jan 2025 12:16:50 +0100 Subject: [PATCH 1/2] Allow activating feature flags using cookies --- .../FeatureFlags/CliMultiProcessSymfony.php | 5 ++ plugins/FeatureFlags/FeatureFlagInterface.php | 2 + plugins/FeatureFlags/FeatureFlagManager.php | 6 +- plugins/FeatureFlags/FeatureFlags/Example.php | 5 ++ .../Storage/CookieFeatureFlagStorage.php | 71 +++++++++++++++++++ plugins/FeatureFlags/config/config.php | 1 + .../FeatureFlags/FakeFeatureFlag.php | 5 ++ .../Commands/FeatureFlags/FakeFeatureFlag.php | 5 ++ .../ImprovedAllWebsitesDashboard.php | 5 ++ 9 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 plugins/FeatureFlags/Storage/CookieFeatureFlagStorage.php diff --git a/plugins/CoreConsole/FeatureFlags/CliMultiProcessSymfony.php b/plugins/CoreConsole/FeatureFlags/CliMultiProcessSymfony.php index c701f0c80ea..a5148296d70 100644 --- a/plugins/CoreConsole/FeatureFlags/CliMultiProcessSymfony.php +++ b/plugins/CoreConsole/FeatureFlags/CliMultiProcessSymfony.php @@ -19,4 +19,9 @@ public function getName(): string { return 'CliMultiProcessSymfony'; } + + public function allowsCookieOverwrite(): bool + { + return false; + } } diff --git a/plugins/FeatureFlags/FeatureFlagInterface.php b/plugins/FeatureFlags/FeatureFlagInterface.php index 7bc92d338c0..0876369f9bc 100644 --- a/plugins/FeatureFlags/FeatureFlagInterface.php +++ b/plugins/FeatureFlags/FeatureFlagInterface.php @@ -12,4 +12,6 @@ interface FeatureFlagInterface { public function getName(): string; + + public function allowsCookieOverwrite(): bool; } diff --git a/plugins/FeatureFlags/FeatureFlagManager.php b/plugins/FeatureFlags/FeatureFlagManager.php index 9e2bbd6bcfe..b3265b587e9 100644 --- a/plugins/FeatureFlags/FeatureFlagManager.php +++ b/plugins/FeatureFlags/FeatureFlagManager.php @@ -42,17 +42,15 @@ public function isFeatureActive(string $featureFlag): bool return false; } - $featureActive = false; - foreach ($this->storages as $storage) { $isActive = $storage->isFeatureActive($featureFlagObj); if ($isActive !== null) { - $featureActive = $isActive; + return $isActive; } } - return $featureActive; + return false; } private function createFeatureFlagObjFromString(string $featureFlag): ?FeatureFlagInterface diff --git a/plugins/FeatureFlags/FeatureFlags/Example.php b/plugins/FeatureFlags/FeatureFlags/Example.php index ed3f4c0a414..759bc5f6540 100644 --- a/plugins/FeatureFlags/FeatureFlags/Example.php +++ b/plugins/FeatureFlags/FeatureFlags/Example.php @@ -17,4 +17,9 @@ public function getName(): string { return 'Example'; } + + public function allowsCookieOverwrite(): bool + { + return false; + } } diff --git a/plugins/FeatureFlags/Storage/CookieFeatureFlagStorage.php b/plugins/FeatureFlags/Storage/CookieFeatureFlagStorage.php new file mode 100644 index 00000000000..04d8e3ee2ab --- /dev/null +++ b/plugins/FeatureFlags/Storage/CookieFeatureFlagStorage.php @@ -0,0 +1,71 @@ +allowsCookieOverwrite()) { + return false; + } + + $cookieName = $this->getCookieNameForFeature($feature->getName()); + + if (!isset($_COOKIE[$cookieName])) { + return null; + } + + return $_COOKIE[$cookieName] == '1'; + } + + /** + * @internal + * @param FeatureFlagInterface $feature + * @return void + */ + public function disableFeatureFlag(FeatureFlagInterface $feature): void + { + // do nothing, as cookie values should only be set in frontend + } + + /** + * @internal + * @param FeatureFlagInterface $feature + * @return void + */ + public function enableFeatureFlag(FeatureFlagInterface $feature): void + { + // do nothing as cookie values should only be set in frontend + } + + /** + * @internal + * @param string $feature + * @return void + */ + public function deleteFeatureFlag(string $featureName): void + { + // do nothing as cookie values should only be set in frontend + } + + private function getCookieNameForFeature(string $featureName): string + { + return 'feature_' . $featureName; + } +} diff --git a/plugins/FeatureFlags/config/config.php b/plugins/FeatureFlags/config/config.php index adf273e77b7..f16696d7d91 100644 --- a/plugins/FeatureFlags/config/config.php +++ b/plugins/FeatureFlags/config/config.php @@ -13,6 +13,7 @@ * The first one will be overwritten by the second one (if set). */ 'featureflag.storages' => [ + DI::get('Piwik\Plugins\FeatureFlags\Storage\CookieFeatureFlagStorage'), DI::get('Piwik\Plugins\FeatureFlags\Storage\ConfigFeatureFlagStorage'), ], /** diff --git a/plugins/FeatureFlags/tests/Integration/FeatureFlags/FakeFeatureFlag.php b/plugins/FeatureFlags/tests/Integration/FeatureFlags/FakeFeatureFlag.php index f89bb8490e4..17211757e3b 100644 --- a/plugins/FeatureFlags/tests/Integration/FeatureFlags/FakeFeatureFlag.php +++ b/plugins/FeatureFlags/tests/Integration/FeatureFlags/FakeFeatureFlag.php @@ -17,4 +17,9 @@ public function getName(): string { return 'NotReal'; } + + public function allowsCookieOverwrite(): bool + { + return false; + } } diff --git a/plugins/FeatureFlags/tests/System/Commands/FeatureFlags/FakeFeatureFlag.php b/plugins/FeatureFlags/tests/System/Commands/FeatureFlags/FakeFeatureFlag.php index 28a0582285f..3151b651151 100644 --- a/plugins/FeatureFlags/tests/System/Commands/FeatureFlags/FakeFeatureFlag.php +++ b/plugins/FeatureFlags/tests/System/Commands/FeatureFlags/FakeFeatureFlag.php @@ -17,4 +17,9 @@ public function getName(): string { return 'SystemTest'; } + + public function allowsCookieOverwrite(): bool + { + return false; + } } diff --git a/plugins/MultiSites/FeatureFlags/ImprovedAllWebsitesDashboard.php b/plugins/MultiSites/FeatureFlags/ImprovedAllWebsitesDashboard.php index 1da69a40c3a..4838d0143b9 100644 --- a/plugins/MultiSites/FeatureFlags/ImprovedAllWebsitesDashboard.php +++ b/plugins/MultiSites/FeatureFlags/ImprovedAllWebsitesDashboard.php @@ -19,4 +19,9 @@ public function getName(): string { return 'ImprovedAllWebsitesDashboard'; } + + public function allowsCookieOverwrite(): bool + { + return true; + } } From 85eeb01be4d59b50588ecd0a352a141abb8f9dcd Mon Sep 17 00:00:00 2001 From: sgiehl Date: Thu, 16 Jan 2025 15:26:45 +0100 Subject: [PATCH 2/2] Allow switching between MultiSites layout in UI --- .../FeatureFlags/vue/dist/FeatureFlags.umd.js | 252 ++++++++++++++++++ .../vue/dist/FeatureFlags.umd.min.js | 8 + .../FeatureFlags/vue/dist/umd.metadata.json | 5 + .../FeatureFlagToggle/FeatureFlagToggle.vue | 70 +++++ plugins/FeatureFlags/vue/src/index.ts | 8 + plugins/MultiSites/vue/dist/MultiSites.umd.js | 136 ++++++---- .../MultiSites/vue/dist/MultiSites.umd.min.js | 6 +- plugins/MultiSites/vue/dist/umd.metadata.json | 3 +- .../AllWebsitesDashboard.vue | 6 + .../vue/src/Dashboard/Dashboard.vue | 6 + 10 files changed, 440 insertions(+), 60 deletions(-) create mode 100644 plugins/FeatureFlags/vue/dist/FeatureFlags.umd.js create mode 100644 plugins/FeatureFlags/vue/dist/FeatureFlags.umd.min.js create mode 100644 plugins/FeatureFlags/vue/dist/umd.metadata.json create mode 100644 plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue create mode 100644 plugins/FeatureFlags/vue/src/index.ts diff --git a/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.js b/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.js new file mode 100644 index 00000000000..b32319d7656 --- /dev/null +++ b/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.js @@ -0,0 +1,252 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("CoreHome"), require("vue")); + else if(typeof define === 'function' && define.amd) + define(["CoreHome", ], factory); + else if(typeof exports === 'object') + exports["FeatureFlags"] = factory(require("CoreHome"), require("vue")); + else + root["FeatureFlags"] = factory(root["CoreHome"], root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__) { +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/FeatureFlags/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__; + +/***/ }), + +/***/ "fae3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "FeatureFlagToggle", function() { return /* reexport */ FeatureFlagToggle; }); + +// 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/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue?vue&type=template&id=488cdc68 + +var _hoisted_1 = { + style: { + "font-size": "15px", + "position": "absolute", + "top": "5px", + "right": "0", + "padding": "5px", + "text-align": "center" + } +}; +var _hoisted_2 = ["innerHTML"]; +var _hoisted_3 = { + class: "switch", + style: { + "zoom": "75%" + } +}; +var _hoisted_4 = ["checked"]; + +var _hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "lever" +}, null, -1); + +function render(_ctx, _cache, $props, $setup, $data, $options) { + 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_["createElementVNode"])("span", { + innerHTML: _ctx.$sanitize(_ctx.description) + }, null, 8, _hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + type: "checkbox", + checked: _ctx.isActive, + onChange: _cache[0] || (_cache[0] = function ($event) { + return _ctx.toggle(); + }) + }, null, 40, _hoisted_4), _hoisted_5])])]); +} +// CONCATENATED MODULE: ./plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue?vue&type=template&id=488cdc68 + +// EXTERNAL MODULE: external "CoreHome" +var external_CoreHome_ = __webpack_require__("19dc"); + +// 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/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue?vue&type=script&lang=ts + + +/* harmony default export */ var FeatureFlagTogglevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + featureName: { + type: String, + required: true + }, + description: { + type: String, + required: true + }, + defaultValue: { + type: Boolean, + required: false, + default: false + } + }, + methods: { + toggle: function toggle() { + if (this.isActive) { + this.deactivate(); + } else { + this.activate(); + } + }, + activate: function activate() { + Object(external_CoreHome_["setCookie"])("feature_".concat(this.featureName), '1', 14 * 24 * 60 * 1000); + window.location.reload(); + }, + deactivate: function deactivate() { + Object(external_CoreHome_["setCookie"])("feature_".concat(this.featureName), '0', 14 * 24 * 60 * 1000); + window.location.reload(); + } + }, + computed: { + isActive: function isActive() { + var cookieValue = Object(external_CoreHome_["getCookie"])("feature_".concat(this.featureName)); + return cookieValue === null && this.defaultValue || cookieValue === '1'; + } + } +})); +// CONCATENATED MODULE: ./plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue + + + +FeatureFlagTogglevue_type_script_lang_ts.render = render + +/* harmony default export */ var FeatureFlagToggle = (FeatureFlagTogglevue_type_script_lang_ts); +// CONCATENATED MODULE: ./plugins/FeatureFlags/vue/src/index.ts +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license https://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=FeatureFlags.umd.js.map \ No newline at end of file diff --git a/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.min.js b/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.min.js new file mode 100644 index 00000000000..631dda55f95 --- /dev/null +++ b/plugins/FeatureFlags/vue/dist/FeatureFlags.umd.min.js @@ -0,0 +1,8 @@ +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["FeatureFlags"]=t(require("CoreHome"),require("vue")):e["FeatureFlags"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/FeatureFlags/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"FeatureFlagToggle",(function(){return b})),"undefined"!==typeof window){var r=window.document.currentScript,o=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(n.p=o[1])}var i=n("8bbf"),u={style:{"font-size":"15px",position:"absolute",top:"5px",right:"0",padding:"5px","text-align":"center"}},c=["innerHTML"],a={class:"switch",style:{zoom:"75%"}},l=["checked"],f=Object(i["createElementVNode"])("span",{class:"lever"},null,-1);function d(e,t,n,r,o,d){return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",u,[Object(i["createElementVNode"])("span",{innerHTML:e.$sanitize(e.description)},null,8,c),Object(i["createElementVNode"])("div",a,[Object(i["createElementVNode"])("label",null,[Object(i["createElementVNode"])("input",{type:"checkbox",checked:e.isActive,onChange:t[0]||(t[0]=function(t){return e.toggle()})},null,40,l),f])])])}var s=n("19dc"),p=Object(i["defineComponent"])({props:{featureName:{type:String,required:!0},description:{type:String,required:!0},defaultValue:{type:Boolean,required:!1,default:!1}},methods:{toggle:function(){this.isActive?this.deactivate():this.activate()},activate:function(){Object(s["setCookie"])("feature_".concat(this.featureName),"1",2016e4),window.location.reload()},deactivate:function(){Object(s["setCookie"])("feature_".concat(this.featureName),"0",2016e4),window.location.reload()}},computed:{isActive:function(){var e=Object(s["getCookie"])("feature_".concat(this.featureName));return null===e&&this.defaultValue||"1"===e}}});p.render=d;var b=p; +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */}})})); +//# sourceMappingURL=FeatureFlags.umd.min.js.map \ No newline at end of file diff --git a/plugins/FeatureFlags/vue/dist/umd.metadata.json b/plugins/FeatureFlags/vue/dist/umd.metadata.json new file mode 100644 index 00000000000..9ecfcc04562 --- /dev/null +++ b/plugins/FeatureFlags/vue/dist/umd.metadata.json @@ -0,0 +1,5 @@ +{ + "dependsOn": [ + "CoreHome" + ] +} \ No newline at end of file diff --git a/plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue b/plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue new file mode 100644 index 00000000000..bd60d3aa9f0 --- /dev/null +++ b/plugins/FeatureFlags/vue/src/FeatureFlagToggle/FeatureFlagToggle.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/plugins/FeatureFlags/vue/src/index.ts b/plugins/FeatureFlags/vue/src/index.ts new file mode 100644 index 00000000000..e0516f83b91 --- /dev/null +++ b/plugins/FeatureFlags/vue/src/index.ts @@ -0,0 +1,8 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +export { default as FeatureFlagToggle } from './FeatureFlagToggle/FeatureFlagToggle.vue'; diff --git a/plugins/MultiSites/vue/dist/MultiSites.umd.js b/plugins/MultiSites/vue/dist/MultiSites.umd.js index f06307fed59..586dc4cf1d7 100644 --- a/plugins/MultiSites/vue/dist/MultiSites.umd.js +++ b/plugins/MultiSites/vue/dist/MultiSites.umd.js @@ -1,13 +1,13 @@ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("CoreHome"), require("vue")); + module.exports = factory(require("CoreHome"), require("vue"), require("FeatureFlags")); else if(typeof define === 'function' && define.amd) - define(["CoreHome", ], factory); + define(["CoreHome", , "FeatureFlags"], factory); else if(typeof exports === 'object') - exports["MultiSites"] = factory(require("CoreHome"), require("vue")); + exports["MultiSites"] = factory(require("CoreHome"), require("vue"), require("FeatureFlags")); else - root["MultiSites"] = factory(root["CoreHome"], root["Vue"]); -})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__) { + root["MultiSites"] = factory(root["CoreHome"], root["Vue"], root["FeatureFlags"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_f476__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; @@ -110,6 +110,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; /***/ }), +/***/ "f476": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE_f476__; + +/***/ }), + /***/ "fae3": /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -142,7 +149,7 @@ if (typeof window !== 'undefined') { // 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/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue?vue&type=template&id=707936a9 +// 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/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue?vue&type=template&id=0228250d var _hoisted_1 = { class: "dashboardHeader" @@ -185,6 +192,8 @@ var _hoisted_17 = ["href"]; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_EnrichedHeadline = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EnrichedHeadline"); + var _component_FeatureFlagToggle = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("FeatureFlagToggle"); + var _component_KPICardContainer = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("KPICardContainer"); var _component_SitesTable = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SitesTable"); @@ -196,7 +205,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('MultiSites_AllWebsitesDashboardTitle')), 1)]; }), _: 1 - }, 8, ["feature-name"])])]), _ctx.errorLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('MultiSites_AllWebsitesDashboardErrorMessage')) + " ", 1), _hoisted_5, _hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_NeedMoreHelp', '', '')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + }, 8, ["feature-name"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_FeatureFlagToggle, { + description: "Switch to new Layout", + "feature-name": "ImprovedAllWebsitesDashboard" + })]), _ctx.errorLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('MultiSites_AllWebsitesDashboardErrorMessage')) + " ", 1), _hoisted_5, _hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_NeedMoreHelp', '', '')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { rel: "noreferrer noopener", target: "_blank", href: _ctx.externalRawLink('https://matomo.org/faq/troubleshooting/faq_19489/') @@ -235,11 +247,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { "display-sparklines": _ctx.displaySparklines }, null, 8, ["display-revenue", "display-sparklines"])], 64); } -// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue?vue&type=template&id=707936a9 +// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue?vue&type=template&id=0228250d // EXTERNAL MODULE: external "CoreHome" var external_CoreHome_ = __webpack_require__("19dc"); +// EXTERNAL MODULE: external "FeatureFlags" +var external_FeatureFlags_ = __webpack_require__("f476"); + // CONCATENATED MODULE: ./plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.store.ts function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -1157,8 +1172,10 @@ SitesTablevue_type_script_lang_ts.render = SitesTablevue_type_template_id_a36a8c + /* harmony default export */ var AllWebsitesDashboardvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ components: { + FeatureFlagToggle: external_FeatureFlags_["FeatureFlagToggle"], EnrichedHeadline: external_CoreHome_["EnrichedHeadline"], KPICardContainer: KPICardContainer, SitesTable: SitesTable @@ -1793,88 +1810,88 @@ var Dashboard_store_DashboardStore = /*#__PURE__*/function () { }(); /* harmony default export */ var Dashboard_store = (new Dashboard_store_DashboardStore()); -// 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/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=template&id=c3a6c2b2 +// 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/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=template&id=08ded8a1 -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_1 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_1 = { ref: "root" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_2 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_2 = { class: "card-title" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_3 = ["innerHTML", "title"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_4 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_3 = ["innerHTML", "title"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_4 = { id: "mt", class: "dataTable card-table", cellspacing: "0" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_5 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_5 = { class: "heading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_6 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_6 = { class: "heading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_7 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_7 = { class: "heading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_8 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_8 = { class: "heading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_9 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_9 = { class: "heading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_10 = ["colspan"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_11 = ["value"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_12 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_10 = ["colspan"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_11 = ["value"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_12 = { value: "visits_evolution" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_13 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_13 = { value: "pageviews_evolution" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_14 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_14 = { value: "hits_evolution" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_15 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_15 = { key: 0, value: "revenue_evolution" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_16 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_16 = { key: 0 }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_17 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_17 = { colspan: "7", class: "allWebsitesLoading" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_18 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_18 = { key: 1 }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_19 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_19 = { key: 0 }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_20 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_20 = { colspan: "7" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_21 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_21 = { class: "notification system notification-error" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_22 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var Dashboardvue_type_template_id_08ded8a1_hoisted_22 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_23 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var Dashboardvue_type_template_id_08ded8a1_hoisted_23 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_24 = ["href"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_24 = ["href"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" – "); +var Dashboardvue_type_template_id_08ded8a1_hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" – "); -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_26 = ["href"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_27 = ["href"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_26 = ["href"]; +var Dashboardvue_type_template_id_08ded8a1_hoisted_27 = ["href"]; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_28 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(". "); +var Dashboardvue_type_template_id_08ded8a1_hoisted_28 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(". "); -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_29 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_29 = { colspan: "8", class: "paging" }; -var Dashboardvue_type_template_id_c3a6c2b2_hoisted_30 = { +var Dashboardvue_type_template_id_08ded8a1_hoisted_30 = { class: "row" }; var _hoisted_31 = { @@ -1926,16 +1943,18 @@ var _hoisted_43 = { }; var _hoisted_44 = ["placeholder"]; var _hoisted_45 = ["title"]; -function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $setup, $data, $options) { +function Dashboardvue_type_template_id_08ded8a1_render(_ctx, _cache, $props, $setup, $data, $options) { var _this = this; var _component_EnrichedHeadline = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EnrichedHeadline"); + var _component_FeatureFlagToggle = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("FeatureFlagToggle"); + var _component_ActivityIndicator = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ActivityIndicator"); var _component_MultisitesSite = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("MultisitesSite"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Dashboardvue_type_template_id_c3a6c2b2_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", Dashboardvue_type_template_id_c3a6c2b2_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", Dashboardvue_type_template_id_08ded8a1_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", Dashboardvue_type_template_id_08ded8a1_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, { "help-url": _ctx.externalRawLink('https://matomo.org/faq/new-to-piwik/all-websites-dashboard/'), "feature-name": _ctx.translate('General_AllWebsitesDashboard') }, { @@ -1944,10 +1963,13 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se class: "smallTitle", innerHTML: _ctx.$sanitize(_this.smallTitleContent), title: _ctx.smallTitleTooltip - }, null, 8, Dashboardvue_type_template_id_c3a6c2b2_hoisted_3)]; + }, null, 8, Dashboardvue_type_template_id_08ded8a1_hoisted_3)]; }), _: 1 - }, 8, ["help-url", "feature-name"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", Dashboardvue_type_template_id_c3a6c2b2_hoisted_4, [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", { + }, 8, ["help-url", "feature-name"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_FeatureFlagToggle, { + description: "Switch to new Layout", + "feature-name": "ImprovedAllWebsitesDashboard" + })]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", Dashboardvue_type_template_id_08ded8a1_hoisted_4, [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", { id: "names", class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["label", { columnSorted: 'label' === _ctx.sortColumn @@ -1955,7 +1977,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se onClick: _cache[0] || (_cache[0] = function ($event) { return _ctx.sortBy('label'); }) - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_c3a6c2b2_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Website')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_08ded8a1_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Website')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["arrow", { multisites_asc: !_ctx.reverse && 'label' === _ctx.sortColumn, multisites_desc: _ctx.reverse && 'label' === _ctx.sortColumn @@ -1979,7 +2001,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se style: { "margin-right": "3.5px" } - }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_c3a6c2b2_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnNbVisits')), 1)], 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { + }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_08ded8a1_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnNbVisits')), 1)], 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { id: "pageviews", class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["multisites-column", { columnSorted: 'nb_pageviews' === _ctx.sortColumn @@ -1995,7 +2017,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se style: { "margin-right": "3.5px" } - }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_c3a6c2b2_hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 1)], 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { + }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_08ded8a1_hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 1)], 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { id: "hits", class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["multisites-column", { columnSorted: 'hits' === _ctx.sortColumn @@ -2011,7 +2033,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se style: { "margin-right": "3.5px" } - }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_c3a6c2b2_hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnHits')), 1)], 2), _ctx.displayRevenueColumn ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", { + }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_08ded8a1_hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnHits')), 1)], 2), _ctx.displayRevenueColumn ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", { key: 0, id: "revenue", class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["multisites-column", { @@ -2028,7 +2050,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se style: { "margin-right": "3.5px" } - }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_c3a6c2b2_hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1)], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { + }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_08ded8a1_hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1)], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { id: "evolution", class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])({ columnSorted: _ctx.evolutionSelector === _ctx.sortColumn @@ -2059,22 +2081,22 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se _ctx.sortBy(_ctx.evolutionSelector); }) - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_c3a6c2b2_hoisted_12, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnNbVisits')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_c3a6c2b2_hoisted_13, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_c3a6c2b2_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnHits')), 1), _ctx.displayRevenueColumn ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("option", Dashboardvue_type_template_id_c3a6c2b2_hoisted_15, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 40, Dashboardvue_type_template_id_c3a6c2b2_hoisted_11)], 10, Dashboardvue_type_template_id_c3a6c2b2_hoisted_10)])]), _ctx.isLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tbody", Dashboardvue_type_template_id_c3a6c2b2_hoisted_16, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_c3a6c2b2_hoisted_17, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, { + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_08ded8a1_hoisted_12, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnNbVisits')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_08ded8a1_hoisted_13, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_08ded8a1_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnHits')), 1), _ctx.displayRevenueColumn ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("option", Dashboardvue_type_template_id_08ded8a1_hoisted_15, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 40, Dashboardvue_type_template_id_08ded8a1_hoisted_11)], 10, Dashboardvue_type_template_id_08ded8a1_hoisted_10)])]), _ctx.isLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tbody", Dashboardvue_type_template_id_08ded8a1_hoisted_16, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_08ded8a1_hoisted_17, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, { "loading-message": _ctx.loadingMessage, loading: _ctx.isLoading - }, null, 8, ["loading-message", "loading"])])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.isLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tbody", Dashboardvue_type_template_id_c3a6c2b2_hoisted_18, [_ctx.errorLoadingSites ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", Dashboardvue_type_template_id_c3a6c2b2_hoisted_19, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_c3a6c2b2_hoisted_20, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_c3a6c2b2_hoisted_21, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ErrorRequest', '', '')) + " ", 1), Dashboardvue_type_template_id_c3a6c2b2_hoisted_22, Dashboardvue_type_template_id_c3a6c2b2_hoisted_23, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_NeedMoreHelp')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + }, null, 8, ["loading-message", "loading"])])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.isLoading ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tbody", Dashboardvue_type_template_id_08ded8a1_hoisted_18, [_ctx.errorLoadingSites ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", Dashboardvue_type_template_id_08ded8a1_hoisted_19, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_08ded8a1_hoisted_20, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_08ded8a1_hoisted_21, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ErrorRequest', '', '')) + " ", 1), Dashboardvue_type_template_id_08ded8a1_hoisted_22, Dashboardvue_type_template_id_08ded8a1_hoisted_23, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_NeedMoreHelp')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { rel: "noreferrer noopener", target: "_blank", href: _ctx.externalRawLink('https://matomo.org/faq/troubleshooting/faq_19489/') - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Faq')), 9, Dashboardvue_type_template_id_c3a6c2b2_hoisted_24), Dashboardvue_type_template_id_c3a6c2b2_hoisted_25, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Faq')), 9, Dashboardvue_type_template_id_08ded8a1_hoisted_24), Dashboardvue_type_template_id_08ded8a1_hoisted_25, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { rel: "noreferrer noopener", target: "_blank", href: _ctx.externalRawLink('https://forum.matomo.org/') - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Feedback_CommunityHelp')), 9, Dashboardvue_type_template_id_c3a6c2b2_hoisted_26), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, " – ", 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.areAdsForProfessionalServicesEnabled]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Feedback_CommunityHelp')), 9, Dashboardvue_type_template_id_08ded8a1_hoisted_26), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, " – ", 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.areAdsForProfessionalServicesEnabled]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { rel: "noreferrer noopener", target: "_blank", href: _ctx.professionalHelpUrl - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Feedback_ProfessionalHelp')), 9, Dashboardvue_type_template_id_c3a6c2b2_hoisted_27), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.areAdsForProfessionalServicesEnabled]]), Dashboardvue_type_template_id_c3a6c2b2_hoisted_28])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (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.sites, function (website) { + }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Feedback_ProfessionalHelp')), 9, Dashboardvue_type_template_id_08ded8a1_hoisted_27), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.areAdsForProfessionalServicesEnabled]]), Dashboardvue_type_template_id_08ded8a1_hoisted_28])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (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.sites, function (website) { return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_MultisitesSite, { key: website.idsite, website: website, @@ -2084,7 +2106,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se metric: _ctx.sortColumn, "display-revenue-column": _ctx.displayRevenueColumn }, null, 8, ["website", "evolution-metric", "date-sparkline", "show-sparklines", "metric", "display-revenue-column"]); - }), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tfoot", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_c3a6c2b2_hoisted_29, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_c3a6c2b2_hoisted_30, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_31, [_ctx.hasSuperUserAccess ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", { + }), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tfoot", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_08ded8a1_hoisted_29, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_08ded8a1_hoisted_30, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_31, [_ctx.hasSuperUserAccess ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", { key: 0, href: _ctx.addSiteUrl }, [_hoisted_33, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('SitesManager_AddSite')), 1)], 8, _hoisted_32)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_34, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { @@ -2116,13 +2138,14 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se title: _ctx.translate('General_ClickToSearch') }, null, 8, _hoisted_45)])])])])])])], 512); } -// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=template&id=c3a6c2b2 +// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=template&id=08ded8a1 // 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/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=script&lang=ts + /* harmony default export */ var Dashboardvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ props: { displayRevenueColumn: Boolean, @@ -2132,6 +2155,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se autoRefreshTodayReport: Number }, components: { + FeatureFlagToggle: external_FeatureFlags_["FeatureFlagToggle"], EnrichedHeadline: external_CoreHome_["EnrichedHeadline"], ActivityIndicator: external_CoreHome_["ActivityIndicator"], MultisitesSite: MultisitesSite @@ -2241,7 +2265,7 @@ function Dashboardvue_type_template_id_c3a6c2b2_render(_ctx, _cache, $props, $se -Dashboardvue_type_script_lang_ts.render = Dashboardvue_type_template_id_c3a6c2b2_render +Dashboardvue_type_script_lang_ts.render = Dashboardvue_type_template_id_08ded8a1_render /* harmony default export */ var Dashboard = (Dashboardvue_type_script_lang_ts); // CONCATENATED MODULE: ./plugins/MultiSites/vue/src/index.ts diff --git a/plugins/MultiSites/vue/dist/MultiSites.umd.min.js b/plugins/MultiSites/vue/dist/MultiSites.umd.min.js index e413861c2d7..2a3bc57b6e3 100644 --- a/plugins/MultiSites/vue/dist/MultiSites.umd.min.js +++ b/plugins/MultiSites/vue/dist/MultiSites.umd.min.js @@ -1,16 +1,16 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["MultiSites"]=t(require("CoreHome"),require("vue")):e["MultiSites"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},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 a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},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/MultiSites/vue/dist/",r(r.s="fae3")}({"19dc":function(t,r){t.exports=e},"8bbf":function(e,r){e.exports=t},fae3:function(e,t,r){"use strict";if(r.r(t),r.d(t,"AllWebsitesDashboard",(function(){return De})),r.d(t,"MultisitesSite",(function(){return bt})),r.d(t,"DashboadStore",(function(){return gt})),r.d(t,"Dashboard",(function(){return br})),"undefined"!==typeof window){var a=window.document.currentScript,n=a&&a.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);n&&(r.p=n[1])}var o=r("8bbf"),i={class:"dashboardHeader"},s={class:"card-title"},l={key:0},c={class:"notification system notification-error"},u=Object(o["createElementVNode"])("br",null,null,-1),d=Object(o["createElementVNode"])("br",null,null,-1),m=["href"],b=Object(o["createTextVNode"])(" – "),p=["href"],v=Object(o["createTextVNode"])(" – "),h=["href"],O=Object(o["createTextVNode"])(". "),f={class:"dashboardControls"},g={class:"siteSearch"},j=["placeholder"],S=["title"],k=["href"];function y(e,t,r,a,n,y){var C=Object(o["resolveComponent"])("EnrichedHeadline"),_=Object(o["resolveComponent"])("KPICardContainer"),N=Object(o["resolveComponent"])("SitesTable");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("div",i,[Object(o["createElementVNode"])("h1",s,[Object(o["createVNode"])(C,{"feature-name":e.translate("MultiSites_AllWebsitesDashboardTitle")},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("MultiSites_AllWebsitesDashboardTitle")),1)]})),_:1},8,["feature-name"])])]),e.errorLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",l,[Object(o["createElementVNode"])("div",c,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("MultiSites_AllWebsitesDashboardErrorMessage"))+" ",1),u,d,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_NeedMoreHelp","",""))+" ",1),Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://matomo.org/faq/troubleshooting/faq_19489/")},Object(o["toDisplayString"])(e.translate("General_Faq")),9,m),b,Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://forum.matomo.org/")},Object(o["toDisplayString"])(e.translate("Feedback_CommunityHelp")),9,p),v,Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://matomo.org/support-plans/")},Object(o["toDisplayString"])(e.translate("Feedback_ProfessionalHelp")),9,h),O])])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(_,{"is-loading":e.isLoadingKPIs,"model-value":e.kpis},null,8,["is-loading","model-value"]),Object(o["createElementVNode"])("div",f,[Object(o["createElementVNode"])("div",g,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text",onKeydown:t[0]||(t[0]=Object(o["withKeys"])((function(t){return e.searchSite(e.searchTerm)}),["enter"])),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.searchTerm=t}),placeholder:e.translate("Actions_SubmenuSitesearch")},null,40,j),[[o["vModelText"],e.searchTerm]]),Object(o["createElementVNode"])("span",{class:"icon-search",onClick:t[2]||(t[2]=function(t){return e.searchSite(e.searchTerm)}),title:e.translate("General_ClickToSearch")},null,8,S)]),!e.isWidgetized&&e.isUserAllowedToAddSite?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,class:"btn",href:e.addSiteUrl},Object(o["toDisplayString"])(e.translate("SitesManager_AddSite")),9,k)):Object(o["createCommentVNode"])("",!0)]),Object(o["createVNode"])(N,{"display-revenue":e.displayRevenue,"display-sparklines":e.displaySparklines},null,8,["display-revenue","display-sparklines"])],64)}var C=r("19dc");function _(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N(e,t){for(var r=0;r0&&void 0!==arguments[0]&&arguments[0];this.fetchAbort&&(this.fetchAbort.abort(),this.fetchAbort=null,this.cancelAutoRefresh()),this.fetchAbort=new AbortController,this.privateState.errorLoading=!1,this.privateState.isLoadingKPIs=!t,this.privateState.isLoadingSites=!0;var r={method:"MultiSites.getAllWithGroups",filter_limit:this.pageSize,filter_offset:this.currentPagingOffset.value,filter_sort_column:this.privateState.sortColumn,filter_sort_order:this.privateState.sortOrder,format_metrics:0,showColumns:["hits_evolution","hits_evolution_trend","label","hits","nb_pageviews","nb_visits","pageviews_evolution","pageviews_evolution_trend","revenue","revenue_evolution","revenue_evolution_trend","visits_evolution","visits_evolution_trend"].join(",")};return this.searchTerm&&(r.pattern=this.searchTerm),C["AjaxHelper"].fetch(r,{abortController:this.fetchAbort,createErrorNotification:!1}).then((function(r){t||(e.updateDashboardKPIs(r),C["Matomo"].postEvent("MultiSites.DashboardKPIs.updated",{parameters:(new C["AjaxHelper"]).mixinDefaultGetParams({filter_limit:e.pageSize,filter_offset:e.currentPagingOffset.value,filter_sort_column:e.privateState.sortColumn,filter_sort_order:e.privateState.sortOrder,pattern:e.searchTerm}),kpis:e.privateState.dashboardKPIs})),e.updateDashboardSites(r)})).catch((function(){e.privateState.dashboardSites=[],e.privateState.errorLoading=!0})).finally((function(){e.privateState.isLoadingKPIs=!1,e.privateState.isLoadingSites=!1,e.fetchAbort=null,e.startAutoRefresh()}))}},{key:"startAutoRefresh",value:function(){var e=this;if(this.cancelAutoRefresh(),!(this.autoRefreshInterval<=0)){var t;try{t=C["Periods"].parse(C["Matomo"].period,C["Matomo"].currentDateString)}catch(r){}t&&t.containsToday()&&(this.autoRefreshTimeout=setTimeout((function(){e.autoRefreshTimeout=null,e.refreshData()}),1e3*this.autoRefreshInterval))}}},{key:"updateDashboardKPIs",value:function(e){this.privateState.dashboardKPIs={badges:{hits:"",pageviews:"",revenue:"",visits:""},evolutionPeriod:C["Matomo"].period,hits:C["NumberFormatter"].formatNumber(e.totals.hits),hitsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.hits),hitsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.hits,e.totals.previous_hits,!0),hitsTrend:Math.sign(e.totals.hits-e.totals.previous_hits),pageviews:C["NumberFormatter"].formatNumber(e.totals.nb_pageviews),pageviewsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.nb_pageviews),pageviewsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.nb_pageviews,e.totals.previous_nb_pageviews,!0),pageviewsTrend:Math.sign(e.totals.nb_pageviews-e.totals.previous_nb_pageviews),revenue:C["NumberFormatter"].formatCurrency(e.totals.revenue,""),revenueCompact:C["NumberFormatter"].formatCurrencyCompact(e.totals.revenue,""),revenueEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.revenue,e.totals.previous_revenue,!0),revenueTrend:Math.sign(e.totals.revenue-e.totals.previous_revenue),visits:C["NumberFormatter"].formatNumber(e.totals.nb_visits),visitsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.nb_visits),visitsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.nb_visits,e.totals.previous_nb_visits,!0),visitsTrend:Math.sign(e.totals.nb_visits-e.totals.previous_nb_visits)}}},{key:"updateDashboardSites",value:function(e){this.privateState.dashboardSites=e.sites,this.privateState.numSites=e.numSites}}]),e}(),P=new B,M={class:"kpiCardContainer"},D={key:0,class:"kpiCard kpiCardLoading"},x=Object(o["createElementVNode"])("div",{class:"kpiCardTitle"}," ",-1),L={class:"kpiCardValue"},A=Object(o["createElementVNode"])("div",{class:"kpiCardEvolution"},[Object(o["createElementVNode"])("span",{class:"kpiCardEvolutionTrend"}," ")],-1),F={key:0,class:"kpiCardBadge"};function G(e,t,r,a,n,i){var s=Object(o["resolveComponent"])("MatomoLoader"),l=Object(o["resolveComponent"])("KPICard");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",M,[e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[x,Object(o["createElementVNode"])("div",L,[Object(o["createVNode"])(s)]),A,e.hasKpiBadge?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",F," ")):Object(o["createCommentVNode"])("",!0)])):(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],{key:1},Object(o["renderList"])(e.kpis,(function(t,r){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:"kpi-card-".concat(r)},[r>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,class:Object(o["normalizeClass"])({kpiCardDivider:!0,kpiCardDividerBadge:e.hasKpiBadge})}," ",2)):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(l,{"model-value":t},null,8,["model-value"])],64)})),128))])}var R={class:"kpiCard"},I={class:"kpiCardTitle"},z=["title"],U={class:"kpiCardEvolution"},H={key:1,class:"kpiCardEvolution"},q=Object(o["createElementVNode"])("span",{class:"kpiCardEvolutionTrend"}," ",-1),K=[q],W=["innerHTML"];function $(e,t,r,a,n,i){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",R,[Object(o["createElementVNode"])("div",I,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardIcon ".concat(e.kpi.icon))},null,2),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate(e.kpi.title)),1)]),Object(o["createElementVNode"])("div",{class:"kpiCardValue",title:e.kpi.valueCompact!==e.kpi.value?e.kpi.value:""},Object(o["toDisplayString"])(e.kpi.valueCompact),9,z),Object(o["createElementVNode"])("div",U,[""!==e.kpi.evolutionValue?(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:0},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardEvolutionTrend ".concat(e.evolutionTrendClass))},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardEvolutionIcon ".concat(e.evolutionTrendIcon))},null,2),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.kpi.evolutionValue)+"  ",1)],2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate(e.evolutionTrendFrom)),1)],64)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",H,K))]),e.kpi.badge?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,innerHTML:e.$sanitize(e.kpi.badge),class:"kpiCardBadge"},null,8,W)):Object(o["createCommentVNode"])("",!0)])}var J=Object(o["defineComponent"])({props:{modelValue:{type:Object,required:!0}},computed:{evolutionTrendFrom:function(){switch(this.kpi.evolutionPeriod){case"day":return"MultiSites_EvolutionFromPreviousDay";case"week":return"MultiSites_EvolutionFromPreviousWeek";case"month":return"MultiSites_EvolutionFromPreviousMonth";case"year":return"MultiSites_EvolutionFromPreviousYear";default:return"MultiSites_EvolutionFromPreviousPeriod"}},evolutionTrendClass:function(){return 1===this.kpi.evolutionTrend?"kpiTrendPositive":-1===this.kpi.evolutionTrend?"kpiTrendNegative":"kpiTrendNeutral"},evolutionTrendIcon:function(){return 1===this.kpi.evolutionTrend?"icon-chevron-up":-1===this.kpi.evolutionTrend?"icon-chevron-down":"icon-circle"},kpi:function(){return this.modelValue}}});J.render=$;var Y=J,Q=Object(o["defineComponent"])({components:{MatomoLoader:C["MatomoLoader"],KPICard:Y},props:{isLoading:Boolean,modelValue:{type:Array,required:!0}},computed:{hasKpiBadge:function(){return this.kpis.some((function(e){return!!e.badge}))},kpis:function(){return this.modelValue}}});Q.render=G;var X=Q,Z={class:"sitesTableContainer"},ee={class:"card-table dataTable sitesTable"},te={class:"sitesTableEvolutionSelector"},re=["value"],ae={value:"hits_evolution"},ne={value:"visits_evolution"},oe={value:"pageviews_evolution"},ie={key:0,value:"revenue_evolution"},se={key:0},le={class:"sitesTableLoading",colspan:"7"},ce={key:0,class:"sitesTablePagination"},ue={class:"dataTablePages"};function de(e,t,r,a,n,i){var s=Object(o["resolveComponent"])("MatomoLoader"),l=Object(o["resolveComponent"])("SitesTableSite");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("div",Z,[Object(o["createElementVNode"])("table",ee,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",{onClick:t[0]||(t[0]=function(t){return e.sortBy("label")}),class:"label"},[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_Website"))+" ",1),"label"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("th",{onClick:t[1]||(t[1]=function(t){return e.sortBy("nb_visits")})},["nb_visits"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1)]),Object(o["createElementVNode"])("th",{onClick:t[2]||(t[2]=function(t){return e.sortBy("nb_pageviews")})},["nb_pageviews"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1)]),Object(o["createElementVNode"])("th",{onClick:t[3]||(t[3]=function(t){return e.sortBy("hits")})},["hits"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1)]),e.displayRevenue?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",{key:0,onClick:t[4]||(t[4]=function(t){return e.sortBy("revenue")})},["revenue"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("th",{onClick:t[5]||(t[5]=function(t){return e.sortBy(e.evolutionSelector)})},[e.sortColumn===e.evolutionSelector?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("MultiSites_Evolution")),1)]),Object(o["createElementVNode"])("th",te,[Object(o["createElementVNode"])("select",{class:"browser-default",value:e.evolutionSelector,onChange:t[6]||(t[6]=function(t){return e.changeEvolutionSelector(t.target.value)})},[Object(o["createElementVNode"])("option",ae,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1),Object(o["createElementVNode"])("option",ne,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1),Object(o["createElementVNode"])("option",oe,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1),e.displayRevenue?(Object(o["openBlock"])(),Object(o["createElementBlock"])("option",ie,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)):Object(o["createCommentVNode"])("",!0)],40,re)])])]),Object(o["createElementVNode"])("tbody",null,[e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",se,[Object(o["createElementVNode"])("td",le,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],{key:1},Object(o["renderList"])(e.sites,(function(t){return Object(o["openBlock"])(),Object(o["createBlock"])(l,{"display-revenue":e.displayRevenue,"evolution-metric":e.evolutionMetric,key:"site-".concat(t.idsite),"model-value":t,"display-sparkline":e.displaySparklines,"sparkline-metric":e.sparklineMetric},null,8,["display-revenue","evolution-metric","model-value","display-sparkline","sparkline-metric"])})),128))])])]),!e.isLoading||e.paginationUpperBound>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ce,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{class:"dataTablePrevious",onClick:t[7]||(t[7]=function(t){return e.navigatePreviousPage()})}," « "+Object(o["toDisplayString"])(e.translate("General_Previous")),513),[[o["vShow"],0!==e.paginationCurrentPage]]),Object(o["createElementVNode"])("span",ue,Object(o["toDisplayString"])(e.translate("General_Pagination",e.paginationLowerBound,e.paginationUpperBound,e.numberOfFilteredSites)),1),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{class:"dataTableNext",onClick:t[8]||(t[8]=function(t){return e.navigateNextPage()})},Object(o["toDisplayString"])(e.translate("General_Next"))+" » ",513),[[o["vShow"],e.paginationCurrentPage0&&void 0!==arguments[0]&&arguments[0];this.fetchAbort&&(this.fetchAbort.abort(),this.fetchAbort=null,this.cancelAutoRefresh()),this.fetchAbort=new AbortController,this.privateState.errorLoading=!1,this.privateState.isLoadingKPIs=!t,this.privateState.isLoadingSites=!0;var r={method:"MultiSites.getAllWithGroups",filter_limit:this.pageSize,filter_offset:this.currentPagingOffset.value,filter_sort_column:this.privateState.sortColumn,filter_sort_order:this.privateState.sortOrder,format_metrics:0,showColumns:["hits_evolution","hits_evolution_trend","label","hits","nb_pageviews","nb_visits","pageviews_evolution","pageviews_evolution_trend","revenue","revenue_evolution","revenue_evolution_trend","visits_evolution","visits_evolution_trend"].join(",")};return this.searchTerm&&(r.pattern=this.searchTerm),C["AjaxHelper"].fetch(r,{abortController:this.fetchAbort,createErrorNotification:!1}).then((function(r){t||(e.updateDashboardKPIs(r),C["Matomo"].postEvent("MultiSites.DashboardKPIs.updated",{parameters:(new C["AjaxHelper"]).mixinDefaultGetParams({filter_limit:e.pageSize,filter_offset:e.currentPagingOffset.value,filter_sort_column:e.privateState.sortColumn,filter_sort_order:e.privateState.sortOrder,pattern:e.searchTerm}),kpis:e.privateState.dashboardKPIs})),e.updateDashboardSites(r)})).catch((function(){e.privateState.dashboardSites=[],e.privateState.errorLoading=!0})).finally((function(){e.privateState.isLoadingKPIs=!1,e.privateState.isLoadingSites=!1,e.fetchAbort=null,e.startAutoRefresh()}))}},{key:"startAutoRefresh",value:function(){var e=this;if(this.cancelAutoRefresh(),!(this.autoRefreshInterval<=0)){var t;try{t=C["Periods"].parse(C["Matomo"].period,C["Matomo"].currentDateString)}catch(r){}t&&t.containsToday()&&(this.autoRefreshTimeout=setTimeout((function(){e.autoRefreshTimeout=null,e.refreshData()}),1e3*this.autoRefreshInterval))}}},{key:"updateDashboardKPIs",value:function(e){this.privateState.dashboardKPIs={badges:{hits:"",pageviews:"",revenue:"",visits:""},evolutionPeriod:C["Matomo"].period,hits:C["NumberFormatter"].formatNumber(e.totals.hits),hitsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.hits),hitsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.hits,e.totals.previous_hits,!0),hitsTrend:Math.sign(e.totals.hits-e.totals.previous_hits),pageviews:C["NumberFormatter"].formatNumber(e.totals.nb_pageviews),pageviewsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.nb_pageviews),pageviewsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.nb_pageviews,e.totals.previous_nb_pageviews,!0),pageviewsTrend:Math.sign(e.totals.nb_pageviews-e.totals.previous_nb_pageviews),revenue:C["NumberFormatter"].formatCurrency(e.totals.revenue,""),revenueCompact:C["NumberFormatter"].formatCurrencyCompact(e.totals.revenue,""),revenueEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.revenue,e.totals.previous_revenue,!0),revenueTrend:Math.sign(e.totals.revenue-e.totals.previous_revenue),visits:C["NumberFormatter"].formatNumber(e.totals.nb_visits),visitsCompact:C["NumberFormatter"].formatNumberCompact(e.totals.nb_visits),visitsEvolution:C["NumberFormatter"].calculateAndFormatEvolution(e.totals.nb_visits,e.totals.previous_nb_visits,!0),visitsTrend:Math.sign(e.totals.nb_visits-e.totals.previous_nb_visits)}}},{key:"updateDashboardSites",value:function(e){this.privateState.dashboardSites=e.sites,this.privateState.numSites=e.numSites}}]),e}(),M=new P,D={class:"kpiCardContainer"},F={key:0,class:"kpiCard kpiCardLoading"},x=Object(o["createElementVNode"])("div",{class:"kpiCardTitle"}," ",-1),L={class:"kpiCardValue"},A=Object(o["createElementVNode"])("div",{class:"kpiCardEvolution"},[Object(o["createElementVNode"])("span",{class:"kpiCardEvolutionTrend"}," ")],-1),G={key:0,class:"kpiCardBadge"};function R(e,t,r,a,n,i){var s=Object(o["resolveComponent"])("MatomoLoader"),l=Object(o["resolveComponent"])("KPICard");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",F,[x,Object(o["createElementVNode"])("div",L,[Object(o["createVNode"])(s)]),A,e.hasKpiBadge?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",G," ")):Object(o["createCommentVNode"])("",!0)])):(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],{key:1},Object(o["renderList"])(e.kpis,(function(t,r){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:"kpi-card-".concat(r)},[r>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,class:Object(o["normalizeClass"])({kpiCardDivider:!0,kpiCardDividerBadge:e.hasKpiBadge})}," ",2)):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(l,{"model-value":t},null,8,["model-value"])],64)})),128))])}var I={class:"kpiCard"},z={class:"kpiCardTitle"},U=["title"],H={class:"kpiCardEvolution"},q={key:1,class:"kpiCardEvolution"},K=Object(o["createElementVNode"])("span",{class:"kpiCardEvolutionTrend"}," ",-1),W=[K],$=["innerHTML"];function J(e,t,r,a,n,i){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",I,[Object(o["createElementVNode"])("div",z,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardIcon ".concat(e.kpi.icon))},null,2),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate(e.kpi.title)),1)]),Object(o["createElementVNode"])("div",{class:"kpiCardValue",title:e.kpi.valueCompact!==e.kpi.value?e.kpi.value:""},Object(o["toDisplayString"])(e.kpi.valueCompact),9,U),Object(o["createElementVNode"])("div",H,[""!==e.kpi.evolutionValue?(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],{key:0},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardEvolutionTrend ".concat(e.evolutionTrendClass))},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])("kpiCardEvolutionIcon ".concat(e.evolutionTrendIcon))},null,2),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.kpi.evolutionValue)+"  ",1)],2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate(e.evolutionTrendFrom)),1)],64)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",q,W))]),e.kpi.badge?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,innerHTML:e.$sanitize(e.kpi.badge),class:"kpiCardBadge"},null,8,$)):Object(o["createCommentVNode"])("",!0)])}var Y=Object(o["defineComponent"])({props:{modelValue:{type:Object,required:!0}},computed:{evolutionTrendFrom:function(){switch(this.kpi.evolutionPeriod){case"day":return"MultiSites_EvolutionFromPreviousDay";case"week":return"MultiSites_EvolutionFromPreviousWeek";case"month":return"MultiSites_EvolutionFromPreviousMonth";case"year":return"MultiSites_EvolutionFromPreviousYear";default:return"MultiSites_EvolutionFromPreviousPeriod"}},evolutionTrendClass:function(){return 1===this.kpi.evolutionTrend?"kpiTrendPositive":-1===this.kpi.evolutionTrend?"kpiTrendNegative":"kpiTrendNeutral"},evolutionTrendIcon:function(){return 1===this.kpi.evolutionTrend?"icon-chevron-up":-1===this.kpi.evolutionTrend?"icon-chevron-down":"icon-circle"},kpi:function(){return this.modelValue}}});Y.render=J;var Q=Y,X=Object(o["defineComponent"])({components:{MatomoLoader:C["MatomoLoader"],KPICard:Q},props:{isLoading:Boolean,modelValue:{type:Array,required:!0}},computed:{hasKpiBadge:function(){return this.kpis.some((function(e){return!!e.badge}))},kpis:function(){return this.modelValue}}});X.render=R;var Z=X,ee={class:"sitesTableContainer"},te={class:"card-table dataTable sitesTable"},re={class:"sitesTableEvolutionSelector"},ae=["value"],ne={value:"hits_evolution"},oe={value:"visits_evolution"},ie={value:"pageviews_evolution"},se={key:0,value:"revenue_evolution"},le={key:0},ce={class:"sitesTableLoading",colspan:"7"},ue={key:0,class:"sitesTablePagination"},de={class:"dataTablePages"};function me(e,t,r,a,n,i){var s=Object(o["resolveComponent"])("MatomoLoader"),l=Object(o["resolveComponent"])("SitesTableSite");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("div",ee,[Object(o["createElementVNode"])("table",te,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",{onClick:t[0]||(t[0]=function(t){return e.sortBy("label")}),class:"label"},[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_Website"))+" ",1),"label"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("th",{onClick:t[1]||(t[1]=function(t){return e.sortBy("nb_visits")})},["nb_visits"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1)]),Object(o["createElementVNode"])("th",{onClick:t[2]||(t[2]=function(t){return e.sortBy("nb_pageviews")})},["nb_pageviews"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1)]),Object(o["createElementVNode"])("th",{onClick:t[3]||(t[3]=function(t){return e.sortBy("hits")})},["hits"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1)]),e.displayRevenue?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",{key:0,onClick:t[4]||(t[4]=function(t){return e.sortBy("revenue")})},["revenue"===e.sortColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("th",{onClick:t[5]||(t[5]=function(t){return e.sortBy(e.evolutionSelector)})},[e.sortColumn===e.evolutionSelector?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(e.sortColumnClass)},null,2)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("MultiSites_Evolution")),1)]),Object(o["createElementVNode"])("th",re,[Object(o["createElementVNode"])("select",{class:"browser-default",value:e.evolutionSelector,onChange:t[6]||(t[6]=function(t){return e.changeEvolutionSelector(t.target.value)})},[Object(o["createElementVNode"])("option",ne,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1),Object(o["createElementVNode"])("option",oe,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1),Object(o["createElementVNode"])("option",ie,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1),e.displayRevenue?(Object(o["openBlock"])(),Object(o["createElementBlock"])("option",se,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)):Object(o["createCommentVNode"])("",!0)],40,ae)])])]),Object(o["createElementVNode"])("tbody",null,[e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",le,[Object(o["createElementVNode"])("td",ce,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],{key:1},Object(o["renderList"])(e.sites,(function(t){return Object(o["openBlock"])(),Object(o["createBlock"])(l,{"display-revenue":e.displayRevenue,"evolution-metric":e.evolutionMetric,key:"site-".concat(t.idsite),"model-value":t,"display-sparkline":e.displaySparklines,"sparkline-metric":e.sparklineMetric},null,8,["display-revenue","evolution-metric","model-value","display-sparkline","sparkline-metric"])})),128))])])]),!e.isLoading||e.paginationUpperBound>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ue,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{class:"dataTablePrevious",onClick:t[7]||(t[7]=function(t){return e.navigatePreviousPage()})}," « "+Object(o["toDisplayString"])(e.translate("General_Previous")),513),[[o["vShow"],0!==e.paginationCurrentPage]]),Object(o["createElementVNode"])("span",de,Object(o["toDisplayString"])(e.translate("General_Pagination",e.paginationLowerBound,e.paginationUpperBound,e.numberOfFilteredSites)),1),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{class:"dataTableNext",onClick:t[8]||(t[8]=function(t){return e.navigateNextPage()})},Object(o["toDisplayString"])(e.translate("General_Next"))+" » ",513),[[o["vShow"],e.paginationCurrentPager&&(e=r),e})))}return ht(e,[{key:"cancelRefereshInterval",value:function(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null)}},{key:"updateWebsitesList",value:function(e){var t=this;if(e){var r=e.sites;r.forEach((function(e){if(1!==e.ratio&&"1"!==e.ratio){var r=C["NumberFormatter"].formatPercent(Math.round(100*parseInt(e.ratio,10))),a=null,n="0",o="0",i="0",s="0";if("nb_visits"!==t.state.value.sortColumn&&"visits_evolution"!==t.state.value.sortColumn||(n=C["NumberFormatter"].formatNumber(e.previous_nb_visits),o=C["NumberFormatter"].formatNumber(e.nb_visits),i=C["NumberFormatter"].formatPercent(e.visits_evolution),a=Object(C["translate"])("General_ColumnNbVisits"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_nb_visits,10)*parseInt(e.ratio,10)))),"pageviews_evolution"===t.state.value.sortColumn&&(n="".concat(e.previous_nb_pageviews),o="".concat(e.nb_pageviews),i=C["NumberFormatter"].formatPercent(e.pageviews_evolution),a=Object(C["translate"])("General_ColumnPageviews"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_nb_pageviews,10)*parseInt(e.ratio,10)))),"hits_evolution"===t.state.value.sortColumn&&(n="".concat(e.previous_hits),o="".concat(e.hits),i=C["NumberFormatter"].formatPercent(e.hits_evolution),a=Object(C["translate"])("General_ColumnHits"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_hits,10)*parseInt(e.ratio,10)))),"revenue_evolution"===t.state.value.sortColumn&&(n=C["NumberFormatter"].formatCurrency(e.previous_revenue,e.currencySymbol),o=C["NumberFormatter"].formatCurrency(e.revenue,e.currencySymbol),i=C["NumberFormatter"].formatPercent(e.revenue_evolution),a=Object(C["translate"])("General_ColumnRevenue"),s=C["NumberFormatter"].formatCurrency(Math.round(parseInt(e.previous_revenue,10)*parseInt(e.ratio,10)),e.currencySymbol)),a)switch(e.tooltip="".concat(Object(C["translate"])("MultiSites_EvolutionComparisonIncomplete",[r]),"\n"),e.tooltip+="".concat(Object(C["translate"])("MultiSites_EvolutionComparisonProportional",[r,"".concat(s),a,"".concat(n)]),"\n"),e.periodName){case"day":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonDay",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"week":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonWeek",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"month":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonMonth",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"year":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonYear",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;default:break}}})),this.privateState.totalVisits=e.totals.nb_visits,this.privateState.totalPageviews=e.totals.nb_pageviews,this.privateState.totalHits=e.totals.hits,this.privateState.totalActions=e.totals.nb_actions,this.privateState.totalRevenue=e.totals.revenue,this.privateState.lastVisits=e.totals.previous_nb_visits,this.privateState.sites=r,this.privateState.numberOfSites=e.numSites,this.privateState.lastVisitsDate=e.lastDate}else this.onError()}},{key:"sortBy",value:function(e){this.state.value.sortColumn===e&&(this.privateState.reverse=!this.state.value.reverse),this.privateState.sortColumn=e,this.fetchAllSites()}},{key:"previousPage",value:function(){this.privateState.currentPage=this.state.value.currentPage-1,this.fetchAllSites()}},{key:"nextPage",value:function(){this.privateState.currentPage=this.state.value.currentPage+1,this.fetchAllSites()}},{key:"searchSite",value:function(e){this.privateState.searchTerm=e,this.privateState.currentPage=0,this.fetchAllSites()}},{key:"fetchAllSites",value:function(){var e=this;this.fetchAbort&&(this.fetchAbort.abort(),this.fetchAbort=null,this.cancelRefereshInterval()),this.privateState.isLoading=!0,this.privateState.errorLoadingSites=!1;var t={method:"MultiSites.getAllWithGroups",hideMetricsDoc:"1",filter_sort_order:"asc",filter_limit:this.state.value.pageSize,filter_offset:this.currentPagingOffset.value,showColumns:["label","nb_visits","nb_pageviews","hits","visits_evolution","visits_evolution_trend","pageviews_evolution","pageviews_evolution_trend","hits_evolution","hits_evolution_trend","revenue_evolution","revenue_evolution_trend","nb_actions","revenue"].join(",")};return this.privateState.searchTerm&&(t.pattern=this.privateState.searchTerm),this.privateState.sortColumn&&(t.filter_sort_column=this.privateState.sortColumn),this.privateState.reverse&&(t.filter_sort_order="desc"),this.fetchAbort=new AbortController,C["AjaxHelper"].fetch(t,{abortController:this.fetchAbort}).then((function(t){e.updateWebsitesList(t)})).catch((function(){e.onError()})).finally((function(){e.privateState.isLoading=!1,e.fetchAbort=null,e.state.value.refreshInterval&&e.state.value.refreshInterval>0&&(e.cancelRefereshInterval(),e.refreshTimeout=setTimeout((function(){e.refreshTimeout=null,e.fetchAllSites()}),1e3*e.state.value.refreshInterval))}))}},{key:"onError",value:function(){this.privateState.errorLoadingSites=!0,this.privateState.sites=[]}},{key:"setRefreshInterval",value:function(e){this.privateState.refreshInterval=e}},{key:"setPageSize",value:function(e){this.privateState.pageSize=e}}]),e}(),gt=new ft,jt={ref:"root"},St={class:"card-title"},kt=["innerHTML","title"],yt={id:"mt",class:"dataTable card-table",cellspacing:"0"},Ct={class:"heading"},_t={class:"heading"},Nt={class:"heading"},Et={class:"heading"},Vt={class:"heading"},wt=["colspan"],Tt=["value"],Bt={value:"visits_evolution"},Pt={value:"pageviews_evolution"},Mt={value:"hits_evolution"},Dt={key:0,value:"revenue_evolution"},xt={key:0},Lt={colspan:"7",class:"allWebsitesLoading"},At={key:1},Ft={key:0},Gt={colspan:"7"},Rt={class:"notification system notification-error"},It=Object(o["createElementVNode"])("br",null,null,-1),zt=Object(o["createElementVNode"])("br",null,null,-1),Ut=["href"],Ht=Object(o["createTextVNode"])(" – "),qt=["href"],Kt=["href"],Wt=Object(o["createTextVNode"])(". "),$t={colspan:"8",class:"paging"},Jt={class:"row"},Yt={class:"col s3 add_new_site"},Qt=["href"],Xt=Object(o["createElementVNode"])("span",{class:"icon-add"},null,-1),Zt={class:"col s6"},er={style:{cursor:"pointer"}},tr={class:"dataTablePages"},rr={id:"counter"},ar={style:{cursor:"pointer"},class:"pointer"},nr=Object(o["createElementVNode"])("div",{class:"col s3"}," ",-1),or={row_id:"last"},ir={colspan:"8",class:"site_search"},sr={class:"row"},lr={class:"input-field col s12"},cr=["placeholder"],ur=["title"];function dr(e,t,r,a,n,i){var s=this,l=Object(o["resolveComponent"])("EnrichedHeadline"),c=Object(o["resolveComponent"])("ActivityIndicator"),u=Object(o["resolveComponent"])("MultisitesSite");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",jt,[Object(o["createElementVNode"])("h2",St,[Object(o["createVNode"])(l,{"help-url":e.externalRawLink("https://matomo.org/faq/new-to-piwik/all-websites-dashboard/"),"feature-name":e.translate("General_AllWebsitesDashboard")},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_AllWebsitesDashboard"))+" ",1),Object(o["createElementVNode"])("span",{class:"smallTitle",innerHTML:e.$sanitize(s.smallTitleContent),title:e.smallTitleTooltip},null,8,kt)]})),_:1},8,["help-url","feature-name"])]),Object(o["createElementVNode"])("table",yt,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",{id:"names",class:Object(o["normalizeClass"])(["label",{columnSorted:"label"===e.sortColumn}]),onClick:t[0]||(t[0]=function(t){return e.sortBy("label")})},[Object(o["createElementVNode"])("span",Ct,Object(o["toDisplayString"])(e.translate("General_Website")),1),Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"label"===e.sortColumn,multisites_desc:e.reverse&&"label"===e.sortColumn}]),style:{"margin-left":"3.5px"}},null,2)],2),Object(o["createElementVNode"])("th",{id:"visits",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"nb_visits"===e.sortColumn}]),onClick:t[1]||(t[1]=function(t){return e.sortBy("nb_visits")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_visits"===e.sortColumn,multisites_desc:e.reverse&&"nb_visits"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",_t,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1)],2),Object(o["createElementVNode"])("th",{id:"pageviews",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"nb_pageviews"===e.sortColumn}]),onClick:t[2]||(t[2]=function(t){return e.sortBy("nb_pageviews")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_pageviews"===e.sortColumn,multisites_desc:e.reverse&&"nb_pageviews"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Nt,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1)],2),Object(o["createElementVNode"])("th",{id:"hits",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"hits"===e.sortColumn}]),onClick:t[3]||(t[3]=function(t){return e.sortBy("hits")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"hits"===e.sortColumn,multisites_desc:e.reverse&&"hits"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1)],2),e.displayRevenueColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",{key:0,id:"revenue",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"revenue"===e.sortColumn}]),onClick:t[4]||(t[4]=function(t){return e.sortBy("revenue")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"revenue"===e.sortColumn,multisites_desc:e.reverse&&"revenue"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Vt,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)],2)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("th",{id:"evolution",class:Object(o["normalizeClass"])({columnSorted:e.evolutionSelector===e.sortColumn}),colspan:e.showSparklines?2:1},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&e.evolutionSelector===e.sortColumn,multisites_desc:e.reverse&&e.evolutionSelector===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",{class:"evolution",onClick:t[5]||(t[5]=function(t){return e.sortBy(e.evolutionSelector)}),style:{"margin-right":"3.5px"}},Object(o["toDisplayString"])(e.translate("MultiSites_Evolution")),1),Object(o["createElementVNode"])("select",{class:"selector browser-default",id:"evolution_selector",value:e.evolutionSelector,onChange:t[6]||(t[6]=function(t){e.evolutionSelector=t.target.value,e.sortBy(e.evolutionSelector)})},[Object(o["createElementVNode"])("option",Bt,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1),Object(o["createElementVNode"])("option",Pt,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1),Object(o["createElementVNode"])("option",Mt,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1),e.displayRevenueColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("option",Dt,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)):Object(o["createCommentVNode"])("",!0)],40,Tt)],10,wt)])]),e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tbody",xt,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("td",Lt,[Object(o["createVNode"])(c,{"loading-message":e.loadingMessage,loading:e.isLoading},null,8,["loading-message","loading"])])])])):Object(o["createCommentVNode"])("",!0),e.isLoading?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("tbody",At,[e.errorLoadingSites?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",Ft,[Object(o["createElementVNode"])("td",Gt,[Object(o["createElementVNode"])("div",Rt,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_ErrorRequest","",""))+" ",1),It,zt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_NeedMoreHelp"))+" ",1),Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://matomo.org/faq/troubleshooting/faq_19489/")},Object(o["toDisplayString"])(e.translate("General_Faq")),9,Ut),Ht,Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://forum.matomo.org/")},Object(o["toDisplayString"])(e.translate("Feedback_CommunityHelp")),9,qt),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null," – ",512),[[o["vShow"],e.areAdsForProfessionalServicesEnabled]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.professionalHelpUrl},Object(o["toDisplayString"])(e.translate("Feedback_ProfessionalHelp")),9,Kt),[[o["vShow"],e.areAdsForProfessionalServicesEnabled]]),Wt])])])):Object(o["createCommentVNode"])("",!0),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.sites,(function(t){return Object(o["openBlock"])(),Object(o["createBlock"])(u,{key:t.idsite,website:t,"evolution-metric":e.evolutionSelector,"date-sparkline":e.dateSparkline,"show-sparklines":e.showSparklines,metric:e.sortColumn,"display-revenue-column":e.displayRevenueColumn},null,8,["website","evolution-metric","date-sparkline","show-sparklines","metric","display-revenue-column"])})),128))])),Object(o["createElementVNode"])("tfoot",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("td",$t,[Object(o["createElementVNode"])("div",Jt,[Object(o["createElementVNode"])("div",Yt,[e.hasSuperUserAccess?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,href:e.addSiteUrl},[Xt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("SitesManager_AddSite")),1)],8,Qt)):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",Zt,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{id:"prev",class:"previous dataTablePrevious",onClick:t[7]||(t[7]=function(t){return e.previousPage()})},[Object(o["createElementVNode"])("span",er,"« "+Object(o["toDisplayString"])(e.translate("General_Previous")),1)],512),[[o["vShow"],!(0===e.currentPage)]]),Object(o["createElementVNode"])("span",tr,[Object(o["createElementVNode"])("span",rr,Object(o["toDisplayString"])(e.translate("General_Pagination",e.paginationLowerBound,e.paginationUpperBound,e.numberOfFilteredSites)),1)]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{id:"next",class:"next dataTableNext",onClick:t[8]||(t[8]=function(t){return e.nextPage()})},[Object(o["createElementVNode"])("span",ar,Object(o["toDisplayString"])(e.translate("General_Next"))+" »",1)],512),[[o["vShow"],!(e.currentPage>=e.numberOfPages)]])]),nr])])]),Object(o["createElementVNode"])("tr",or,[Object(o["createElementVNode"])("td",ir,[Object(o["createElementVNode"])("div",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text",onKeydown:t[9]||(t[9]=Object(o["withKeys"])((function(t){return e.searchSite(e.searchTerm)}),["enter"])),"onUpdate:modelValue":t[10]||(t[10]=function(t){return e.searchTerm=t}),placeholder:e.translate("Actions_SubmenuSitesearch")},null,40,cr),[[o["vModelText"],e.searchTerm]]),Object(o["createElementVNode"])("span",{class:"icon-search search_ico",onClick:t[11]||(t[11]=function(t){return e.searchSite(e.searchTerm)}),title:e.translate("General_ClickToSearch")},null,8,ur)])])])])])])],512)}var mr=Object(o["defineComponent"])({props:{displayRevenueColumn:Boolean,showSparklines:Boolean,dateSparkline:String,pageSize:Number,autoRefreshTodayReport:Number},components:{EnrichedHeadline:C["EnrichedHeadline"],ActivityIndicator:C["ActivityIndicator"],MultisitesSite:bt},data:function(){return{evolutionSelector:"visits_evolution",searchTerm:""}},created:function(){this.pageSize&>.setPageSize(this.pageSize),this.refresh(this.autoRefreshTodayReport)},methods:{refresh:function(e){gt.setRefreshInterval(e),gt.fetchAllSites()},sortBy:function(e){gt.sortBy(e)},previousPage:function(){gt.previousPage()},nextPage:function(){gt.nextPage()},searchSite:function(){gt.searchSite(this.searchTerm)}},computed:{hasSuperUserAccess:function(){return C["Matomo"].hasSuperUserAccess},date:function(){return C["MatomoUrl"].urlParsed.value.date},idSite:function(){return C["MatomoUrl"].urlParsed.value.idSite},url:function(){return C["Matomo"].piwik_url},period:function(){return C["Matomo"].period},areAdsForProfessionalServicesEnabled:function(){return C["Matomo"].config&&C["Matomo"].config.are_ads_enabled},sortColumn:function(){return gt.state.value.sortColumn},reverse:function(){return gt.state.value.reverse},smallTitleContent:function(){var e=gt.state.value;return Object(C["translate"])("General_TotalVisitsPageviewsActionsRevenue","".concat(e.totalVisits,""),"".concat(e.totalPageviews,""),"".concat(e.totalActions,""),"".concat(e.totalRevenue,""))},smallTitleTooltip:function(){var e=gt.state.value;return Object(C["translate"])("General_EvolutionSummaryGeneric",Object(C["translate"])("General_NVisits","".concat(e.totalVisits)),this.date,"".concat(e.lastVisits),e.lastVisitsDate,C["NumberFormatter"].calculateAndFormatEvolution(C["NumberFormatter"].parseFormattedNumber(e.totalVisits),C["NumberFormatter"].parseFormattedNumber(e.lastVisits)))},loadingMessage:function(){return gt.state.value.loadingMessage},isLoading:function(){return gt.state.value.isLoading},errorLoadingSites:function(){return gt.state.value.errorLoadingSites},sites:function(){return gt.state.value.sites},numberOfPages:function(){return gt.numberOfPages.value},currentPage:function(){return gt.state.value.currentPage},paginationLowerBound:function(){return gt.paginationLowerBound.value},paginationUpperBound:function(){return gt.paginationUpperBound.value},numberOfFilteredSites:function(){return gt.numberOfFilteredSites.value},professionalHelpUrl:function(){return Object(C["externalRawLink"])("https://matomo.org/support-plans/")},addSiteUrl:function(){return"index.php?module=SitesManager&action=index&showaddsite=1&period=".concat(this.period,"&")+"date=".concat(this.date,"&idSite=").concat(this.idSite)}}});mr.render=dr;var br=mr; + */var ft=function(){function e(){var t=this;vt(this,e),gt(this,"privateState",Object(o["reactive"])({sites:[],isLoading:!1,pageSize:25,currentPage:0,totalVisits:"?",totalPageviews:"?",totalHits:"?",totalActions:"?",totalRevenue:"?",searchTerm:"",lastVisits:"?",lastVisitsDate:"?",numberOfSites:0,loadingMessage:Object(C["translate"])("MultiSites_LoadingWebsites"),reverse:!0,sortColumn:"nb_visits",refreshInterval:0,errorLoadingSites:!1})),gt(this,"refreshTimeout",null),gt(this,"fetchAbort",null),gt(this,"state",Object(o["computed"])((function(){return Object(o["readonly"])(t.privateState)}))),gt(this,"numberOfFilteredSites",Object(o["computed"])((function(){return t.state.value.numberOfSites}))),gt(this,"numberOfPages",Object(o["computed"])((function(){return Math.ceil(t.numberOfFilteredSites.value/t.state.value.pageSize-1)}))),gt(this,"currentPagingOffset",Object(o["computed"])((function(){return Math.ceil(t.state.value.currentPage*t.state.value.pageSize)}))),gt(this,"paginationLowerBound",Object(o["computed"])((function(){return t.currentPagingOffset.value+1}))),gt(this,"paginationUpperBound",Object(o["computed"])((function(){var e=t.currentPagingOffset.value+t.state.value.pageSize,r=t.numberOfFilteredSites.value;return e>r&&(e=r),e})))}return Ot(e,[{key:"cancelRefereshInterval",value:function(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null)}},{key:"updateWebsitesList",value:function(e){var t=this;if(e){var r=e.sites;r.forEach((function(e){if(1!==e.ratio&&"1"!==e.ratio){var r=C["NumberFormatter"].formatPercent(Math.round(100*parseInt(e.ratio,10))),a=null,n="0",o="0",i="0",s="0";if("nb_visits"!==t.state.value.sortColumn&&"visits_evolution"!==t.state.value.sortColumn||(n=C["NumberFormatter"].formatNumber(e.previous_nb_visits),o=C["NumberFormatter"].formatNumber(e.nb_visits),i=C["NumberFormatter"].formatPercent(e.visits_evolution),a=Object(C["translate"])("General_ColumnNbVisits"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_nb_visits,10)*parseInt(e.ratio,10)))),"pageviews_evolution"===t.state.value.sortColumn&&(n="".concat(e.previous_nb_pageviews),o="".concat(e.nb_pageviews),i=C["NumberFormatter"].formatPercent(e.pageviews_evolution),a=Object(C["translate"])("General_ColumnPageviews"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_nb_pageviews,10)*parseInt(e.ratio,10)))),"hits_evolution"===t.state.value.sortColumn&&(n="".concat(e.previous_hits),o="".concat(e.hits),i=C["NumberFormatter"].formatPercent(e.hits_evolution),a=Object(C["translate"])("General_ColumnHits"),s=C["NumberFormatter"].formatNumber(Math.round(parseInt(e.previous_hits,10)*parseInt(e.ratio,10)))),"revenue_evolution"===t.state.value.sortColumn&&(n=C["NumberFormatter"].formatCurrency(e.previous_revenue,e.currencySymbol),o=C["NumberFormatter"].formatCurrency(e.revenue,e.currencySymbol),i=C["NumberFormatter"].formatPercent(e.revenue_evolution),a=Object(C["translate"])("General_ColumnRevenue"),s=C["NumberFormatter"].formatCurrency(Math.round(parseInt(e.previous_revenue,10)*parseInt(e.ratio,10)),e.currencySymbol)),a)switch(e.tooltip="".concat(Object(C["translate"])("MultiSites_EvolutionComparisonIncomplete",[r]),"\n"),e.tooltip+="".concat(Object(C["translate"])("MultiSites_EvolutionComparisonProportional",[r,"".concat(s),a,"".concat(n)]),"\n"),e.periodName){case"day":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonDay",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"week":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonWeek",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"month":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonMonth",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;case"year":e.tooltip+=Object(C["translate"])("MultiSites_EvolutionComparisonYear",["".concat(o),a,"".concat(s),e.previousRange,"".concat(i)]);break;default:break}}})),this.privateState.totalVisits=e.totals.nb_visits,this.privateState.totalPageviews=e.totals.nb_pageviews,this.privateState.totalHits=e.totals.hits,this.privateState.totalActions=e.totals.nb_actions,this.privateState.totalRevenue=e.totals.revenue,this.privateState.lastVisits=e.totals.previous_nb_visits,this.privateState.sites=r,this.privateState.numberOfSites=e.numSites,this.privateState.lastVisitsDate=e.lastDate}else this.onError()}},{key:"sortBy",value:function(e){this.state.value.sortColumn===e&&(this.privateState.reverse=!this.state.value.reverse),this.privateState.sortColumn=e,this.fetchAllSites()}},{key:"previousPage",value:function(){this.privateState.currentPage=this.state.value.currentPage-1,this.fetchAllSites()}},{key:"nextPage",value:function(){this.privateState.currentPage=this.state.value.currentPage+1,this.fetchAllSites()}},{key:"searchSite",value:function(e){this.privateState.searchTerm=e,this.privateState.currentPage=0,this.fetchAllSites()}},{key:"fetchAllSites",value:function(){var e=this;this.fetchAbort&&(this.fetchAbort.abort(),this.fetchAbort=null,this.cancelRefereshInterval()),this.privateState.isLoading=!0,this.privateState.errorLoadingSites=!1;var t={method:"MultiSites.getAllWithGroups",hideMetricsDoc:"1",filter_sort_order:"asc",filter_limit:this.state.value.pageSize,filter_offset:this.currentPagingOffset.value,showColumns:["label","nb_visits","nb_pageviews","hits","visits_evolution","visits_evolution_trend","pageviews_evolution","pageviews_evolution_trend","hits_evolution","hits_evolution_trend","revenue_evolution","revenue_evolution_trend","nb_actions","revenue"].join(",")};return this.privateState.searchTerm&&(t.pattern=this.privateState.searchTerm),this.privateState.sortColumn&&(t.filter_sort_column=this.privateState.sortColumn),this.privateState.reverse&&(t.filter_sort_order="desc"),this.fetchAbort=new AbortController,C["AjaxHelper"].fetch(t,{abortController:this.fetchAbort}).then((function(t){e.updateWebsitesList(t)})).catch((function(){e.onError()})).finally((function(){e.privateState.isLoading=!1,e.fetchAbort=null,e.state.value.refreshInterval&&e.state.value.refreshInterval>0&&(e.cancelRefereshInterval(),e.refreshTimeout=setTimeout((function(){e.refreshTimeout=null,e.fetchAllSites()}),1e3*e.state.value.refreshInterval))}))}},{key:"onError",value:function(){this.privateState.errorLoadingSites=!0,this.privateState.sites=[]}},{key:"setRefreshInterval",value:function(e){this.privateState.refreshInterval=e}},{key:"setPageSize",value:function(e){this.privateState.pageSize=e}}]),e}(),jt=new ft,St={ref:"root"},kt={class:"card-title"},yt=["innerHTML","title"],Ct={id:"mt",class:"dataTable card-table",cellspacing:"0"},_t={class:"heading"},Nt={class:"heading"},Et={class:"heading"},Vt={class:"heading"},wt={class:"heading"},Tt=["colspan"],Bt=["value"],Pt={value:"visits_evolution"},Mt={value:"pageviews_evolution"},Dt={value:"hits_evolution"},Ft={key:0,value:"revenue_evolution"},xt={key:0},Lt={colspan:"7",class:"allWebsitesLoading"},At={key:1},Gt={key:0},Rt={colspan:"7"},It={class:"notification system notification-error"},zt=Object(o["createElementVNode"])("br",null,null,-1),Ut=Object(o["createElementVNode"])("br",null,null,-1),Ht=["href"],qt=Object(o["createTextVNode"])(" – "),Kt=["href"],Wt=["href"],$t=Object(o["createTextVNode"])(". "),Jt={colspan:"8",class:"paging"},Yt={class:"row"},Qt={class:"col s3 add_new_site"},Xt=["href"],Zt=Object(o["createElementVNode"])("span",{class:"icon-add"},null,-1),er={class:"col s6"},tr={style:{cursor:"pointer"}},rr={class:"dataTablePages"},ar={id:"counter"},nr={style:{cursor:"pointer"},class:"pointer"},or=Object(o["createElementVNode"])("div",{class:"col s3"}," ",-1),ir={row_id:"last"},sr={colspan:"8",class:"site_search"},lr={class:"row"},cr={class:"input-field col s12"},ur=["placeholder"],dr=["title"];function mr(e,t,r,a,n,i){var s=this,l=Object(o["resolveComponent"])("EnrichedHeadline"),c=Object(o["resolveComponent"])("FeatureFlagToggle"),u=Object(o["resolveComponent"])("ActivityIndicator"),d=Object(o["resolveComponent"])("MultisitesSite");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",St,[Object(o["createElementVNode"])("h2",kt,[Object(o["createVNode"])(l,{"help-url":e.externalRawLink("https://matomo.org/faq/new-to-piwik/all-websites-dashboard/"),"feature-name":e.translate("General_AllWebsitesDashboard")},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_AllWebsitesDashboard"))+" ",1),Object(o["createElementVNode"])("span",{class:"smallTitle",innerHTML:e.$sanitize(s.smallTitleContent),title:e.smallTitleTooltip},null,8,yt)]})),_:1},8,["help-url","feature-name"]),Object(o["createVNode"])(c,{description:"Switch to new Layout","feature-name":"ImprovedAllWebsitesDashboard"})]),Object(o["createElementVNode"])("table",Ct,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",{id:"names",class:Object(o["normalizeClass"])(["label",{columnSorted:"label"===e.sortColumn}]),onClick:t[0]||(t[0]=function(t){return e.sortBy("label")})},[Object(o["createElementVNode"])("span",_t,Object(o["toDisplayString"])(e.translate("General_Website")),1),Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"label"===e.sortColumn,multisites_desc:e.reverse&&"label"===e.sortColumn}]),style:{"margin-left":"3.5px"}},null,2)],2),Object(o["createElementVNode"])("th",{id:"visits",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"nb_visits"===e.sortColumn}]),onClick:t[1]||(t[1]=function(t){return e.sortBy("nb_visits")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_visits"===e.sortColumn,multisites_desc:e.reverse&&"nb_visits"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Nt,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1)],2),Object(o["createElementVNode"])("th",{id:"pageviews",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"nb_pageviews"===e.sortColumn}]),onClick:t[2]||(t[2]=function(t){return e.sortBy("nb_pageviews")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_pageviews"===e.sortColumn,multisites_desc:e.reverse&&"nb_pageviews"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1)],2),Object(o["createElementVNode"])("th",{id:"hits",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"hits"===e.sortColumn}]),onClick:t[3]||(t[3]=function(t){return e.sortBy("hits")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"hits"===e.sortColumn,multisites_desc:e.reverse&&"hits"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",Vt,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1)],2),e.displayRevenueColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",{key:0,id:"revenue",class:Object(o["normalizeClass"])(["multisites-column",{columnSorted:"revenue"===e.sortColumn}]),onClick:t[4]||(t[4]=function(t){return e.sortBy("revenue")})},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"revenue"===e.sortColumn,multisites_desc:e.reverse&&"revenue"===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",wt,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)],2)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("th",{id:"evolution",class:Object(o["normalizeClass"])({columnSorted:e.evolutionSelector===e.sortColumn}),colspan:e.showSparklines?2:1},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&e.evolutionSelector===e.sortColumn,multisites_desc:e.reverse&&e.evolutionSelector===e.sortColumn}]),style:{"margin-right":"3.5px"}},null,2),Object(o["createElementVNode"])("span",{class:"evolution",onClick:t[5]||(t[5]=function(t){return e.sortBy(e.evolutionSelector)}),style:{"margin-right":"3.5px"}},Object(o["toDisplayString"])(e.translate("MultiSites_Evolution")),1),Object(o["createElementVNode"])("select",{class:"selector browser-default",id:"evolution_selector",value:e.evolutionSelector,onChange:t[6]||(t[6]=function(t){e.evolutionSelector=t.target.value,e.sortBy(e.evolutionSelector)})},[Object(o["createElementVNode"])("option",Pt,Object(o["toDisplayString"])(e.translate("General_ColumnNbVisits")),1),Object(o["createElementVNode"])("option",Mt,Object(o["toDisplayString"])(e.translate("General_ColumnPageviews")),1),Object(o["createElementVNode"])("option",Dt,Object(o["toDisplayString"])(e.translate("General_ColumnHits")),1),e.displayRevenueColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("option",Ft,Object(o["toDisplayString"])(e.translate("General_ColumnRevenue")),1)):Object(o["createCommentVNode"])("",!0)],40,Bt)],10,Tt)])]),e.isLoading?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tbody",xt,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("td",Lt,[Object(o["createVNode"])(u,{"loading-message":e.loadingMessage,loading:e.isLoading},null,8,["loading-message","loading"])])])])):Object(o["createCommentVNode"])("",!0),e.isLoading?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("tbody",At,[e.errorLoadingSites?(Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",Gt,[Object(o["createElementVNode"])("td",Rt,[Object(o["createElementVNode"])("div",It,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.translate("General_ErrorRequest","",""))+" ",1),zt,Ut,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("General_NeedMoreHelp"))+" ",1),Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://matomo.org/faq/troubleshooting/faq_19489/")},Object(o["toDisplayString"])(e.translate("General_Faq")),9,Ht),qt,Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.externalRawLink("https://forum.matomo.org/")},Object(o["toDisplayString"])(e.translate("Feedback_CommunityHelp")),9,Kt),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null," – ",512),[[o["vShow"],e.areAdsForProfessionalServicesEnabled]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.professionalHelpUrl},Object(o["toDisplayString"])(e.translate("Feedback_ProfessionalHelp")),9,Wt),[[o["vShow"],e.areAdsForProfessionalServicesEnabled]]),$t])])])):Object(o["createCommentVNode"])("",!0),(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.sites,(function(t){return Object(o["openBlock"])(),Object(o["createBlock"])(d,{key:t.idsite,website:t,"evolution-metric":e.evolutionSelector,"date-sparkline":e.dateSparkline,"show-sparklines":e.showSparklines,metric:e.sortColumn,"display-revenue-column":e.displayRevenueColumn},null,8,["website","evolution-metric","date-sparkline","show-sparklines","metric","display-revenue-column"])})),128))])),Object(o["createElementVNode"])("tfoot",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("td",Jt,[Object(o["createElementVNode"])("div",Yt,[Object(o["createElementVNode"])("div",Qt,[e.hasSuperUserAccess?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,href:e.addSiteUrl},[Zt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.translate("SitesManager_AddSite")),1)],8,Xt)):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",er,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{id:"prev",class:"previous dataTablePrevious",onClick:t[7]||(t[7]=function(t){return e.previousPage()})},[Object(o["createElementVNode"])("span",tr,"« "+Object(o["toDisplayString"])(e.translate("General_Previous")),1)],512),[[o["vShow"],!(0===e.currentPage)]]),Object(o["createElementVNode"])("span",rr,[Object(o["createElementVNode"])("span",ar,Object(o["toDisplayString"])(e.translate("General_Pagination",e.paginationLowerBound,e.paginationUpperBound,e.numberOfFilteredSites)),1)]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{id:"next",class:"next dataTableNext",onClick:t[8]||(t[8]=function(t){return e.nextPage()})},[Object(o["createElementVNode"])("span",nr,Object(o["toDisplayString"])(e.translate("General_Next"))+" »",1)],512),[[o["vShow"],!(e.currentPage>=e.numberOfPages)]])]),or])])]),Object(o["createElementVNode"])("tr",ir,[Object(o["createElementVNode"])("td",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["createElementVNode"])("div",cr,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text",onKeydown:t[9]||(t[9]=Object(o["withKeys"])((function(t){return e.searchSite(e.searchTerm)}),["enter"])),"onUpdate:modelValue":t[10]||(t[10]=function(t){return e.searchTerm=t}),placeholder:e.translate("Actions_SubmenuSitesearch")},null,40,ur),[[o["vModelText"],e.searchTerm]]),Object(o["createElementVNode"])("span",{class:"icon-search search_ico",onClick:t[11]||(t[11]=function(t){return e.searchSite(e.searchTerm)}),title:e.translate("General_ClickToSearch")},null,8,dr)])])])])])])],512)}var br=Object(o["defineComponent"])({props:{displayRevenueColumn:Boolean,showSparklines:Boolean,dateSparkline:String,pageSize:Number,autoRefreshTodayReport:Number},components:{FeatureFlagToggle:_["FeatureFlagToggle"],EnrichedHeadline:C["EnrichedHeadline"],ActivityIndicator:C["ActivityIndicator"],MultisitesSite:pt},data:function(){return{evolutionSelector:"visits_evolution",searchTerm:""}},created:function(){this.pageSize&&jt.setPageSize(this.pageSize),this.refresh(this.autoRefreshTodayReport)},methods:{refresh:function(e){jt.setRefreshInterval(e),jt.fetchAllSites()},sortBy:function(e){jt.sortBy(e)},previousPage:function(){jt.previousPage()},nextPage:function(){jt.nextPage()},searchSite:function(){jt.searchSite(this.searchTerm)}},computed:{hasSuperUserAccess:function(){return C["Matomo"].hasSuperUserAccess},date:function(){return C["MatomoUrl"].urlParsed.value.date},idSite:function(){return C["MatomoUrl"].urlParsed.value.idSite},url:function(){return C["Matomo"].piwik_url},period:function(){return C["Matomo"].period},areAdsForProfessionalServicesEnabled:function(){return C["Matomo"].config&&C["Matomo"].config.are_ads_enabled},sortColumn:function(){return jt.state.value.sortColumn},reverse:function(){return jt.state.value.reverse},smallTitleContent:function(){var e=jt.state.value;return Object(C["translate"])("General_TotalVisitsPageviewsActionsRevenue","".concat(e.totalVisits,""),"".concat(e.totalPageviews,""),"".concat(e.totalActions,""),"".concat(e.totalRevenue,""))},smallTitleTooltip:function(){var e=jt.state.value;return Object(C["translate"])("General_EvolutionSummaryGeneric",Object(C["translate"])("General_NVisits","".concat(e.totalVisits)),this.date,"".concat(e.lastVisits),e.lastVisitsDate,C["NumberFormatter"].calculateAndFormatEvolution(C["NumberFormatter"].parseFormattedNumber(e.totalVisits),C["NumberFormatter"].parseFormattedNumber(e.lastVisits)))},loadingMessage:function(){return jt.state.value.loadingMessage},isLoading:function(){return jt.state.value.isLoading},errorLoadingSites:function(){return jt.state.value.errorLoadingSites},sites:function(){return jt.state.value.sites},numberOfPages:function(){return jt.numberOfPages.value},currentPage:function(){return jt.state.value.currentPage},paginationLowerBound:function(){return jt.paginationLowerBound.value},paginationUpperBound:function(){return jt.paginationUpperBound.value},numberOfFilteredSites:function(){return jt.numberOfFilteredSites.value},professionalHelpUrl:function(){return Object(C["externalRawLink"])("https://matomo.org/support-plans/")},addSiteUrl:function(){return"index.php?module=SitesManager&action=index&showaddsite=1&period=".concat(this.period,"&")+"date=".concat(this.date,"&idSite=").concat(this.idSite)}}});br.render=mr;var pr=br; /*! * Matomo - free/libre analytics platform * diff --git a/plugins/MultiSites/vue/dist/umd.metadata.json b/plugins/MultiSites/vue/dist/umd.metadata.json index 9ecfcc04562..ce4321e1e52 100644 --- a/plugins/MultiSites/vue/dist/umd.metadata.json +++ b/plugins/MultiSites/vue/dist/umd.metadata.json @@ -1,5 +1,6 @@ { "dependsOn": [ - "CoreHome" + "CoreHome", + "FeatureFlags" ] } \ No newline at end of file diff --git a/plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue b/plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue index 96153c09134..53d29b2fe09 100644 --- a/plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue +++ b/plugins/MultiSites/vue/src/AllWebsitesDashboard/AllWebsitesDashboard.vue @@ -14,6 +14,10 @@ {{ translate('MultiSites_AllWebsitesDashboardTitle') }} +
@@ -83,6 +87,7 @@ import { Matomo, MatomoUrl, } from 'CoreHome'; +import { FeatureFlagToggle } from 'FeatureFlags'; import DashboardStore from './AllWebsitesDashboard.store'; import KPICardContainer from './KPICardContainer.vue'; @@ -95,6 +100,7 @@ interface DashboardState { export default defineComponent({ components: { + FeatureFlagToggle, EnrichedHeadline, KPICardContainer, SitesTable, diff --git a/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue b/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue index d93d6d8059c..0c97ca1e442 100644 --- a/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue +++ b/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue @@ -20,6 +20,10 @@ > +