Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MultiSites/vue')
-rw-r--r--plugins/MultiSites/vue/dist/MultiSites.umd.js474
-rw-r--r--plugins/MultiSites/vue/dist/MultiSites.umd.min.js12
-rw-r--r--plugins/MultiSites/vue/src/Dashboard/Dashboard.adapter.ts39
-rw-r--r--plugins/MultiSites/vue/src/Dashboard/Dashboard.less292
-rw-r--r--plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts18
-rw-r--r--plugins/MultiSites/vue/src/Dashboard/Dashboard.vue409
-rw-r--r--plugins/MultiSites/vue/src/index.ts2
7 files changed, 1231 insertions, 15 deletions
diff --git a/plugins/MultiSites/vue/dist/MultiSites.umd.js b/plugins/MultiSites/vue/dist/MultiSites.umd.js
index e581c16fc6..e2fb8b1dce 100644
--- a/plugins/MultiSites/vue/dist/MultiSites.umd.js
+++ b/plugins/MultiSites/vue/dist/MultiSites.umd.js
@@ -117,6 +117,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;
/***/ }),
+/***/ "caf5":
+/***/ (function(module, exports) {
+
+
+
+/***/ }),
+
/***/ "fae3":
/***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -127,6 +134,7 @@ __webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, "MultisitesSite", function() { return /* reexport */ MultisitesSite; });
__webpack_require__.d(__webpack_exports__, "DashboadStore", function() { return /* reexport */ Dashboard_store; });
+__webpack_require__.d(__webpack_exports__, "Dashboard", function() { return /* reexport */ Dashboard; });
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
// This file is imported into lib/wc client bundles.
@@ -392,6 +400,288 @@ if (typeof MultisitesSitevue_type_custom_index_0_blockType_todo_default.a === 'f
},
directiveName: 'piwikMultisitesSite'
}));
+// 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=190dce61
+
+var Dashboardvue_type_template_id_190dce61_hoisted_1 = {
+ class: "card-title"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_2 = ["innerHTML", "title"];
+var Dashboardvue_type_template_id_190dce61_hoisted_3 = {
+ id: "mt",
+ class: "dataTable card-table",
+ cellspacing: "0"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_4 = {
+ class: "heading"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_5 = {
+ class: "heading"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_6 = {
+ class: "heading"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_7 = {
+ class: "heading"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_8 = ["colspan"];
+var Dashboardvue_type_template_id_190dce61_hoisted_9 = ["value"];
+var Dashboardvue_type_template_id_190dce61_hoisted_10 = {
+ value: "visits_evolution"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_11 = {
+ value: "pageviews_evolution"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_12 = {
+ key: 0,
+ value: "revenue_evolution"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_13 = {
+ key: 0
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_14 = {
+ colspan: "7",
+ class: "allWebsitesLoading"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_15 = {
+ key: 1
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_16 = {
+ key: 0
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_17 = {
+ colspan: "7"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_18 = {
+ class: "notification system notification-error"
+};
+
+var Dashboardvue_type_template_id_190dce61_hoisted_19 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1);
+
+var Dashboardvue_type_template_id_190dce61_hoisted_20 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1);
+
+var Dashboardvue_type_template_id_190dce61_hoisted_21 = {
+ rel: "noreferrer noopener",
+ target: "_blank",
+ href: "https://matomo.org/faq/troubleshooting/faq_19489/"
+};
+
+var Dashboardvue_type_template_id_190dce61_hoisted_22 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" – ");
+
+var Dashboardvue_type_template_id_190dce61_hoisted_23 = {
+ rel: "noreferrer noopener",
+ target: "_blank",
+ href: "https://forum.matomo.org/"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_24 = ["href"];
+
+var Dashboardvue_type_template_id_190dce61_hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(". ");
+
+var Dashboardvue_type_template_id_190dce61_hoisted_26 = {
+ colspan: "8",
+ class: "paging"
+};
+var Dashboardvue_type_template_id_190dce61_hoisted_27 = {
+ class: "row"
+};
+var _hoisted_28 = {
+ class: "col s3 add_new_site"
+};
+var _hoisted_29 = {
+ key: 0,
+ href: "addSiteUrl"
+};
+
+var _hoisted_30 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ class: "icon-add"
+}, null, -1);
+
+var _hoisted_31 = {
+ class: "col s6"
+};
+var _hoisted_32 = {
+ style: {
+ "cursor": "pointer"
+ }
+};
+var _hoisted_33 = {
+ class: "dataTablePages"
+};
+var _hoisted_34 = {
+ id: "counter"
+};
+var _hoisted_35 = {
+ style: {
+ "cursor": "pointer"
+ },
+ class: "pointer"
+};
+
+var _hoisted_36 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
+ class: "col s3"
+}, " ", -1);
+
+var _hoisted_37 = {
+ row_id: "last"
+};
+var _hoisted_38 = {
+ colspan: "8",
+ class: "site_search"
+};
+var _hoisted_39 = {
+ class: "row"
+};
+var _hoisted_40 = {
+ class: "input-field col s12"
+};
+var _hoisted_41 = ["placeholder"];
+var _hoisted_42 = ["title"];
+function Dashboardvue_type_template_id_190dce61_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_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", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", Dashboardvue_type_template_id_190dce61_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, {
+ "help-url": "https://matomo.org/docs/manage-websites/#all-websites-dashboard",
+ "feature-name": _ctx.translate('General_AllWebsitesDashboard')
+ }, {
+ default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () {
+ return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_AllWebsitesDashboard')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ class: "smallTitle",
+ innerHTML: _ctx.$sanitize(_this.smallTitleContent),
+ title: _ctx.smallTitleTooltip
+ }, null, 8, Dashboardvue_type_template_id_190dce61_hoisted_2)];
+ }),
+ _: 1
+ }, 8, ["feature-name"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", Dashboardvue_type_template_id_190dce61_hoisted_3, [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
+ }]),
+ 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_190dce61_hoisted_4, 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
+ }])
+ }, null, 2)], 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", {
+ id: "visits",
+ class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["multisites-column", {
+ columnSorted: 'nb_visits' === _ctx.sortColumn
+ }]),
+ onClick: _cache[1] || (_cache[1] = function ($event) {
+ return _ctx.sortBy('nb_visits');
+ })
+ }, [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 && 'nb_visits' === _ctx.sortColumn,
+ multisites_desc: _ctx.reverse && 'nb_visits' === _ctx.sortColumn
+ }])
+ }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_190dce61_hoisted_5, 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
+ }]),
+ onClick: _cache[2] || (_cache[2] = function ($event) {
+ return _ctx.sortBy('nb_pageviews');
+ })
+ }, [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 && 'nb_pageviews' === _ctx.sortColumn,
+ multisites_desc: _ctx.reverse && 'nb_pageviews' === _ctx.sortColumn
+ }])
+ }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_190dce61_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 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", {
+ columnSorted: 'revenue' === _ctx.sortColumn
+ }]),
+ onClick: _cache[3] || (_cache[3] = function ($event) {
+ return _ctx.sortBy('revenue');
+ })
+ }, [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 && 'revenue' === _ctx.sortColumn,
+ multisites_desc: _ctx.reverse && 'revenue' === _ctx.sortColumn
+ }])
+ }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", Dashboardvue_type_template_id_190dce61_hoisted_7, 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
+ }),
+ colspan: _ctx.showSparklines ? 2 : 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 && _ctx.evolutionSelector === _ctx.sortColumn,
+ multisites_desc: _ctx.reverse && _ctx.evolutionSelector === _ctx.sortColumn
+ }])
+ }, null, 2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ class: "evolution",
+ onClick: _cache[4] || (_cache[4] = function ($event) {
+ return _ctx.sortBy(_ctx.evolutionSelector);
+ })
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('MultiSites_Evolution')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("select", {
+ class: "selector browser-default",
+ id: "evolution_selector",
+ value: _ctx.evolutionSelector,
+ onChange: _cache[5] || (_cache[5] = function ($event) {
+ _ctx.evolutionSelector = $event.target.value;
+
+ _ctx.sortBy(_ctx.evolutionSelector);
+ })
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("option", Dashboardvue_type_template_id_190dce61_hoisted_10, 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_190dce61_hoisted_11, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnPageviews')), 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_190dce61_hoisted_12, 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_190dce61_hoisted_9)], 10, Dashboardvue_type_template_id_190dce61_hoisted_8)])]), _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_190dce61_hoisted_13, [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_190dce61_hoisted_14, [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_190dce61_hoisted_15, [_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_190dce61_hoisted_16, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_190dce61_hoisted_17, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_190dce61_hoisted_18, [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_190dce61_hoisted_19, Dashboardvue_type_template_id_190dce61_hoisted_20, 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", Dashboardvue_type_template_id_190dce61_hoisted_21, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Faq')), 1), Dashboardvue_type_template_id_190dce61_hoisted_22, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", Dashboardvue_type_template_id_190dce61_hoisted_23, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Feedback_CommunityHelp')), 1), 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_190dce61_hoisted_24), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.areAdsForProfessionalServicesEnabled]]), Dashboardvue_type_template_id_190dce61_hoisted_25])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.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,
+ "evolution-metric": _ctx.evolutionSelector,
+ "date-sparkline": _ctx.dateSparkline,
+ "show-sparklines": _ctx.showSparklines,
+ 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_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", Dashboardvue_type_template_id_190dce61_hoisted_26, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Dashboardvue_type_template_id_190dce61_hoisted_27, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_28, [_ctx.hasSuperUserAccess ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", _hoisted_29, [_hoisted_30, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('SitesManager_AddSite')), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_31, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ id: "prev",
+ class: "previous dataTablePrevious",
+ onClick: _cache[6] || (_cache[6] = function ($event) {
+ return _ctx.previousPage();
+ })
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_32, "« " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Previous')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(_ctx.currentPage === 0)]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_33, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_34, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Pagination', _ctx.paginationLowerBound, _ctx.paginationUpperBound, _ctx.numberOfFilteredSites)), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ id: "next",
+ class: "next dataTableNext",
+ onClick: _cache[7] || (_cache[7] = function ($event) {
+ return _ctx.nextPage();
+ })
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_35, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Next')) + " »", 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(_ctx.currentPage >= _ctx.numberOfPages)]])]), _hoisted_36])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !(_ctx.numberOfPages <= 1)]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", _hoisted_37, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_38, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_39, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_40, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ type: "text",
+ onKeydown: _cache[8] || (_cache[8] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withKeys"])(function ($event) {
+ return _ctx.searchSite(_ctx.searchTerm);
+ }, ["enter"])),
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = function ($event) {
+ return _ctx.searchTerm = $event;
+ }),
+ placeholder: _ctx.translate('Actions_SubmenuSitesearch')
+ }, null, 40, _hoisted_41), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], _ctx.searchTerm]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ class: "icon-search search_ico",
+ onClick: _cache[10] || (_cache[10] = function ($event) {
+ return _ctx.searchSite(_ctx.searchTerm);
+ }),
+ title: _ctx.translate('General_ClickToSearch')
+ }, null, 8, _hoisted_42)])])])])])])]);
+}
+// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=template&id=190dce61
+
// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -407,10 +697,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-// TODO:
-// - state property types
-// - method signatures
-// - method code
var _window = window,
@@ -658,12 +944,190 @@ var Dashboard_store_DashboardStore = /*#__PURE__*/function () {
this.privateState.errorLoadingSites = true;
this.privateState.sites = [];
}
+ }, {
+ key: "setRefreshInterval",
+ value: function setRefreshInterval(interval) {
+ this.privateState.refreshInterval = interval;
+ }
+ }, {
+ key: "setPageSize",
+ value: function setPageSize(pageSize) {
+ this.privateState.pageSize = pageSize;
+ }
}]);
return DashboardStore;
}();
/* harmony default export */ var Dashboard_store = (new Dashboard_store_DashboardStore());
+// 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,
+ showSparklines: Boolean,
+ dateSparkline: String,
+ pageSize: Number,
+ autoRefreshTodayReport: Number
+ },
+ components: {
+ EnrichedHeadline: external_CoreHome_["EnrichedHeadline"],
+ ActivityIndicator: external_CoreHome_["ActivityIndicator"],
+ MultisitesSite: MultisitesSite
+ },
+ data: function data() {
+ return {
+ evolutionSelector: 'visits_evolution',
+ searchTerm: ''
+ };
+ },
+ created: function created() {
+ if (this.pageSize) {
+ Dashboard_store.setPageSize(this.pageSize);
+ }
+
+ this.refresh(this.autoRefreshTodayReport);
+ },
+ methods: {
+ refresh: function refresh(interval) {
+ Dashboard_store.setRefreshInterval(interval);
+ Dashboard_store.fetchAllSites();
+ },
+ sortBy: function sortBy(column) {
+ Dashboard_store.sortBy(column);
+ },
+ previousPage: function previousPage() {
+ Dashboard_store.previousPage();
+ },
+ nextPage: function nextPage() {
+ Dashboard_store.nextPage();
+ },
+ searchSite: function searchSite() {
+ Dashboard_store.searchSite(this.searchTerm);
+ }
+ },
+ computed: {
+ hasSuperUserAccess: function hasSuperUserAccess() {
+ return external_CoreHome_["Matomo"].hasSuperUserAccess;
+ },
+ date: function date() {
+ return external_CoreHome_["MatomoUrl"].urlParsed.value.date;
+ },
+ idSite: function idSite() {
+ return external_CoreHome_["MatomoUrl"].urlParsed.value.idSite;
+ },
+ url: function url() {
+ return external_CoreHome_["Matomo"].piwik_url;
+ },
+ period: function period() {
+ return external_CoreHome_["Matomo"].period;
+ },
+ areAdsForProfessionalServicesEnabled: function areAdsForProfessionalServicesEnabled() {
+ return external_CoreHome_["Matomo"].config && external_CoreHome_["Matomo"].config.are_ads_enabled;
+ },
+ sortColumn: function sortColumn() {
+ return Dashboard_store.state.value.sortColumn;
+ },
+ reverse: function reverse() {
+ return Dashboard_store.state.value.reverse;
+ },
+ smallTitleContent: function smallTitleContent() {
+ var state = Dashboard_store.state.value;
+ return Object(external_CoreHome_["translate"])('General_TotalVisitsPageviewsActionsRevenue', "<strong>".concat(state.totalVisits, "</strong>"), "<strong>".concat(state.totalPageviews, "</strong>"), "<strong>".concat(state.totalActions, "</strong>"), "<strong>".concat(state.totalRevenue, "</strong>"));
+ },
+ smallTitleTooltip: function smallTitleTooltip() {
+ var state = Dashboard_store.state.value;
+ return Object(external_CoreHome_["translate"])('General_EvolutionSummaryGeneric', Object(external_CoreHome_["translate"])('General_NVisits', "".concat(state.totalVisits)), this.date, "".concat(state.lastVisits), state.lastVisitsDate, Object(external_CoreHome_["getFormattedEvolution"])(state.totalVisits, state.lastVisits));
+ },
+ loadingMessage: function loadingMessage() {
+ return Dashboard_store.state.value.loadingMessage;
+ },
+ isLoading: function isLoading() {
+ return Dashboard_store.state.value.isLoading;
+ },
+ errorLoadingSites: function errorLoadingSites() {
+ return Dashboard_store.state.value.errorLoadingSites;
+ },
+ sites: function sites() {
+ return Dashboard_store.state.value.sites;
+ },
+ numberOfPages: function numberOfPages() {
+ return Dashboard_store.numberOfPages.value;
+ },
+ currentPage: function currentPage() {
+ return Dashboard_store.state.value.currentPage;
+ },
+ paginationLowerBound: function paginationLowerBound() {
+ return Dashboard_store.paginationLowerBound.value;
+ },
+ paginationUpperBound: function paginationUpperBound() {
+ return Dashboard_store.paginationUpperBound.value;
+ },
+ numberOfFilteredSites: function numberOfFilteredSites() {
+ return Dashboard_store.numberOfFilteredSites.value;
+ },
+ professionalHelpUrl: function professionalHelpUrl() {
+ return 'https://matomo.org/support-plans/?pk_campaign=Help&pk_medium=AjaxError&pk_content=' + 'MultiSites&pk_source=Matomo_App';
+ },
+ addSiteUrl: function addSiteUrl() {
+ return "index.php?module=SitesManager&action=index&showaddsite=1&period=".concat(this.period, "&") + "date=".concat(this.date, "&idSite=").concat(this.idSite);
+ }
+ }
+}));
+// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=script&lang=ts
+
+// EXTERNAL MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue?vue&type=custom&index=0&blockType=todo
+var Dashboardvue_type_custom_index_0_blockType_todo = __webpack_require__("caf5");
+var Dashboardvue_type_custom_index_0_blockType_todo_default = /*#__PURE__*/__webpack_require__.n(Dashboardvue_type_custom_index_0_blockType_todo);
+
+// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.vue
+
+
+
+Dashboardvue_type_script_lang_ts.render = Dashboardvue_type_template_id_190dce61_render
+/* custom blocks */
+
+if (typeof Dashboardvue_type_custom_index_0_blockType_todo_default.a === 'function') Dashboardvue_type_custom_index_0_blockType_todo_default()(Dashboardvue_type_script_lang_ts)
+
+
+/* harmony default export */ var Dashboard = (Dashboardvue_type_script_lang_ts);
+// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/Dashboard/Dashboard.adapter.ts
+/*!
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+
+/* harmony default export */ var Dashboard_adapter = (Object(external_CoreHome_["createAngularJsAdapter"])({
+ component: Dashboard,
+ scope: {
+ displayRevenueColumn: {
+ angularJsBind: '@',
+ transform: external_CoreHome_["transformAngularJsBoolAttr"]
+ },
+ showSparklines: {
+ angularJsBind: '@',
+ transform: external_CoreHome_["transformAngularJsBoolAttr"]
+ },
+ dateSparkline: {
+ angularJsBind: '@'
+ },
+ pageSize: {
+ angularJsBind: '@',
+ transform: external_CoreHome_["transformAngularJsIntAttr"]
+ },
+ autoRefreshTodayReport: {
+ angularJsBind: '@',
+ transform: external_CoreHome_["transformAngularJsIntAttr"]
+ }
+ },
+ directiveName: 'piwikMultisitesDashboard'
+}));
// CONCATENATED MODULE: ./plugins/MultiSites/vue/src/index.ts
/*!
* Matomo - free/libre analytics platform
@@ -674,6 +1138,8 @@ var Dashboard_store_DashboardStore = /*#__PURE__*/function () {
+
+
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
diff --git a/plugins/MultiSites/vue/dist/MultiSites.umd.min.js b/plugins/MultiSites/vue/dist/MultiSites.umd.min.js
index 8cde6abe3d..e129b56c8d 100644
--- a/plugins/MultiSites/vue/dist/MultiSites.umd.min.js
+++ b/plugins/MultiSites/vue/dist/MultiSites.umd.min.js
@@ -1,14 +1,20 @@
-(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 i(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="plugins/MultiSites/vue/dist/",i(i.s="fae3")}({"19dc":function(t,i){t.exports=e},"8bbf":function(e,i){e.exports=t},b7b0:function(e,t){},fae3:function(e,t,i){"use strict";if(i.r(t),i.d(t,"MultisitesSite",(function(){return G})),i.d(t,"DashboadStore",(function(){return W})),"undefined"!==typeof window){var r=window.document.currentScript,n=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);n&&(i.p=n[1])}var a=i("19dc"),o=i("8bbf"),s={key:0,class:"multisites-label label"},l=["href"],c=["href","title"],u=Object(o["createElementVNode"])("span",{class:"icon icon-outlink"},null,-1),b=[u],p={key:1,class:"multisites-label label"},v={class:"value"},d={class:"multisites-column"},m={class:"value"},f={class:"multisites-column"},h={class:"value"},g={key:2,class:"multisites-column"},O={class:"value"},S=["title"],j={key:0,class:"visits value"},_=Object(o["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/arrow_up.png",alt:""},null,-1),w=Object(o["createTextVNode"])(),y={style:{color:"green"}},k=Object(o["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/stop.png",alt:""},null,-1),C=Object(o["createTextVNode"])(),M=Object(o["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/arrow_down.png",alt:""},null,-1),E=Object(o["createTextVNode"])(),N={style:{color:"red"}},V={key:4,style:{width:"180px"}},P={key:0,class:"sparkline",style:{width:"100px",margin:"auto"}},B=["href","title"],x=["src"];function A(e,t,i,r,n,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{class:Object(o["normalizeClass"])({groupedWebsite:e.website.group,website:!e.website.group,group:e.website.isGroup})},[e.website.isGroup?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",s,[Object(o["createElementVNode"])("a",{title:"View reports",class:"value truncated-text-line",href:e.dashboardUrl(e.website)},Object(o["toDisplayString"])(e.websiteLabel),9,l),Object(o["createElementVNode"])("span",null,[Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.website.main_url,title:e.translate("General_GoTo",e.website.main_url)},b,8,c)])])),e.website.isGroup?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",p,[Object(o["createElementVNode"])("span",v,Object(o["toDisplayString"])(e.websiteLabel),1)])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("td",d,[Object(o["createElementVNode"])("span",m,Object(o["toDisplayString"])(e.website.nb_visits),1)]),Object(o["createElementVNode"])("td",f,[Object(o["createElementVNode"])("span",h,Object(o["toDisplayString"])(e.website.nb_pageviews),1)]),e.displayRevenueColumn?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",g,[Object(o["createElementVNode"])("span",O,Object(o["toDisplayString"])(e.website.revenue),1)])):Object(o["createCommentVNode"])("",!0),"range"!==e.period?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",{key:3,class:"multisites-evolution",title:e.website.tooltip},[e.website.isGroup?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",j,[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,[_,w,Object(o["createElementVNode"])("span",y,Object(o["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[o["vShow"],1===e.website["".concat(e.evolutionMetric,"_trend")]]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,[k,C,Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[o["vShow"],0===e.website["".concat(e.evolutionMetric,"_trend")]]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,[M,E,Object(o["createElementVNode"])("span",N,Object(o["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[o["vShow"],-1===e.website["".concat(e.evolutionMetric,"_trend")]]])]))],8,S)):Object(o["createCommentVNode"])("",!0),e.showSparklines?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",V,[e.website.isGroup?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",P,[Object(o["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.dashboardUrl(e.website),title:e.translate("General_GoTo",e.translate("Dashboard_DashboardOf",e.websiteLabel))},[Object(o["createElementVNode"])("img",{alt:"",width:"100",height:"25",src:e.sparklineImage(e.website)},null,8,x)],8,B)]))])):Object(o["createCommentVNode"])("",!0)],2)}var D=Object(o["defineComponent"])({props:{website:{type:Object,required:!0},evolutionMetric:{type:String,required:!0},showSparklines:Boolean,dateSparkline:String,displayRevenueColumn:Boolean,metric:String},methods:{dashboardUrl:function(e){return"index.php?module=CoreHome&action=index&date=".concat(this.date,"&period=").concat(this.period)+"&idSite=".concat(e.idsite).concat(this.tokenParam)},sparklineImage:function(e){var t=this.metric;switch(this.evolutionMetric){case"visits_evolution":t="nb_visits";break;case"pageviews_evolution":t="nb_pageviews";break;case"revenue_evolution":t="revenue";break;default:break}return"index.php?module=MultiSites&action=getEvolutionGraph&period=".concat(this.period,"&date=")+"".concat(this.dateSparkline,"&evolutionBy=").concat(t,"&columns=").concat(t,"&idSite=").concat(e.idsite)+"&idsite=".concat(e.idsite,"&viewDataTable=sparkline").concat(this.tokenParam,"&colors=")+"".concat(encodeURIComponent(JSON.stringify(a["Matomo"].getSparklineColors())))}},computed:{tokenParam:function(){var e=a["MatomoUrl"].urlParsed.value.token_auth;return e.length?"&token_auth=".concat(e):""},period:function(){return a["Matomo"].period},date:function(){return a["MatomoUrl"].urlParsed.value.date},websiteLabel:function(){return a["Matomo"].helper.htmlDecode(this.website.label)}}}),T=i("b7b0"),I=i.n(T);D.render=A,"function"===typeof I.a&&I()(D);var G=D;
+(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 n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.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 a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));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/MultiSites/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},b7b0:function(e,t){},caf5:function(e,t){},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"MultisitesSite",(function(){return R})),n.d(t,"DashboadStore",(function(){return De})),n.d(t,"Dashboard",(function(){return Le})),"undefined"!==typeof window){var r=window.document.currentScript,a=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);a&&(n.p=a[1])}var o=n("19dc"),i=n("8bbf"),s={key:0,class:"multisites-label label"},l=["href"],c=["href","title"],u=Object(i["createElementVNode"])("span",{class:"icon icon-outlink"},null,-1),d=[u],b={key:1,class:"multisites-label label"},m={class:"value"},p={class:"multisites-column"},v={class:"value"},f={class:"multisites-column"},h={class:"value"},O={key:2,class:"multisites-column"},g={class:"value"},j=["title"],S={key:0,class:"visits value"},_=Object(i["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/arrow_up.png",alt:""},null,-1),y=Object(i["createTextVNode"])(),w={style:{color:"green"}},k=Object(i["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/stop.png",alt:""},null,-1),V=Object(i["createTextVNode"])(),N=Object(i["createElementVNode"])("img",{class:"multisites_icon",src:"plugins/MultiSites/images/arrow_down.png",alt:""},null,-1),E=Object(i["createTextVNode"])(),C={style:{color:"red"}},B={key:4,style:{width:"180px"}},M={key:0,class:"sparkline",style:{width:"100px",margin:"auto"}},P=["href","title"],T=["src"];function A(e,t,n,r,a,o){return Object(i["openBlock"])(),Object(i["createElementBlock"])("tr",{class:Object(i["normalizeClass"])({groupedWebsite:e.website.group,website:!e.website.group,group:e.website.isGroup})},[e.website.isGroup?Object(i["createCommentVNode"])("",!0):(Object(i["openBlock"])(),Object(i["createElementBlock"])("td",s,[Object(i["createElementVNode"])("a",{title:"View reports",class:"value truncated-text-line",href:e.dashboardUrl(e.website)},Object(i["toDisplayString"])(e.websiteLabel),9,l),Object(i["createElementVNode"])("span",null,[Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.website.main_url,title:e.translate("General_GoTo",e.website.main_url)},d,8,c)])])),e.website.isGroup?(Object(i["openBlock"])(),Object(i["createElementBlock"])("td",b,[Object(i["createElementVNode"])("span",m,Object(i["toDisplayString"])(e.websiteLabel),1)])):Object(i["createCommentVNode"])("",!0),Object(i["createElementVNode"])("td",p,[Object(i["createElementVNode"])("span",v,Object(i["toDisplayString"])(e.website.nb_visits),1)]),Object(i["createElementVNode"])("td",f,[Object(i["createElementVNode"])("span",h,Object(i["toDisplayString"])(e.website.nb_pageviews),1)]),e.displayRevenueColumn?(Object(i["openBlock"])(),Object(i["createElementBlock"])("td",O,[Object(i["createElementVNode"])("span",g,Object(i["toDisplayString"])(e.website.revenue),1)])):Object(i["createCommentVNode"])("",!0),"range"!==e.period?(Object(i["openBlock"])(),Object(i["createElementBlock"])("td",{key:3,class:"multisites-evolution",title:e.website.tooltip},[e.website.isGroup?Object(i["createCommentVNode"])("",!0):(Object(i["openBlock"])(),Object(i["createElementBlock"])("div",S,[Object(i["withDirectives"])(Object(i["createElementVNode"])("span",null,[_,y,Object(i["createElementVNode"])("span",w,Object(i["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[i["vShow"],1===e.website["".concat(e.evolutionMetric,"_trend")]]]),Object(i["withDirectives"])(Object(i["createElementVNode"])("span",null,[k,V,Object(i["createElementVNode"])("span",null,Object(i["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[i["vShow"],0===e.website["".concat(e.evolutionMetric,"_trend")]]]),Object(i["withDirectives"])(Object(i["createElementVNode"])("span",null,[N,E,Object(i["createElementVNode"])("span",C,Object(i["toDisplayString"])(e.website[e.evolutionMetric]),1)],512),[[i["vShow"],-1===e.website["".concat(e.evolutionMetric,"_trend")]]])]))],8,j)):Object(i["createCommentVNode"])("",!0),e.showSparklines?(Object(i["openBlock"])(),Object(i["createElementBlock"])("td",B,[e.website.isGroup?Object(i["createCommentVNode"])("",!0):(Object(i["openBlock"])(),Object(i["createElementBlock"])("div",M,[Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.dashboardUrl(e.website),title:e.translate("General_GoTo",e.translate("Dashboard_DashboardOf",e.websiteLabel))},[Object(i["createElementVNode"])("img",{alt:"",width:"100",height:"25",src:e.sparklineImage(e.website)},null,8,T)],8,P)]))])):Object(i["createCommentVNode"])("",!0)],2)}var D=Object(i["defineComponent"])({props:{website:{type:Object,required:!0},evolutionMetric:{type:String,required:!0},showSparklines:Boolean,dateSparkline:String,displayRevenueColumn:Boolean,metric:String},methods:{dashboardUrl:function(e){return"index.php?module=CoreHome&action=index&date=".concat(this.date,"&period=").concat(this.period)+"&idSite=".concat(e.idsite).concat(this.tokenParam)},sparklineImage:function(e){var t=this.metric;switch(this.evolutionMetric){case"visits_evolution":t="nb_visits";break;case"pageviews_evolution":t="nb_pageviews";break;case"revenue_evolution":t="revenue";break;default:break}return"index.php?module=MultiSites&action=getEvolutionGraph&period=".concat(this.period,"&date=")+"".concat(this.dateSparkline,"&evolutionBy=").concat(t,"&columns=").concat(t,"&idSite=").concat(e.idsite)+"&idsite=".concat(e.idsite,"&viewDataTable=sparkline").concat(this.tokenParam,"&colors=")+"".concat(encodeURIComponent(JSON.stringify(o["Matomo"].getSparklineColors())))}},computed:{tokenParam:function(){var e=o["MatomoUrl"].urlParsed.value.token_auth;return e.length?"&token_auth=".concat(e):""},period:function(){return o["Matomo"].period},date:function(){return o["MatomoUrl"].urlParsed.value.date},websiteLabel:function(){return o["Matomo"].helper.htmlDecode(this.website.label)}}}),x=n("b7b0"),G=n.n(x);D.render=A,"function"===typeof G.a&&G()(D);var R=D,L=(Object(o["createAngularJsAdapter"])({component:R,scope:{website:{angularJsBind:"="},evolutionMetric:{angularJsBind:"="},showSparklines:{angularJsBind:"="},dateSparkline:{angularJsBind:"="},displayRevenueColumn:{angularJsBind:"="},metric:{angularJsBind:"="}},directiveName:"piwikMultisitesSite"}),{class:"card-title"}),I=["innerHTML","title"],z={id:"mt",class:"dataTable card-table",cellspacing:"0"},U={class:"heading"},J={class:"heading"},H={class:"heading"},F={class:"heading"},q=["colspan"],W=["value"],K={value:"visits_evolution"},$={value:"pageviews_evolution"},Y={key:0,value:"revenue_evolution"},Q={key:0},X={colspan:"7",class:"allWebsitesLoading"},Z={key:1},ee={key:0},te={colspan:"7"},ne={class:"notification system notification-error"},re=Object(i["createElementVNode"])("br",null,null,-1),ae=Object(i["createElementVNode"])("br",null,null,-1),oe={rel:"noreferrer noopener",target:"_blank",href:"https://matomo.org/faq/troubleshooting/faq_19489/"},ie=Object(i["createTextVNode"])(" – "),se={rel:"noreferrer noopener",target:"_blank",href:"https://forum.matomo.org/"},le=["href"],ce=Object(i["createTextVNode"])(". "),ue={colspan:"8",class:"paging"},de={class:"row"},be={class:"col s3 add_new_site"},me={key:0,href:"addSiteUrl"},pe=Object(i["createElementVNode"])("span",{class:"icon-add"},null,-1),ve={class:"col s6"},fe={style:{cursor:"pointer"}},he={class:"dataTablePages"},Oe={id:"counter"},ge={style:{cursor:"pointer"},class:"pointer"},je=Object(i["createElementVNode"])("div",{class:"col s3"},"&nbsp;",-1),Se={row_id:"last"},_e={colspan:"8",class:"site_search"},ye={class:"row"},we={class:"input-field col s12"},ke=["placeholder"],Ve=["title"];
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */Object(a["createAngularJsAdapter"])({component:G,scope:{website:{angularJsBind:"="},evolutionMetric:{angularJsBind:"="},showSparklines:{angularJsBind:"="},dateSparkline:{angularJsBind:"="},displayRevenueColumn:{angularJsBind:"="},metric:{angularJsBind:"="}},directiveName:"piwikMultisitesSite"});function L(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function R(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function J(e,t,i){return t&&R(e.prototype,t),i&&R(e,i),e}function U(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}
+ */function Ne(e,t,n,r,a,o){var s=this,l=Object(i["resolveComponent"])("EnrichedHeadline"),c=Object(i["resolveComponent"])("ActivityIndicator"),u=Object(i["resolveComponent"])("MultisitesSite");return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",null,[Object(i["createElementVNode"])("h2",L,[Object(i["createVNode"])(l,{"help-url":"https://matomo.org/docs/manage-websites/#all-websites-dashboard","feature-name":e.translate("General_AllWebsitesDashboard")},{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.translate("General_AllWebsitesDashboard"))+" ",1),Object(i["createElementVNode"])("span",{class:"smallTitle",innerHTML:e.$sanitize(s.smallTitleContent),title:e.smallTitleTooltip},null,8,I)]})),_:1},8,["feature-name"])]),Object(i["createElementVNode"])("table",z,[Object(i["createElementVNode"])("thead",null,[Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("th",{id:"names",class:Object(i["normalizeClass"])(["label",{columnSorted:"label"===e.sortColumn}]),onClick:t[0]||(t[0]=function(t){return e.sortBy("label")})},[Object(i["createElementVNode"])("span",U,Object(i["toDisplayString"])(e.translate("General_Website")),1),Object(i["createElementVNode"])("span",{class:Object(i["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"label"===e.sortColumn,multisites_desc:e.reverse&&"label"===e.sortColumn}])},null,2)],2),Object(i["createElementVNode"])("th",{id:"visits",class:Object(i["normalizeClass"])(["multisites-column",{columnSorted:"nb_visits"===e.sortColumn}]),onClick:t[1]||(t[1]=function(t){return e.sortBy("nb_visits")})},[Object(i["createElementVNode"])("span",{class:Object(i["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_visits"===e.sortColumn,multisites_desc:e.reverse&&"nb_visits"===e.sortColumn}])},null,2),Object(i["createElementVNode"])("span",J,Object(i["toDisplayString"])(e.translate("General_ColumnNbVisits")),1)],2),Object(i["createElementVNode"])("th",{id:"pageviews",class:Object(i["normalizeClass"])(["multisites-column",{columnSorted:"nb_pageviews"===e.sortColumn}]),onClick:t[2]||(t[2]=function(t){return e.sortBy("nb_pageviews")})},[Object(i["createElementVNode"])("span",{class:Object(i["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"nb_pageviews"===e.sortColumn,multisites_desc:e.reverse&&"nb_pageviews"===e.sortColumn}])},null,2),Object(i["createElementVNode"])("span",H,Object(i["toDisplayString"])(e.translate("General_ColumnPageviews")),1)],2),e.displayRevenueColumn?(Object(i["openBlock"])(),Object(i["createElementBlock"])("th",{key:0,id:"revenue",class:Object(i["normalizeClass"])(["multisites-column",{columnSorted:"revenue"===e.sortColumn}]),onClick:t[3]||(t[3]=function(t){return e.sortBy("revenue")})},[Object(i["createElementVNode"])("span",{class:Object(i["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&"revenue"===e.sortColumn,multisites_desc:e.reverse&&"revenue"===e.sortColumn}])},null,2),Object(i["createElementVNode"])("span",F,Object(i["toDisplayString"])(e.translate("General_ColumnRevenue")),1)],2)):Object(i["createCommentVNode"])("",!0),Object(i["createElementVNode"])("th",{id:"evolution",class:Object(i["normalizeClass"])({columnSorted:e.evolutionSelector===e.sortColumn}),colspan:e.showSparklines?2:1},[Object(i["createElementVNode"])("span",{class:Object(i["normalizeClass"])(["arrow",{multisites_asc:!e.reverse&&e.evolutionSelector===e.sortColumn,multisites_desc:e.reverse&&e.evolutionSelector===e.sortColumn}])},null,2),Object(i["createElementVNode"])("span",{class:"evolution",onClick:t[4]||(t[4]=function(t){return e.sortBy(e.evolutionSelector)})},Object(i["toDisplayString"])(e.translate("MultiSites_Evolution")),1),Object(i["createElementVNode"])("select",{class:"selector browser-default",id:"evolution_selector",value:e.evolutionSelector,onChange:t[5]||(t[5]=function(t){e.evolutionSelector=t.target.value,e.sortBy(e.evolutionSelector)})},[Object(i["createElementVNode"])("option",K,Object(i["toDisplayString"])(e.translate("General_ColumnNbVisits")),1),Object(i["createElementVNode"])("option",$,Object(i["toDisplayString"])(e.translate("General_ColumnPageviews")),1),e.displayRevenueColumn?(Object(i["openBlock"])(),Object(i["createElementBlock"])("option",Y,Object(i["toDisplayString"])(e.translate("General_ColumnRevenue")),1)):Object(i["createCommentVNode"])("",!0)],40,W)],10,q)])]),e.isLoading?(Object(i["openBlock"])(),Object(i["createElementBlock"])("tbody",Q,[Object(i["createElementVNode"])("tr",null,[Object(i["createElementVNode"])("td",X,[Object(i["createVNode"])(c,{"loading-message":e.loadingMessage,loading:e.isLoading},null,8,["loading-message","loading"])])])])):Object(i["createCommentVNode"])("",!0),e.isLoading?Object(i["createCommentVNode"])("",!0):(Object(i["openBlock"])(),Object(i["createElementBlock"])("tbody",Z,[e.errorLoadingSites?(Object(i["openBlock"])(),Object(i["createElementBlock"])("tr",ee,[Object(i["createElementVNode"])("td",te,[Object(i["createElementVNode"])("div",ne,[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.translate("General_ErrorRequest","",""))+" ",1),re,ae,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("General_NeedMoreHelp"))+" ",1),Object(i["createElementVNode"])("a",oe,Object(i["toDisplayString"])(e.translate("General_Faq")),1),ie,Object(i["createElementVNode"])("a",se,Object(i["toDisplayString"])(e.translate("Feedback_CommunityHelp")),1),Object(i["withDirectives"])(Object(i["createElementVNode"])("span",null," – ",512),[[i["vShow"],e.areAdsForProfessionalServicesEnabled]]),Object(i["withDirectives"])(Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.professionalHelpUrl},Object(i["toDisplayString"])(e.translate("Feedback_ProfessionalHelp")),9,le),[[i["vShow"],e.areAdsForProfessionalServicesEnabled]]),ce])])])):Object(i["createCommentVNode"])("",!0),Object(i["createElementVNode"])("tr",null,[(Object(i["openBlock"])(!0),Object(i["createElementBlock"])(i["Fragment"],null,Object(i["renderList"])(e.sites,(function(t){return Object(i["openBlock"])(),Object(i["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(i["createElementVNode"])("tfoot",null,[Object(i["createElementVNode"])("tr",null,[Object(i["withDirectives"])(Object(i["createElementVNode"])("td",ue,[Object(i["createElementVNode"])("div",de,[Object(i["createElementVNode"])("div",be,[e.hasSuperUserAccess?(Object(i["openBlock"])(),Object(i["createElementBlock"])("a",me,[pe,Object(i["createTextVNode"])(" "+Object(i["toDisplayString"])(e.translate("SitesManager_AddSite")),1)])):Object(i["createCommentVNode"])("",!0)]),Object(i["createElementVNode"])("div",ve,[Object(i["withDirectives"])(Object(i["createElementVNode"])("span",{id:"prev",class:"previous dataTablePrevious",onClick:t[6]||(t[6]=function(t){return e.previousPage()})},[Object(i["createElementVNode"])("span",fe,"« "+Object(i["toDisplayString"])(e.translate("General_Previous")),1)],512),[[i["vShow"],!(0===e.currentPage)]]),Object(i["createElementVNode"])("span",he,[Object(i["createElementVNode"])("span",Oe,Object(i["toDisplayString"])(e.translate("General_Pagination",e.paginationLowerBound,e.paginationUpperBound,e.numberOfFilteredSites)),1)]),Object(i["withDirectives"])(Object(i["createElementVNode"])("span",{id:"next",class:"next dataTableNext",onClick:t[7]||(t[7]=function(t){return e.nextPage()})},[Object(i["createElementVNode"])("span",ge,Object(i["toDisplayString"])(e.translate("General_Next"))+" »",1)],512),[[i["vShow"],!(e.currentPage>=e.numberOfPages)]])]),je])],512),[[i["vShow"],!(e.numberOfPages<=1)]])]),Object(i["createElementVNode"])("tr",Se,[Object(i["createElementVNode"])("td",_e,[Object(i["createElementVNode"])("div",ye,[Object(i["createElementVNode"])("div",we,[Object(i["withDirectives"])(Object(i["createElementVNode"])("input",{type:"text",onKeydown:t[8]||(t[8]=Object(i["withKeys"])((function(t){return e.searchSite(e.searchTerm)}),["enter"])),"onUpdate:modelValue":t[9]||(t[9]=function(t){return e.searchTerm=t}),placeholder:e.translate("Actions_SubmenuSitesearch")},null,40,ke),[[i["vModelText"],e.searchTerm]]),Object(i["createElementVNode"])("span",{class:"icon-search search_ico",onClick:t[10]||(t[10]=function(t){return e.searchSite(e.searchTerm)}),title:e.translate("General_ClickToSearch")},null,8,Ve)])])])])])])])}function Ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ce(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Be(e,t,n){return t&&Ce(e.prototype,t),n&&Ce(e,n),e}function Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */var q=window,z=q.NumberFormatter,H=function(){function e(){var t=this;L(this,e),U(this,"privateState",Object(o["reactive"])({sites:[],isLoading:!1,pageSize:25,currentPage:0,totalVisits:"?",totalPageviews:"?",totalActions:"?",totalRevenue:"?",searchTerm:"",lastVisits:"?",lastVisitsDate:"?",numberOfSites:0,loadingMessage:Object(a["translate"])("MultiSites_LoadingWebsites"),reverse:!0,sortColumn:"nb_visits",refreshInterval:0,errorLoadingSites:!1})),U(this,"refreshTimeout",null),U(this,"fetchAbort",null),U(this,"state",Object(o["computed"])((function(){return Object(o["readonly"])(t.privateState)}))),U(this,"numberOfFilteredSites",Object(o["computed"])((function(){return t.state.value.numberOfSites}))),U(this,"numberOfPages",Object(o["computed"])((function(){return Math.ceil(t.numberOfFilteredSites.value/t.state.value.pageSize-1)}))),U(this,"currentPagingOffset",Object(o["computed"])((function(){return Math.ceil(t.state.value.currentPage*t.state.value.pageSize)}))),U(this,"paginationLowerBound",Object(o["computed"])((function(){return t.currentPagingOffset.value+1}))),U(this,"paginationUpperBound",Object(o["computed"])((function(){var e=t.currentPagingOffset.value+t.state.value.pageSize,i=t.numberOfFilteredSites.value;return e>i&&(e=i),e})))}return J(e,[{key:"cancelRefereshInterval",value:function(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null)}},{key:"updateWebsitesList",value:function(e){var t=this;if(e){var i=e.sites;i.forEach((function(e){if(1!==e.ratio&&"1"!==e.ratio){var i=z.formatPercent(Math.round(100*parseInt(e.ratio,10))),r=null,n="0",o="0",s="0",l="0";if("nb_visits"!==t.state.value.sortColumn&&"visits_evolution"!==t.state.value.sortColumn||(n=z.formatNumber(e.previous_nb_visits),o=z.formatNumber(e.nb_visits),s=z.formatPercent(e.visits_evolution),r=Object(a["translate"])("General_ColumnNbVisits"),l=z.formatNumber(Math.round(parseInt(e.previous_nb_visits,10)*parseInt(e.ratio,10)))),"pageviews_evolution"===t.state.value.sortColumn&&(n="".concat(e.previous_Actions_nb_pageviews),o="".concat(e.nb_pageviews),s=z.formatPercent(e.pageviews_evolution),r=Object(a["translate"])("General_ColumnPageviews"),l=z.formatNumber(Math.round(parseInt(e.previous_Actions_nb_pageviews,10)*parseInt(e.ratio,10)))),"revenue_evolution"===t.state.value.sortColumn&&(n=z.formatCurrency(e.previous_Goal_revenue,e.currencySymbol),o=z.formatCurrency(e.revenue,e.currencySymbol),s=z.formatPercent(e.revenue_evolution),r=Object(a["translate"])("General_ColumnRevenue"),l=z.formatCurrency(Math.round(parseInt(e.previous_Goal_revenue,10)*parseInt(e.ratio,10)),e.currencySymbol)),r)switch(e.tooltip="".concat(Object(a["translate"])("MultiSites_EvolutionComparisonIncomplete",[i]),"\n"),e.tooltip+="".concat(Object(a["translate"])("MultiSites_EvolutionComparisonProportional",[i,"".concat(l),r,"".concat(n)]),"\n"),e.periodName){case"day":e.tooltip+=Object(a["translate"])("MultiSites_EvolutionComparisonDay",["".concat(o),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"week":e.tooltip+=Object(a["translate"])("MultiSites_EvolutionComparisonWeek",["".concat(o),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"month":e.tooltip+=Object(a["translate"])("MultiSites_EvolutionComparisonMonth",["".concat(o),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"year":e.tooltip+=Object(a["translate"])("MultiSites_EvolutionComparisonYear",["".concat(o),r,"".concat(l),e.previousRange,"".concat(s)]);break;default:break}}})),this.privateState.totalVisits=e.totals.nb_visits,this.privateState.totalPageviews=e.totals.nb_pageviews,this.privateState.totalActions=e.totals.nb_actions,this.privateState.totalRevenue=e.totals.revenue,this.privateState.lastVisits=e.totals.nb_visits_lastdate,this.privateState.sites=i,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={module:"MultiSites",action:"getAllWithGroups",hideMetricsDoc:"1",filter_sort_order:"asc",filter_limit:this.state.value.pageSize,filter_offset:this.currentPagingOffset.value,showColumns:["label","nb_visits","nb_pageviews","visits_evolution","visits_evolution_trend","pageviews_evolution","pageviews_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,a["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=[]}}]),e}(),W=new H}})}));
+ */var Pe=window,Te=Pe.NumberFormatter,Ae=function(){function e(){var t=this;Ee(this,e),Me(this,"privateState",Object(i["reactive"])({sites:[],isLoading:!1,pageSize:25,currentPage:0,totalVisits:"?",totalPageviews:"?",totalActions:"?",totalRevenue:"?",searchTerm:"",lastVisits:"?",lastVisitsDate:"?",numberOfSites:0,loadingMessage:Object(o["translate"])("MultiSites_LoadingWebsites"),reverse:!0,sortColumn:"nb_visits",refreshInterval:0,errorLoadingSites:!1})),Me(this,"refreshTimeout",null),Me(this,"fetchAbort",null),Me(this,"state",Object(i["computed"])((function(){return Object(i["readonly"])(t.privateState)}))),Me(this,"numberOfFilteredSites",Object(i["computed"])((function(){return t.state.value.numberOfSites}))),Me(this,"numberOfPages",Object(i["computed"])((function(){return Math.ceil(t.numberOfFilteredSites.value/t.state.value.pageSize-1)}))),Me(this,"currentPagingOffset",Object(i["computed"])((function(){return Math.ceil(t.state.value.currentPage*t.state.value.pageSize)}))),Me(this,"paginationLowerBound",Object(i["computed"])((function(){return t.currentPagingOffset.value+1}))),Me(this,"paginationUpperBound",Object(i["computed"])((function(){var e=t.currentPagingOffset.value+t.state.value.pageSize,n=t.numberOfFilteredSites.value;return e>n&&(e=n),e})))}return Be(e,[{key:"cancelRefereshInterval",value:function(){this.refreshTimeout&&(clearTimeout(this.refreshTimeout),this.refreshTimeout=null)}},{key:"updateWebsitesList",value:function(e){var t=this;if(e){var n=e.sites;n.forEach((function(e){if(1!==e.ratio&&"1"!==e.ratio){var n=Te.formatPercent(Math.round(100*parseInt(e.ratio,10))),r=null,a="0",i="0",s="0",l="0";if("nb_visits"!==t.state.value.sortColumn&&"visits_evolution"!==t.state.value.sortColumn||(a=Te.formatNumber(e.previous_nb_visits),i=Te.formatNumber(e.nb_visits),s=Te.formatPercent(e.visits_evolution),r=Object(o["translate"])("General_ColumnNbVisits"),l=Te.formatNumber(Math.round(parseInt(e.previous_nb_visits,10)*parseInt(e.ratio,10)))),"pageviews_evolution"===t.state.value.sortColumn&&(a="".concat(e.previous_Actions_nb_pageviews),i="".concat(e.nb_pageviews),s=Te.formatPercent(e.pageviews_evolution),r=Object(o["translate"])("General_ColumnPageviews"),l=Te.formatNumber(Math.round(parseInt(e.previous_Actions_nb_pageviews,10)*parseInt(e.ratio,10)))),"revenue_evolution"===t.state.value.sortColumn&&(a=Te.formatCurrency(e.previous_Goal_revenue,e.currencySymbol),i=Te.formatCurrency(e.revenue,e.currencySymbol),s=Te.formatPercent(e.revenue_evolution),r=Object(o["translate"])("General_ColumnRevenue"),l=Te.formatCurrency(Math.round(parseInt(e.previous_Goal_revenue,10)*parseInt(e.ratio,10)),e.currencySymbol)),r)switch(e.tooltip="".concat(Object(o["translate"])("MultiSites_EvolutionComparisonIncomplete",[n]),"\n"),e.tooltip+="".concat(Object(o["translate"])("MultiSites_EvolutionComparisonProportional",[n,"".concat(l),r,"".concat(a)]),"\n"),e.periodName){case"day":e.tooltip+=Object(o["translate"])("MultiSites_EvolutionComparisonDay",["".concat(i),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"week":e.tooltip+=Object(o["translate"])("MultiSites_EvolutionComparisonWeek",["".concat(i),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"month":e.tooltip+=Object(o["translate"])("MultiSites_EvolutionComparisonMonth",["".concat(i),r,"".concat(l),e.previousRange,"".concat(s)]);break;case"year":e.tooltip+=Object(o["translate"])("MultiSites_EvolutionComparisonYear",["".concat(i),r,"".concat(l),e.previousRange,"".concat(s)]);break;default:break}}})),this.privateState.totalVisits=e.totals.nb_visits,this.privateState.totalPageviews=e.totals.nb_pageviews,this.privateState.totalActions=e.totals.nb_actions,this.privateState.totalRevenue=e.totals.revenue,this.privateState.lastVisits=e.totals.nb_visits_lastdate,this.privateState.sites=n,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={module:"MultiSites",action:"getAllWithGroups",hideMetricsDoc:"1",filter_sort_order:"asc",filter_limit:this.state.value.pageSize,filter_offset:this.currentPagingOffset.value,showColumns:["label","nb_visits","nb_pageviews","visits_evolution","visits_evolution_trend","pageviews_evolution","pageviews_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,o["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}(),De=new Ae,xe=Object(i["defineComponent"])({props:{displayRevenueColumn:Boolean,showSparklines:Boolean,dateSparkline:String,pageSize:Number,autoRefreshTodayReport:Number},components:{EnrichedHeadline:o["EnrichedHeadline"],ActivityIndicator:o["ActivityIndicator"],MultisitesSite:R},data:function(){return{evolutionSelector:"visits_evolution",searchTerm:""}},created:function(){this.pageSize&&De.setPageSize(this.pageSize),this.refresh(this.autoRefreshTodayReport)},methods:{refresh:function(e){De.setRefreshInterval(e),De.fetchAllSites()},sortBy:function(e){De.sortBy(e)},previousPage:function(){De.previousPage()},nextPage:function(){De.nextPage()},searchSite:function(){De.searchSite(this.searchTerm)}},computed:{hasSuperUserAccess:function(){return o["Matomo"].hasSuperUserAccess},date:function(){return o["MatomoUrl"].urlParsed.value.date},idSite:function(){return o["MatomoUrl"].urlParsed.value.idSite},url:function(){return o["Matomo"].piwik_url},period:function(){return o["Matomo"].period},areAdsForProfessionalServicesEnabled:function(){return o["Matomo"].config&&o["Matomo"].config.are_ads_enabled},sortColumn:function(){return De.state.value.sortColumn},reverse:function(){return De.state.value.reverse},smallTitleContent:function(){var e=De.state.value;return Object(o["translate"])("General_TotalVisitsPageviewsActionsRevenue","<strong>".concat(e.totalVisits,"</strong>"),"<strong>".concat(e.totalPageviews,"</strong>"),"<strong>".concat(e.totalActions,"</strong>"),"<strong>".concat(e.totalRevenue,"</strong>"))},smallTitleTooltip:function(){var e=De.state.value;return Object(o["translate"])("General_EvolutionSummaryGeneric",Object(o["translate"])("General_NVisits","".concat(e.totalVisits)),this.date,"".concat(e.lastVisits),e.lastVisitsDate,Object(o["getFormattedEvolution"])(e.totalVisits,e.lastVisits))},loadingMessage:function(){return De.state.value.loadingMessage},isLoading:function(){return De.state.value.isLoading},errorLoadingSites:function(){return De.state.value.errorLoadingSites},sites:function(){return De.state.value.sites},numberOfPages:function(){return De.numberOfPages.value},currentPage:function(){return De.state.value.currentPage},paginationLowerBound:function(){return De.paginationLowerBound.value},paginationUpperBound:function(){return De.paginationUpperBound.value},numberOfFilteredSites:function(){return De.numberOfFilteredSites.value},professionalHelpUrl:function(){return"https://matomo.org/support-plans/?pk_campaign=Help&pk_medium=AjaxError&pk_content=MultiSites&pk_source=Matomo_App"},addSiteUrl:function(){return"index.php?module=SitesManager&action=index&showaddsite=1&period=".concat(this.period,"&")+"date=".concat(this.date,"&idSite=").concat(this.idSite)}}}),Ge=n("caf5"),Re=n.n(Ge);xe.render=Ne,"function"===typeof Re.a&&Re()(xe);var Le=xe;
+/*!
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */Object(o["createAngularJsAdapter"])({component:Le,scope:{displayRevenueColumn:{angularJsBind:"@",transform:o["transformAngularJsBoolAttr"]},showSparklines:{angularJsBind:"@",transform:o["transformAngularJsBoolAttr"]},dateSparkline:{angularJsBind:"@"},pageSize:{angularJsBind:"@",transform:o["transformAngularJsIntAttr"]},autoRefreshTodayReport:{angularJsBind:"@",transform:o["transformAngularJsIntAttr"]}},directiveName:"piwikMultisitesDashboard"})}})}));
//# sourceMappingURL=MultiSites.umd.min.js.map \ No newline at end of file
diff --git a/plugins/MultiSites/vue/src/Dashboard/Dashboard.adapter.ts b/plugins/MultiSites/vue/src/Dashboard/Dashboard.adapter.ts
new file mode 100644
index 0000000000..5db60f3d24
--- /dev/null
+++ b/plugins/MultiSites/vue/src/Dashboard/Dashboard.adapter.ts
@@ -0,0 +1,39 @@
+/*!
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+import {
+ createAngularJsAdapter,
+ transformAngularJsBoolAttr,
+ transformAngularJsIntAttr,
+} from 'CoreHome';
+import Dashboard from './Dashboard.vue';
+
+export default createAngularJsAdapter({
+ component: Dashboard,
+ scope: {
+ displayRevenueColumn: {
+ angularJsBind: '@',
+ transform: transformAngularJsBoolAttr,
+ },
+ showSparklines: {
+ angularJsBind: '@',
+ transform: transformAngularJsBoolAttr,
+ },
+ dateSparkline: {
+ angularJsBind: '@',
+ },
+ pageSize: {
+ angularJsBind: '@',
+ transform: transformAngularJsIntAttr,
+ },
+ autoRefreshTodayReport: {
+ angularJsBind: '@',
+ transform: transformAngularJsIntAttr,
+ },
+ },
+ directiveName: 'piwikMultisitesDashboard',
+});
diff --git a/plugins/MultiSites/vue/src/Dashboard/Dashboard.less b/plugins/MultiSites/vue/src/Dashboard/Dashboard.less
new file mode 100644
index 0000000000..37d05ce83a
--- /dev/null
+++ b/plugins/MultiSites/vue/src/Dashboard/Dashboard.less
@@ -0,0 +1,292 @@
+
+.smallTitle {
+ font-size: 15px;
+}
+
+.widget {
+ #multisites {
+ padding: 15px;
+ }
+}
+
+#mt {
+ table.dataTable td.label img {
+ margin-top: -8px;
+ }
+}
+
+#multisites {
+
+ > .col {
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .notification-error {
+ margin-top: 15px;
+ a {
+ text-decoration: underline !important;
+ }
+ }
+
+ .add_new_site {
+ border: 0 !important;
+ font-size: 13px;
+ text-align: left;
+ padding-left: 27px;
+
+ a {
+ color: @theme-color-text;
+ &:hover {
+ text-decoration: underline !important;
+ }
+ }
+ }
+
+ .clean {
+ border: 0 !important;
+ text-align: right;
+ padding-right:10px;
+ padding-top: 19px;
+ padding-bottom: 5px;
+ }
+
+ @media print{
+ .add_new_site{
+ display: none;
+ }
+
+ .row .col.s6{
+ width: 100%;
+ }
+
+ .row .col.s3{
+ display: none;
+ }
+
+ }
+
+ .site_search {
+ padding: 0;
+ text-align: center;
+ border: 0 !important;
+ @media print{
+ display: none;
+ }
+ }
+
+ .multisites-evolution,
+ .multisites-column {
+ text-align: right;
+ }
+
+ .multisites-evolution {
+ width:170px;
+ }
+
+ td, tr, .sparkline {
+ text-align: center;
+ vertical-align: middle;
+ }
+
+ td.empty-row {
+ border-bottom: none !important;
+ }
+
+ .paging {
+ padding: 5px;
+ border-bottom: 0 !important;
+
+ .row {
+ margin-top: 16px;
+ }
+
+ .previous {
+ visibility: visible;
+ }
+ .next {
+ visibility: visible;
+ }
+ }
+
+ th:first-child {
+ text-align:left;
+ padding-left: 32px;
+ }
+
+ th {
+ cursor: pointer;
+ text-align: right;
+ padding-right: 0 !important;
+
+ &#evolution {
+ text-align: center;
+ }
+
+ &.columnSorted {
+ font-weight: normal !important;
+ }
+ }
+
+ .site_search input {
+ margin-right: 0;
+ margin-left: 25px;
+ padding-right: 25px;
+ width: 250px;
+ height: 3rem;
+ padding-left: 5px;
+ }
+
+ .site_search {
+ label {
+ position: static;
+ }
+ .row,.input-field {
+ margin-bottom: 0;
+ }
+ }
+
+ .search_ico {
+ position: relative;
+ left: -30px;
+ top: 1px;
+ cursor: pointer;
+ font-size: 16px;
+ }
+ .reset {
+ position: relative;
+ left: -25px;
+ cursor: pointer;
+ margin-right: 0;
+ }
+
+ tr.group {
+ font-weight: bold;
+ height: 30px;
+ }
+ tr.groupedWebsite .label {
+ padding-left: 50px;
+ }
+ td.multisites-label {
+ text-align: left;
+ width: 250px;
+ max-width: 250px;
+ padding-left: 32px;
+
+ a {
+ width: auto;
+ float: left;
+ padding-right: 0.5em;
+ }
+ }
+ td.multisites-label a:hover {
+ text-decoration: underline;
+ }
+
+ td.multisites-column,
+ th.multisites-column {
+ width: 70px;
+ white-space: nowrap;
+ }
+
+ td.multisites-column-evolution,
+ th.multisites-column-evolution {
+ width: 70px;
+ }
+
+ th#evolution {
+ width:350px;
+ }
+
+ th#visits {
+ width: 100px;
+ }
+
+ th#pageviews {
+ width: 110px;
+ }
+
+ th#revenue {
+ width: 110px;
+ }
+
+ .evolution {
+ cursor:pointer;
+ }
+
+ .allWebsitesLoading {
+ padding:20px
+ }
+
+ .heading {
+ display: inline;
+ margin-top: 4px;
+ }
+
+ #evolution_selector {
+ height: 28px;
+ margin: -9px 0 0 5px;
+ width: 80px;
+ display: inline-block;
+ }
+
+ .label .arrow {
+ margin-left: 2px;
+ }
+
+ .multisites_asc,
+ .multisites_desc {
+ float: none;
+ display: inline-block;
+ vertical-align: top;
+ margin: 0;
+ margin-left: 6px;
+ margin-top: -1px;
+ }
+
+ #evolution {
+ .multisites_asc,
+ .multisites_desc {
+ margin-right: 6px;
+ margin-left: 0;
+ }
+ .evolution {
+ vertical-align: top;
+ }
+ }
+
+ .multisites_asc {
+ margin-top: -7px;
+ vertical-align: top;
+ }
+
+ .multisites_desc:after {
+ content: " \25BC";
+ font-size: 1px;
+ color: @theme-color-brand;
+ border-left: 4px solid rgba(0, 0, 0, 0);
+ border-right: 4px solid rgba(0, 0, 0, 0);
+ border-top: 5px solid @theme-color-brand;
+ }
+ .multisites_asc:after {
+ content: " \25BC";
+ font-size: 1px;
+ color: @theme-color-brand;
+ border-left: 4px solid rgba(0, 0, 0, 0);
+ border-right: 4px solid rgba(0, 0, 0, 0);
+ border-bottom: 5px solid @theme-color-brand;
+ }
+
+ .multisites_icon {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ div.sparkline {
+ float:none;
+ }
+
+ tfoot td {
+ border-bottom: 0;
+ }
+}
diff --git a/plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts b/plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts
index fabfff4220..2b9080a00c 100644
--- a/plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts
+++ b/plugins/MultiSites/vue/src/Dashboard/Dashboard.store.ts
@@ -5,16 +5,10 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-// TODO:
-// - state property types
-// - method signatures
-// - method code
-
import {
reactive,
computed,
readonly,
- DeepReadonly,
} from 'vue';
import {
AjaxHelper,
@@ -65,7 +59,7 @@ interface DashboardStoreState {
loadingMessage: string;
reverse: boolean;
sortColumn: string;
- refreshInterval: number;
+ refreshInterval?: number;
errorLoadingSites: boolean;
}
@@ -343,7 +337,7 @@ class DashboardStore {
this.refreshTimeout = setTimeout(() => {
this.refreshTimeout = null;
this.fetchAllSites();
- }, this.state.value.refreshInterval * 1000);
+ }, this.state.value.refreshInterval! * 1000);
}
});
}
@@ -352,6 +346,14 @@ class DashboardStore {
this.privateState.errorLoadingSites = true;
this.privateState.sites = [];
}
+
+ setRefreshInterval(interval?: number): void {
+ this.privateState.refreshInterval = interval;
+ }
+
+ setPageSize(pageSize: number): void {
+ this.privateState.pageSize = pageSize;
+ }
}
export default new DashboardStore();
diff --git a/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue b/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue
new file mode 100644
index 0000000000..413d02aa00
--- /dev/null
+++ b/plugins/MultiSites/vue/src/Dashboard/Dashboard.vue
@@ -0,0 +1,409 @@
+<!--
+ Matomo - free/libre analytics platform
+ @link https://matomo.org
+ @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+-->
+
+<todo>
+- test in UI
+- create PR
+</todo>
+
+<template>
+ <div>
+ <h2 class="card-title">
+ <EnrichedHeadline
+ help-url="https://matomo.org/docs/manage-websites/#all-websites-dashboard"
+ :feature-name="translate('General_AllWebsitesDashboard')"
+ >
+ {{ translate('General_AllWebsitesDashboard') }}
+ <span
+ class="smallTitle"
+ v-html="$sanitize(this.smallTitleContent)"
+ :title="smallTitleTooltip"
+ >
+ </span>
+ </EnrichedHeadline>
+ </h2>
+ <table
+ id="mt"
+ class="dataTable card-table"
+ cellspacing="0"
+ >
+ <thead>
+ <tr>
+ <th
+ id="names"
+ class="label"
+ @click="sortBy('label')"
+ :class="{columnSorted: 'label' === sortColumn}"
+ >
+ <span class="heading">{{ translate('General_Website') }}</span>
+ <span
+ class="arrow"
+ :class="{
+ multisites_asc: !reverse && 'label' === sortColumn,
+ multisites_desc: reverse && 'label' === sortColumn,
+ }"
+ />
+ </th>
+ <th
+ id="visits"
+ class="multisites-column"
+ @click="sortBy('nb_visits')"
+ :class="{columnSorted: 'nb_visits' === sortColumn}"
+ >
+ <span
+ class="arrow"
+ :class="{
+ multisites_asc: !reverse && 'nb_visits' === sortColumn,
+ multisites_desc: reverse && 'nb_visits' === sortColumn,
+ }"
+ />
+ <span class="heading">{{ translate('General_ColumnNbVisits') }}</span>
+ </th>
+ <th
+ id="pageviews"
+ class="multisites-column"
+ @click="sortBy('nb_pageviews')"
+ :class="{columnSorted: 'nb_pageviews' === sortColumn}"
+ >
+ <span
+ class="arrow"
+ :class="{
+ multisites_asc: !reverse && 'nb_pageviews' === sortColumn,
+ multisites_desc: reverse && 'nb_pageviews' === sortColumn,
+ }"
+ />
+ <span class="heading">{{ translate('General_ColumnPageviews') }}</span>
+ </th>
+ <th
+ id="revenue"
+ class="multisites-column"
+ v-if="displayRevenueColumn"
+ @click="sortBy('revenue')"
+ :class="{columnSorted: 'revenue' === sortColumn}"
+ >
+ <span
+ class="arrow"
+ :class="{
+ multisites_asc: !reverse && 'revenue' === sortColumn,
+ multisites_desc: reverse && 'revenue' === sortColumn,
+ }"
+ />
+ <span class="heading">{{ translate('General_ColumnRevenue') }}</span>
+ </th>
+ <th
+ id="evolution"
+ :class="{columnSorted: evolutionSelector === sortColumn}"
+ :colspan="showSparklines ? 2 : 1"
+ >
+ <span
+ class="arrow"
+ :class="{
+ multisites_asc: !reverse && evolutionSelector === sortColumn,
+ multisites_desc: reverse && evolutionSelector === sortColumn,
+ }"
+ />
+ <span
+ class="evolution"
+ @click="sortBy(evolutionSelector)"
+ > {{ translate('MultiSites_Evolution') }}</span>
+ <select
+ class="selector browser-default"
+ id="evolution_selector"
+ :value="evolutionSelector"
+ @change="evolutionSelector = $event.target.value; sortBy(evolutionSelector)"
+ >
+ <option value="visits_evolution">{{ translate('General_ColumnNbVisits') }}</option>
+ <option value="pageviews_evolution">
+ {{ translate('General_ColumnPageviews') }}
+ </option>
+ <option
+ value="revenue_evolution"
+ v-if="displayRevenueColumn"
+ >
+ {{ translate('General_ColumnRevenue') }}
+ </option>
+ </select>
+ </th>
+ </tr>
+ </thead>
+ <tbody v-if="isLoading">
+ <tr>
+ <td
+ colspan="7"
+ class="allWebsitesLoading"
+ >
+ <ActivityIndicator
+ :loading-message="loadingMessage"
+ :loading="isLoading"
+ />
+ </td>
+ </tr>
+ </tbody>
+ <tbody v-if="!isLoading">
+ <tr v-if="errorLoadingSites">
+ <td colspan="7">
+ <div class="notification system notification-error">
+ {{ translate('General_ErrorRequest', '', '') }}
+ <br /><br />
+ {{ translate('General_NeedMoreHelp') }}
+ <a
+ rel="noreferrer noopener"
+ target="_blank"
+ href="https://matomo.org/faq/troubleshooting/faq_19489/"
+ >{{ translate('General_Faq') }}</a>
+ &#x2013;
+ <a
+ rel="noreferrer noopener"
+ target="_blank"
+ href="https://forum.matomo.org/"
+ >{{ translate('Feedback_CommunityHelp') }}</a>
+ <span v-show="areAdsForProfessionalServicesEnabled"> &#x2013; </span>
+ <a
+ rel="noreferrer noopener"
+ target="_blank"
+ :href="professionalHelpUrl"
+ v-show="areAdsForProfessionalServicesEnabled"
+ >{{ translate('Feedback_ProfessionalHelp') }}</a>.
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <MultisitesSite
+ v-for="website in sites"
+ :key="website.idsite"
+ :website="website"
+ :evolution-metric="evolutionSelector"
+ :date-sparkline="dateSparkline"
+ :show-sparklines="showSparklines"
+ :metric="sortColumn"
+ :display-revenue-column="displayRevenueColumn"
+ >
+ </MultisitesSite>
+ </tr>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td
+ colspan="8"
+ class="paging"
+ v-show="!(numberOfPages <= 1)"
+ >
+ <div class="row">
+ <div class="col s3 add_new_site">
+ <a
+ href="addSiteUrl"
+ v-if="hasSuperUserAccess"
+ >
+ <span class="icon-add" /> {{ translate('SitesManager_AddSite') }}
+ </a>
+ </div>
+ <div class="col s6">
+ <span
+ id="prev"
+ class="previous dataTablePrevious"
+ @click="previousPage()"
+ v-show="!(currentPage === 0)"
+ >
+ <span style="cursor:pointer;">&#xAB; {{ translate('General_Previous') }}</span>
+ </span>
+ <span class="dataTablePages">
+ <span id="counter">
+ {{ translate(
+ 'General_Pagination',
+ paginationLowerBound,
+ paginationUpperBound,
+ numberOfFilteredSites,
+ ) }}
+ </span>
+ </span>
+ <span
+ id="next"
+ class="next dataTableNext"
+ @click="nextPage()"
+ v-show="!(currentPage >= numberOfPages)"
+ >
+ <span
+ style="cursor:pointer;"
+ class="pointer"
+ >{{ translate('General_Next') }} &#xBB;</span>
+ </span>
+ </div>
+ <div class="col s3">&amp;nbsp;</div>
+ </div>
+ </td>
+ </tr>
+ <tr row_id="last">
+ <td
+ colspan="8"
+ class="site_search"
+ >
+ <div class="row">
+ <div class="input-field col s12">
+ <input
+ type="text"
+ @keydown.enter="searchSite(searchTerm)"
+ v-model="searchTerm"
+ :placeholder="translate('Actions_SubmenuSitesearch')"
+ />
+ <span
+ class="icon-search search_ico"
+ @click="searchSite(searchTerm)"
+ :title="translate('General_ClickToSearch')"
+ />
+ </div>
+ </div>
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+ </div>
+</template>
+
+<script lang="ts">
+import { defineComponent } from 'vue';
+import {
+ translate,
+ Matomo,
+ EnrichedHeadline,
+ ActivityIndicator,
+ MatomoUrl,
+ getFormattedEvolution,
+} from 'CoreHome';
+import MultisitesSite from '../MultisitesSite/MultisitesSite.vue';
+import DashboardStore from './Dashboard.store';
+
+interface DashboardState {
+ evolutionSelector: string;
+ searchTerm: string;
+}
+
+export default defineComponent({
+ props: {
+ displayRevenueColumn: Boolean,
+ showSparklines: Boolean,
+ dateSparkline: String,
+ pageSize: Number,
+ autoRefreshTodayReport: Number,
+ },
+ components: {
+ EnrichedHeadline,
+ ActivityIndicator,
+ MultisitesSite,
+ },
+ data(): DashboardState {
+ return {
+ evolutionSelector: 'visits_evolution',
+ searchTerm: '',
+ };
+ },
+ created() {
+ if (this.pageSize) {
+ DashboardStore.setPageSize(this.pageSize);
+ }
+ this.refresh(this.autoRefreshTodayReport);
+ },
+ methods: {
+ refresh(interval?: number) {
+ DashboardStore.setRefreshInterval(interval);
+ DashboardStore.fetchAllSites();
+ },
+ sortBy(column: string) {
+ DashboardStore.sortBy(column);
+ },
+ previousPage() {
+ DashboardStore.previousPage();
+ },
+ nextPage() {
+ DashboardStore.nextPage();
+ },
+ searchSite() {
+ DashboardStore.searchSite(this.searchTerm);
+ },
+ },
+ computed: {
+ hasSuperUserAccess() {
+ return Matomo.hasSuperUserAccess;
+ },
+ date() {
+ return MatomoUrl.urlParsed.value.date as string;
+ },
+ idSite() {
+ return MatomoUrl.urlParsed.value.idSite as string;
+ },
+ url() {
+ return Matomo.piwik_url;
+ },
+ period() {
+ return Matomo.period;
+ },
+ areAdsForProfessionalServicesEnabled() {
+ return Matomo.config && Matomo.config.are_ads_enabled;
+ },
+ sortColumn() {
+ return DashboardStore.state.value.sortColumn;
+ },
+ reverse() {
+ return DashboardStore.state.value.reverse;
+ },
+ smallTitleContent() {
+ const state = DashboardStore.state.value;
+ return translate(
+ 'General_TotalVisitsPageviewsActionsRevenue',
+ `<strong>${state.totalVisits}</strong>`,
+ `<strong>${state.totalPageviews}</strong>`,
+ `<strong>${state.totalActions}</strong>`,
+ `<strong>${state.totalRevenue}</strong>`,
+ );
+ },
+ smallTitleTooltip() {
+ const state = DashboardStore.state.value;
+ return translate(
+ 'General_EvolutionSummaryGeneric',
+ translate('General_NVisits', `${state.totalVisits}`),
+ this.date,
+ `${state.lastVisits}`,
+ state.lastVisitsDate,
+ getFormattedEvolution(state.totalVisits, state.lastVisits),
+ );
+ },
+ loadingMessage() {
+ return DashboardStore.state.value.loadingMessage;
+ },
+ isLoading() {
+ return DashboardStore.state.value.isLoading;
+ },
+ errorLoadingSites() {
+ return DashboardStore.state.value.errorLoadingSites;
+ },
+ sites() {
+ return DashboardStore.state.value.sites;
+ },
+ numberOfPages() {
+ return DashboardStore.numberOfPages.value;
+ },
+ currentPage() {
+ return DashboardStore.state.value.currentPage;
+ },
+ paginationLowerBound() {
+ return DashboardStore.paginationLowerBound.value;
+ },
+ paginationUpperBound() {
+ return DashboardStore.paginationUpperBound.value;
+ },
+ numberOfFilteredSites() {
+ return DashboardStore.numberOfFilteredSites.value;
+ },
+ professionalHelpUrl() {
+ return 'https://matomo.org/support-plans/?pk_campaign=Help&pk_medium=AjaxError&pk_content='
+ + 'MultiSites&pk_source=Matomo_App';
+ },
+ addSiteUrl() {
+ return `index.php?module=SitesManager&action=index&showaddsite=1&period=${this.period}&`
+ + `date=${this.date}&idSite=${this.idSite}`;
+ },
+ },
+});
+</script>
diff --git a/plugins/MultiSites/vue/src/index.ts b/plugins/MultiSites/vue/src/index.ts
index f2a68220cd..b7042f0ce9 100644
--- a/plugins/MultiSites/vue/src/index.ts
+++ b/plugins/MultiSites/vue/src/index.ts
@@ -6,6 +6,8 @@
*/
import './MultisitesSite/MultisitesSite.adapter';
+import './Dashboard/Dashboard.adapter';
export { default as MultisitesSite } from './MultisitesSite/MultisitesSite.vue';
export { default as DashboadStore } from './Dashboard/Dashboard.store';
+export { default as Dashboard } from './Dashboard/Dashboard.vue';