From a46819c6edc7d5ca213cba30eca3c4043e43ebd0 Mon Sep 17 00:00:00 2001 From: dizzy Date: Thu, 30 Dec 2021 22:43:20 -0800 Subject: [Vue] migrate some smaller components in CoreHome (#18442) * migrating reporting pages store * make store adapters more immutable * get service adapters to work * fix a UI test * another html fix * migrate most of reporting menu directive and model * Use themed font family for input forms to override materialize.css styling * rebuild vue * add a missing div * ui test fixes * update styling * get to build * get to load in the UI w/o error * clone result of functions * fix compile issue * migrate widget loader and get to load in UI * rebuild vue * migrate widgetcontainer * migrate widget bydimension container * migrate widget + add tooltips directive * quick fix * Updating version to 4.6.0 * loading in page * update expected screenshot * add wait just in case travis is slow * fix ordering bug * add another wait * rebuild vue * css tweak * fix some bugs and tests * undo screenshot changes * Menus test passing locally * [Vue] date picker viewDate property is not kept up to date (#18385) * viewDate ref is not kept up to date * rebuild corehome * reporting menu subcategory items are meant to be normal links * update some screenshots * use innerText instead of text() since angularjs maintains newlines in HTML that vue does not add * trigger angularjs digest after ajaxhelper request * rebuild vue * update screenshots, fix bug in link generation in reporting menu and allow syncing multiple screenshot regexes at a time * undo box-shadow change for UI tests * fix more issues & update more tests * update some screenshots * fix some tests * rebuild CoreHome * quick fix * built vue files * fix angularjs issue * add comment * update umd files * 4.6.1-rc1 * 4.6.1 * fix field array title * apply some pr feedback * apply more pr feedback * another fix * tweak * fix ng-change not executed before ng-model * fix another set of issues * fix another issue * rebuild vue * better ng-change/ng-model fix * update some screenshots * rebuild vue * remove some TODOs * initiate initial ng-change ONLY for site selectors where this behavior applies * emit/broadcast on correct scope in wrapper * rebuild vue * fix some issues * couple more fixes * fix another title issue * rebuild vue * do not report on ajax errors in notifications if not logged in * migrate reporting page and model * rebuild vue * create sites selector model adapter * fix siteselector vue bug, initial site is only set if there is just one site available * rebuild vue * migrate plugin settings directive * remove TODO * migrate plugin filter directive * migrate two more plugins directives * migrate save button * fix a bunch of bugs * fix another widget bug * allow change event name between angularjs and vue * rebuild vue * migrate plugin form directive * get to work * migrate select-on-focus directive and start migrating report-export directive * finish migrating report export directive & popover component + create reusable function to create vue app and add globals to it * rebuild vue * remove angularjs files and move less contents to vue dir * migrate sparkline component * migrate progressbar component * migrate content intro & content table directives * rebuild vue * built vue files * fix function signature * fix vue warning * fix ajax request race condition * rebuild vue * add new notification type "help" so the help notification is not cleared when clearing transient notifications * fix some bugs and tests * update screenshot * update screenshot & fix a test * allow using unminified jquery ui + fix bug in last fix * fix error when enrichedheadline is used in modal * add polyfill min.js * remove two todos * fix widget url logic * update some screenshots and fix sanitization/escape issue * update screenshots * rebuild vue * fix url location updating regression in MatomoUrl.updateLocation use * submodule * update screenshots and fix possible error in json parse * built vue files * Merge branch 'vue-period-selector-regression' into vue-reporting-menu * rebuild vue * use correct variable * rebuild vue * fix widget url logic * segment parameter can be undefined now for some reason * fix ngmodel binding in siteselector adapter (for last time hopefully) * the original site selector only set the first site to the first site in the initial sites query if there was only one site in the entire matomo instance * fix sitesmanager ui test failure * fix usersettings test failure * rebuild vue * more siteselector tweaks. * build CoreHome * more siteselector tweaks. * another siteselector issue * update screenshots * update screenshot and try to fix random failure * fix some issues in widget.vue when containerid is specified * fix couple tests * fix several test failures * fix string concat * fix test failure * extra change * fix last change and random failure * styling fix * fix last fix * real fix this time * fix stray request * proper fix * update build files * try to fix random failure * do not submit form * check for api errors in promise chain in ajaxhelper.ts * force a digest after a location change * use proper abortcontroller method instead of promise hack, have to add new polyfill + try to fix random test failure * some UI test fixes * fix some report export issues * several save button fixes + make replace approximation in createAngularJsAdapter better * fix sparkline * apply after manual click triggering in savebutton * css fixes and piwik-content-table was never applied by angularjs in installtion * rebuild vue * add names to divs so they can still be queried as they were in angularjs * rebuild vue * now that format_metrics checkbox works, need to check it * remove unintended changes * update screenshots * update screenshot Co-authored-by: Justin Velluppillai Co-authored-by: justinvelluppillai Co-authored-by: Matthieu Aubry --- plugins/CoreHome/CoreHome.php | 17 +- .../content-intro/content-intro.directive.js | 26 -- .../content-table/content-table.directive.js | 30 --- .../progressbar/progressbar.directive.html | 7 - .../angularjs/progressbar/progressbar.directive.js | 54 ---- .../progressbar/progressbar.directive.less | 3 - .../angularjs/sparkline/sparkline.component.js | 87 ------- .../angularjs/sparkline/sparkline.component.less | 8 - plugins/CoreHome/vue/dist/CoreHome.umd.js | 276 ++++++++++++++++++++- plugins/CoreHome/vue/dist/CoreHome.umd.min.js | 77 ++++-- plugins/CoreHome/vue/src/AjaxHelper/AjaxHelper.ts | 2 +- .../vue/src/ContentIntro/ContentIntro.adapter.ts | 22 ++ .../CoreHome/vue/src/ContentIntro/ContentIntro.ts | 12 + .../vue/src/ContentTable/ContentTable.adapter.ts | 22 ++ .../CoreHome/vue/src/ContentTable/ContentTable.ts | 12 + .../vue/src/Progressbar/Progressbar.adapter.ts | 22 ++ .../CoreHome/vue/src/Progressbar/Progressbar.less | 7 + .../CoreHome/vue/src/Progressbar/Progressbar.vue | 45 ++++ .../vue/src/Sparkline/Sparkline.adapter.ts | 23 ++ plugins/CoreHome/vue/src/Sparkline/Sparkline.less | 8 + plugins/CoreHome/vue/src/Sparkline/Sparkline.vue | 90 +++++++ plugins/CoreHome/vue/src/index.ts | 8 + plugins/CoreVue/types/index.d.ts | 5 + .../UI/expected-screenshots/Diagnostics_page.png | 4 +- .../templates/_systemCheckSection.twig | 6 +- plugins/Morpheus/stylesheets/uibase/_loading.less | 2 +- .../UI/expected-screenshots/Morpheus_load.png | 4 +- tests/UI/expected-screenshots/Theme_demo.png | 4 +- .../ViewDataTableTest_export_options_2.png | 4 +- 29 files changed, 618 insertions(+), 269 deletions(-) delete mode 100644 plugins/CoreHome/angularjs/content-intro/content-intro.directive.js delete mode 100644 plugins/CoreHome/angularjs/content-table/content-table.directive.js delete mode 100644 plugins/CoreHome/angularjs/progressbar/progressbar.directive.html delete mode 100644 plugins/CoreHome/angularjs/progressbar/progressbar.directive.js delete mode 100644 plugins/CoreHome/angularjs/progressbar/progressbar.directive.less delete mode 100644 plugins/CoreHome/angularjs/sparkline/sparkline.component.js delete mode 100644 plugins/CoreHome/angularjs/sparkline/sparkline.component.less create mode 100644 plugins/CoreHome/vue/src/ContentIntro/ContentIntro.adapter.ts create mode 100644 plugins/CoreHome/vue/src/ContentIntro/ContentIntro.ts create mode 100644 plugins/CoreHome/vue/src/ContentTable/ContentTable.adapter.ts create mode 100644 plugins/CoreHome/vue/src/ContentTable/ContentTable.ts create mode 100644 plugins/CoreHome/vue/src/Progressbar/Progressbar.adapter.ts create mode 100644 plugins/CoreHome/vue/src/Progressbar/Progressbar.less create mode 100644 plugins/CoreHome/vue/src/Progressbar/Progressbar.vue create mode 100644 plugins/CoreHome/vue/src/Sparkline/Sparkline.adapter.ts create mode 100644 plugins/CoreHome/vue/src/Sparkline/Sparkline.less create mode 100644 plugins/CoreHome/vue/src/Sparkline/Sparkline.vue diff --git a/plugins/CoreHome/CoreHome.php b/plugins/CoreHome/CoreHome.php index baae558e41..ace87ca8d1 100644 --- a/plugins/CoreHome/CoreHome.php +++ b/plugins/CoreHome/CoreHome.php @@ -144,12 +144,12 @@ class CoreHome extends \Piwik\Plugin $stylesheets[] = "plugins/CoreHome/vue/src/ReportingPage/ReportingPage.less"; $stylesheets[] = "plugins/CoreHome/vue/src/ReportExport/ReportExport.less"; $stylesheets[] = "plugins/CoreHome/vue/src/WidgetByDimensionContainer/WidgetByDimensionContainer.less"; - $stylesheets[] = "plugins/CoreHome/angularjs/progressbar/progressbar.directive.less"; + $stylesheets[] = "plugins/CoreHome/vue/src/Progressbar/Progressbar.less"; $stylesheets[] = "plugins/CoreHome/vue/src/DateRangePicker/DateRangePicker.less"; $stylesheets[] = "plugins/CoreHome/vue/src/PeriodSelector/PeriodSelector.less"; $stylesheets[] = "plugins/CoreHome/vue/src/MultiPairField/MultiPairField.less"; $stylesheets[] = "plugins/CoreHome/vue/src/DropdownMenu/DropdownMenu.less"; - $stylesheets[] = "plugins/CoreHome/angularjs/sparkline/sparkline.component.less"; + $stylesheets[] = "plugins/CoreHome/vue/src/Sparkline/Sparkline.less"; $stylesheets[] = "plugins/CoreHome/vue/src/FieldArray/FieldArray.less"; $stylesheets[] = "plugins/CoreHome/vue/src/Comparisons/Comparisons.less"; $stylesheets[] = "plugins/CoreHome/stylesheets/vue-transitions.less"; @@ -227,24 +227,11 @@ class CoreHome extends \Piwik\Plugin $jsFiles[] = "plugins/CoreHome/angularjs/history/history.service.js"; - $jsFiles[] = "plugins/CoreHome/angularjs/progressbar/progressbar.directive.js"; - $jsFiles[] = "plugins/CoreHome/angularjs/sparkline/sparkline.component.js"; - - - - $jsFiles[] = "plugins/CoreHome/angularjs/content-intro/content-intro.directive.js"; - - $jsFiles[] = "plugins/CoreHome/angularjs/ajax-form/ajax-form.controller.js"; $jsFiles[] = "plugins/CoreHome/angularjs/ajax-form/ajax-form.directive.js"; $jsFiles[] = "plugins/CoreHome/angularjs/popover-handler/popover-handler.directive.js"; - - - - $jsFiles[] = "plugins/CoreHome/angularjs/content-table/content-table.directive.js"; - // we have to load these CoreAdminHome files here. If we loaded them in CoreAdminHome, // there would be JS errors as CoreAdminHome is loaded first. Meaning it is loaded before // any angular JS file is loaded etc. diff --git a/plugins/CoreHome/angularjs/content-intro/content-intro.directive.js b/plugins/CoreHome/angularjs/content-intro/content-intro.directive.js deleted file mode 100644 index 2ee75105cf..0000000000 --- a/plugins/CoreHome/angularjs/content-intro/content-intro.directive.js +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -/** - * Usage: - *
- */ -(function () { - angular.module('piwikApp').directive('piwikContentIntro', piwikContentIntro); - - piwikContentIntro.$inject = ['piwik']; - - function piwikContentIntro(piwik){ - - return { - restrict: 'A', - compile: function (element, attrs) { - element.addClass('piwik-content-intro'); - } - }; - } -})(); diff --git a/plugins/CoreHome/angularjs/content-table/content-table.directive.js b/plugins/CoreHome/angularjs/content-table/content-table.directive.js deleted file mode 100644 index 6fefc8838c..0000000000 --- a/plugins/CoreHome/angularjs/content-table/content-table.directive.js +++ /dev/null @@ -1,30 +0,0 @@ -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -/** - * Usage: - *
- */ -(function () { - angular.module('piwikApp').directive('piwikContentTable', piwikContentTable); - - piwikContentTable.$inject = ['piwik']; - - function piwikContentTable(piwik){ - - return { - restrict: 'A', - compile: function (element, attrs) { - element.addClass('card card-table entityTable'); - - return function (scope, element, attrs) { - - }; - } - }; - } -})(); diff --git a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.html b/plugins/CoreHome/angularjs/progressbar/progressbar.directive.html deleted file mode 100644 index 5bbb4e4400..0000000000 --- a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.html +++ /dev/null @@ -1,7 +0,0 @@ -
-
-
-
- -
\ No newline at end of file diff --git a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.js b/plugins/CoreHome/angularjs/progressbar/progressbar.directive.js deleted file mode 100644 index 4c5cdaa488..0000000000 --- a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.js +++ /dev/null @@ -1,54 +0,0 @@ -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -/** - * Usage: - *
- */ -(function () { - angular.module('piwikApp').directive('piwikProgressbar', piwikProgressbar); - - piwikProgressbar.$inject = ['piwik']; - - function piwikProgressbar(piwik){ - var defaults = { - label: '', - progress: 0 - }; - - return { - restrict: 'A', - scope: { - progress: '=', - label: '=' - }, - templateUrl: 'plugins/CoreHome/angularjs/progressbar/progressbar.directive.html?cb=' + piwik.cacheBuster, - compile: function (element, attrs) { - - for (var index in defaults) { - if (defaults.hasOwnProperty(index) && attrs[index] === undefined) { - attrs[index] = defaults[index]; - } - } - - return function (scope, element, attrs) { - - scope.$watch('progress', function (val, oldVal) { - if (val !== oldVal) { - if (val > 100) { - scope.progress = 100; - } else if (val < 0) { - scope.progress = 0; - } - } - }); - - }; - } - }; - } -})(); \ No newline at end of file diff --git a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.less b/plugins/CoreHome/angularjs/progressbar/progressbar.directive.less deleted file mode 100644 index 70a02c8247..0000000000 --- a/plugins/CoreHome/angularjs/progressbar/progressbar.directive.less +++ /dev/null @@ -1,3 +0,0 @@ -.progressbar { - margin: 22px 24px; -} \ No newline at end of file diff --git a/plugins/CoreHome/angularjs/sparkline/sparkline.component.js b/plugins/CoreHome/angularjs/sparkline/sparkline.component.js deleted file mode 100644 index 91b70bd3a0..0000000000 --- a/plugins/CoreHome/angularjs/sparkline/sparkline.component.js +++ /dev/null @@ -1,87 +0,0 @@ -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -/** - * Displays a sparkline. 'module', 'action' and 'date' are required elements of the - * params attribute. - * - * Usage: - * - */ -(function () { - angular.module('piwikApp').component('piwikSparkline', { - template: '', - bindings: { - seriesIndices: '<', - params: '<' - }, - controller: SparklineController - }); - - SparklineController.$inject = ['$element', '$httpParamSerializer', 'piwikApi', 'piwik', 'piwikPeriods']; - - function SparklineController($element, $httpParamSerializer, piwikApi, piwik, piwikPeriods) { - var vm = this; - vm.$onChanges = $onChanges; - - function $onChanges() { - // done manually due to 'random' query param. since it changes the URL on each digest, depending on angular - // results in an infinite digest - $element.find('img').attr('src', getSparklineUrl()); - } - - function getSparklineUrl() { - var seriesIndices = vm.seriesIndices; - var sparklineColors = piwik.getSparklineColors(); - - if (seriesIndices) { - sparklineColors.lineColor = sparklineColors.lineColor.filter(function (c, index) { - return seriesIndices.indexOf(index) !== -1; - }); - } - - var colors = JSON.stringify(sparklineColors); - - var defaultParams = { - forceView: '1', - viewDataTable: 'sparkline', - widget: $element.closest('[widgetId]').length ? '1' : '0', - showtitle: '1', - colors: colors, - random: Date.now(), - date: getDefaultDate() - }; - - var urlParams = piwikApi.mixinDefaultGetParams($element.extend(defaultParams, vm.params)); - - // Append the token_auth to the URL if it was set (eg. embed dashboard) - var token_auth = piwik.broadcast.getValueFromUrl("token_auth"); - if (token_auth.length && piwik.shouldPropagateTokenAuth) { - urlParams.token_auth = token_auth; - } - - return '?' + $httpParamSerializer(urlParams); - } - - function getDefaultDate() { - if (piwik.period === 'range') { - return piwik.startDateString + ',' + piwik.endDateString; - } - - var dateRange = piwikPeriods.get('range').getLastNRange(piwik.period, 30, piwik.currentDateString).getDateRange(); - - var piwikMinDate = new Date(piwik.minDateYear, piwik.minDateMonth - 1, piwik.minDateDay); - if (dateRange[0] < piwikMinDate) { - dateRange[0] = piwikMinDate; - } - - var startDateStr = piwikPeriods.format(dateRange[0]); - var endDateStr = piwikPeriods.format(dateRange[1]); - return startDateStr + ',' + endDateStr; - } - } -})(); diff --git a/plugins/CoreHome/angularjs/sparkline/sparkline.component.less b/plugins/CoreHome/angularjs/sparkline/sparkline.component.less deleted file mode 100644 index a31d68547e..0000000000 --- a/plugins/CoreHome/angularjs/sparkline/sparkline.component.less +++ /dev/null @@ -1,8 +0,0 @@ -[piwik-sparkline] { - display: inline-block; - - img { - width: 100px; - height: 25px; - } -} \ No newline at end of file diff --git a/plugins/CoreHome/vue/dist/CoreHome.umd.js b/plugins/CoreHome/vue/dist/CoreHome.umd.js index 6d804e51b3..28f25d6d21 100644 --- a/plugins/CoreHome/vue/dist/CoreHome.umd.js +++ b/plugins/CoreHome/vue/dist/CoreHome.umd.js @@ -188,6 +188,10 @@ __webpack_require__.d(__webpack_exports__, "WidgetByDimensionContainer", functio __webpack_require__.d(__webpack_exports__, "Widget", function() { return /* reexport */ Widget_Widget; }); __webpack_require__.d(__webpack_exports__, "ReportingPage", function() { return /* reexport */ ReportingPage; }); __webpack_require__.d(__webpack_exports__, "ReportExport", function() { return /* reexport */ ReportExport; }); +__webpack_require__.d(__webpack_exports__, "Sparkline", function() { return /* reexport */ Sparkline; }); +__webpack_require__.d(__webpack_exports__, "Progressbar", function() { return /* reexport */ Progressbar; }); +__webpack_require__.d(__webpack_exports__, "ContentIntro", function() { return /* reexport */ ContentIntro; }); +__webpack_require__.d(__webpack_exports__, "ContentTable", function() { return /* reexport */ ContentTable; }); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -5169,7 +5173,7 @@ function PeriodDatePickervue_type_template_id_effd17b0_render(_ctx, _cache, $pro -var piwikMinDate = new Date(Matomo_Matomo.minDateYear, Matomo_Matomo.minDateMonth - 1, Matomo_Matomo.minDateDay); +var PeriodDatePickervue_type_script_lang_ts_piwikMinDate = new Date(Matomo_Matomo.minDateYear, Matomo_Matomo.minDateMonth - 1, Matomo_Matomo.minDateDay); var piwikMaxDate = new Date(Matomo_Matomo.maxDateYear, Matomo_Matomo.maxDateMonth - 1, Matomo_Matomo.maxDateDay); /* harmony default export */ var PeriodDatePickervue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ props: { @@ -5188,13 +5192,13 @@ var piwikMaxDate = new Date(Matomo_Matomo.maxDateYear, Matomo_Matomo.maxDateMont function getBoundedDateRange(date) { var dates = Periods_Periods.get(props.period).parse(date).getDateRange(); // make sure highlighted date range is within min/max date range - dates[0] = piwikMinDate < dates[0] ? dates[0] : piwikMinDate; + dates[0] = PeriodDatePickervue_type_script_lang_ts_piwikMinDate < dates[0] ? dates[0] : PeriodDatePickervue_type_script_lang_ts_piwikMinDate; dates[1] = piwikMaxDate > dates[1] ? dates[1] : piwikMaxDate; return dates; } function onHoverNormalCell(cellDate, $cell) { - var isOutOfMinMaxDateRange = cellDate < piwikMinDate || cellDate > piwikMaxDate; // don't highlight anything if the period is month or day, and we're hovering over calendar + var isOutOfMinMaxDateRange = cellDate < PeriodDatePickervue_type_script_lang_ts_piwikMinDate || cellDate > piwikMaxDate; // don't highlight anything if the period is month or day, and we're hovering over calendar // whitespace. since there are no dates, it's doesn't make sense what you're selecting. var shouldNotHighlightFromWhitespace = $cell.hasClass('ui-datepicker-other-month') && (props.period === 'month' || props.period === 'day'); @@ -10978,6 +10982,264 @@ function piwikReportExport($timeout) { } piwikReportExport.$inject = ['$timeout']; angular.module('piwikApp').directive('piwikReportExport', piwikReportExport); +// 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/CoreHome/vue/src/Sparkline/Sparkline.vue?vue&type=template&id=0baaf750 + +var Sparklinevue_type_template_id_0baaf750_hoisted_1 = ["src"]; +function Sparklinevue_type_template_id_0baaf750_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"])("img", { + src: _ctx.sparklineUrl + }, null, 8, Sparklinevue_type_template_id_0baaf750_hoisted_1); +} +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Sparkline/Sparkline.vue?vue&type=template&id=0baaf750 + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./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/CoreHome/vue/src/Sparkline/Sparkline.vue?vue&type=script&lang=ts +function Sparklinevue_type_script_lang_ts_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } + +function Sparklinevue_type_script_lang_ts_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Sparklinevue_type_script_lang_ts_ownKeys(Object(source), true).forEach(function (key) { Sparklinevue_type_script_lang_ts_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Sparklinevue_type_script_lang_ts_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function Sparklinevue_type_script_lang_ts_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + + + +/* harmony default export */ var Sparklinevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + seriesIndices: Array, + params: Object + }, + data: function data() { + return { + isWidget: false + }; + }, + mounted: function mounted() { + this.isWidget = !!this.$el.closest('[widgetId]'); + }, + computed: { + sparklineUrl: function sparklineUrl() { + var seriesIndices = this.seriesIndices, + params = this.params; + var sparklineColors = Matomo_Matomo.getSparklineColors(); + + if (seriesIndices) { + sparklineColors.lineColor = sparklineColors.lineColor.filter(function (c, index) { + return seriesIndices.indexOf(index) !== -1; + }); + } + + var colors = JSON.stringify(sparklineColors); + var defaultParams = { + forceView: '1', + viewDataTable: 'sparkline', + widget: this.isWidget ? '1' : '0', + showtitle: '1', + colors: colors, + random: Date.now(), + date: this.defaultDate + }; + var helper = new AjaxHelper_AjaxHelper(); + var urlParams = helper.mixinDefaultGetParams(Sparklinevue_type_script_lang_ts_objectSpread(Sparklinevue_type_script_lang_ts_objectSpread({}, defaultParams), params)); // Append the token_auth to the URL if it was set (eg. embed dashboard) + + var token_auth = src_MatomoUrl_MatomoUrl.parsed.value.token_auth; + + if (token_auth && token_auth.length && Matomo_Matomo.shouldPropagateTokenAuth) { + urlParams.token_auth = token_auth; + } + + return "?".concat(src_MatomoUrl_MatomoUrl.stringify(urlParams)); + }, + defaultDate: function defaultDate() { + if (Matomo_Matomo.period === 'range') { + return "".concat(Matomo_Matomo.startDateString, ",").concat(Matomo_Matomo.endDateString); + } + + var dateRange = Range_RangePeriod.getLastNRange(Matomo_Matomo.period, 30, Matomo_Matomo.currentDateString).getDateRange(); + var piwikMinDate = new Date(Matomo_Matomo.minDateYear, Matomo_Matomo.minDateMonth - 1, Matomo_Matomo.minDateDay); + + if (dateRange[0] < piwikMinDate) { + dateRange[0] = piwikMinDate; + } + + var startDateStr = format(dateRange[0]); + var endDateStr = format(dateRange[1]); + return "".concat(startDateStr, ",").concat(endDateStr); + } + } +})); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Sparkline/Sparkline.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Sparkline/Sparkline.vue + + + +Sparklinevue_type_script_lang_ts.render = Sparklinevue_type_template_id_0baaf750_render + +/* harmony default export */ var Sparkline = (Sparklinevue_type_script_lang_ts); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Sparkline/Sparkline.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 Sparkline_adapter = (createAngularJsAdapter({ + component: Sparkline, + scope: { + seriesIndices: { + angularJsBind: '<' + }, + params: { + angularJsBind: '<' + } + }, + directiveName: 'piwikSparkline', + restrict: 'E' +})); +// 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/CoreHome/vue/src/Progressbar/Progressbar.vue?vue&type=template&id=1ca5d622 + +var Progressbarvue_type_template_id_1ca5d622_hoisted_1 = { + class: "progressbar" +}; +var Progressbarvue_type_template_id_1ca5d622_hoisted_2 = { + class: "progress" +}; + +var Progressbarvue_type_template_id_1ca5d622_hoisted_3 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("img", { + src: "plugins/Morpheus/images/loading-blue.gif" +}, null, -1); + +var Progressbarvue_type_template_id_1ca5d622_hoisted_4 = ["innerHTML"]; +function Progressbarvue_type_template_id_1ca5d622_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", Progressbarvue_type_template_id_1ca5d622_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", Progressbarvue_type_template_id_1ca5d622_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + class: "determinate", + style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])([{ + "width": "0" + }, { + width: "".concat(_ctx.actualProgress, "%") + }]) + }, null, 4)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Progressbarvue_type_template_id_1ca5d622_hoisted_3, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + class: "label", + innerHTML: _ctx.$sanitize(_ctx.label) + }, null, 8, Progressbarvue_type_template_id_1ca5d622_hoisted_4)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !!_ctx.label]])]); +} +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Progressbar/Progressbar.vue?vue&type=template&id=1ca5d622 + +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./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/CoreHome/vue/src/Progressbar/Progressbar.vue?vue&type=script&lang=ts + +/* harmony default export */ var Progressbarvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + props: { + progress: Number, + label: String + }, + computed: { + actualProgress: function actualProgress() { + if (this.progress > 100) { + return 100; + } + + if (this.progress < 0) { + return 0; + } + + return this.progress; + } + } +})); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Progressbar/Progressbar.vue?vue&type=script&lang=ts + +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Progressbar/Progressbar.vue + + + +Progressbarvue_type_script_lang_ts.render = Progressbarvue_type_template_id_1ca5d622_render + +/* harmony default export */ var Progressbar = (Progressbarvue_type_script_lang_ts); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/Progressbar/Progressbar.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 Progressbar_adapter = (createAngularJsAdapter({ + component: Progressbar, + scope: { + progress: { + angularJsBind: '=' + }, + label: { + angularJsBind: '=' + } + }, + directiveName: 'piwikProgressbar' +})); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/ContentIntro/ContentIntro.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 ContentIntro = ({ + mounted: function mounted(el) { + el.classList.add('piwik-content-intro'); + } +}); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/ContentIntro/ContentIntro.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 + */ + +function piwikContentIntro() { + return { + restrict: 'A', + link: function piwikContentIntroLink(scope, element) { + ContentIntro.mounted(element[0]); + } + }; +} +piwikContentIntro.$inject = []; +angular.module('piwikApp').directive('piwikContentIntro', piwikContentIntro); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/ContentTable/ContentTable.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 ContentTable = ({ + mounted: function mounted(el) { + el.classList.add('card', 'card-table', 'entityTable'); + } +}); +// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/ContentTable/ContentTable.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 + */ + +function piwikContentTable() { + return { + restrict: 'A', + link: function piwikContentTableLink(scope, element) { + ContentTable.mounted(element[0]); + } + }; +} +piwikContentTable.$inject = []; +angular.module('piwikApp').directive('piwikContentTable', piwikContentTable); // CONCATENATED MODULE: ./plugins/CoreHome/vue/src/ActivityIndicator/ActivityIndicator.adapter.ts /*! * Matomo - free/libre analytics platform @@ -11183,6 +11445,14 @@ function deleteCookie(name) { + + + + + + + + diff --git a/plugins/CoreHome/vue/dist/CoreHome.umd.min.js b/plugins/CoreHome/vue/dist/CoreHome.umd.min.js index ab052b272b..f12cf32dea 100644 --- a/plugins/CoreHome/vue/dist/CoreHome.umd.min.js +++ b/plugins/CoreHome/vue/dist/CoreHome.umd.min.js @@ -4,13 +4,13 @@ * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */window.hasBlockedContent=!1},"8bbf":function(t,n){t.exports=e},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"createVueApp",(function(){return Rt})),n.d(t,"DirectiveUtilities",(function(){return dt})),n.d(t,"debounce",(function(){return Vi})),n.d(t,"createAngularJsAdapter",(function(){return Kt})),n.d(t,"transformAngularJsBoolAttr",(function(){return Xt})),n.d(t,"transformAngularJsIntAttr",(function(){return Zt})),n.d(t,"removeAngularJsSpecificProperties",(function(){return Qt})),n.d(t,"activityIndicatorAdapter",(function(){return vu})),n.d(t,"ActivityIndicator",(function(){return aa})),n.d(t,"translate",(function(){return C})),n.d(t,"alertAdapter",(function(){return ju})),n.d(t,"AjaxHelper",(function(){return Qe})),n.d(t,"setCookie",(function(){return ku})),n.d(t,"getCookie",(function(){return Su})),n.d(t,"deleteCookie",(function(){return Cu})),n.d(t,"MatomoUrl",(function(){return De})),n.d(t,"Matomo",(function(){return S})),n.d(t,"Periods",(function(){return p})),n.d(t,"Day",(function(){return G})),n.d(t,"Week",(function(){return X})),n.d(t,"Month",(function(){return re})),n.d(t,"Year",(function(){return le})),n.d(t,"Range",(function(){return F})),n.d(t,"format",(function(){return P})),n.d(t,"getToday",(function(){return D})),n.d(t,"parseDate",(function(){return E})),n.d(t,"todayIsInRange",(function(){return V})),n.d(t,"Dropdown",(function(){return Xe})),n.d(t,"FocusAnywhereButHere",(function(){return ot})),n.d(t,"FocusIf",(function(){return lt})),n.d(t,"MatomoDialog",(function(){return _t})),n.d(t,"ExpandOnClick",(function(){return bt})),n.d(t,"ExpandOnHover",(function(){return Ct})),n.d(t,"SelectOnFocus",(function(){return Nt})),n.d(t,"SideNav",(function(){return At})),n.d(t,"EnrichedHeadline",(function(){return wn})),n.d(t,"ContentBlock",(function(){return Nn})),n.d(t,"Comparisons",(function(){return vr})),n.d(t,"MenuDropdown",(function(){return Ir})),n.d(t,"DatePicker",(function(){return Hr})),n.d(t,"DateRangePicker",(function(){return zr})),n.d(t,"PeriodDatePicker",(function(){return Zr})),n.d(t,"Notification",(function(){return Za})),n.d(t,"NotificationGroup",(function(){return fc})),n.d(t,"NotificationsStore",(function(){return lc})),n.d(t,"SiteSelector",(function(){return Bi})),n.d(t,"QuickAccess",(function(){return eo})),n.d(t,"FieldArray",(function(){return ho})),n.d(t,"MultiPairField",(function(){return Bo})),n.d(t,"PeriodSelector",(function(){return ka})),n.d(t,"ReportingMenu",(function(){return zc})),n.d(t,"ReportingPagesStore",(function(){return yc})),n.d(t,"ReportMetadataStore",(function(){return rl})),n.d(t,"WidgetsStore",(function(){return Hc})),n.d(t,"WidgetLoader",(function(){return fl})),n.d(t,"WidgetContainer",(function(){return Nl})),n.d(t,"WidgetByDimensionContainer",(function(){return Yl})),n.d(t,"Widget",(function(){return os})),n.d(t,"ReportingPage",(function(){return Bs})),n.d(t,"ReportExport",(function(){return hu})),"undefined"!==typeof window){var r=window.document.currentScript,i=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);i&&(n.p=i[1])}n("2342");var o=n("8bbf");function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n="string"!==typeof e?this.stringify(e):e,r=this.getFinalHashParams(t),i=this.stringify(r),o="?".concat(n);i.length&&(o="".concat(o,"#?").concat(i)),window.broadcast.propagateNewPage("",void 0,void 0,void 0,o)}},{key:"getFinalHashParams",value:function(e){return ge({period:this.parsed.value.period,date:this.parsed.value.date,segment:this.parsed.value.segment},"string"!==typeof e?e:ke.getValuesFromUrl("?".concat(e),!0))}},{key:"updateLocation",value:function(e){S.helper.isAngularRenderingThePage()?this.updateHash(e):this.updateUrl(e)}},{key:"getSearchParam",value:function(e){var t=window.location.href.split("#"),n=new RegExp("".concat(e,"(\\[]|=)"));if(t&&t[1]&&n.test(decodeURIComponent(t[1]))){var r=window.broadcast.getValueFromHash(e,window.location.href);if(r||"date"!==e&&"period"!==e&&"idSite"!==e)return r}return window.broadcast.getValueFromUrl(e,window.location.search)}},{key:"stringify",value:function(e){var t=Object.fromEntries(Object.entries(e).filter((function(e){var t=se(e,2),n=t[1];return""!==n&&null!==n&&void 0!==n})));return $.param(t).replace(/%5B%5D/g,"[]").replace(/%2C/g,",")}},{key:"updatePeriodParamsFromUrl",value:function(){var e=this.getSearchParam("date"),t=this.getSearchParam("period");if(Se(t,e)&&(je.period!==t||je.currentDateString!==e)){je.period=t;var n=p.parse(t,e).getDateRange();je.startDateString=P(n[0]),je.endDateString=P(n[1]),je.updateDateInTitle(e,t),"range"===je.period&&(e="".concat(je.startDateString,",").concat(je.endDateString)),je.currentDateString=e}}},{key:"setUrlQuery",value:function(e){this.urlQuery.value=e.replace(/^\?/,"")}},{key:"setHashQuery",value:function(e){this.hashQuery.value=e.replace(/^[#/?]+/,"")}}]),e}(),Pe=new Ce,De=Pe; + */p.addCustomPeriod("year",le);var we=window,je=we.piwik,ke=we.broadcast;function Se(e,t){try{return p.parse(e,t),!0}catch(n){return!1}}var Ce=function(){function e(){var t=this;be(this,e),Oe(this,"urlQuery",Object(o["ref"])("")),Oe(this,"hashQuery",Object(o["ref"])("")),Oe(this,"urlParsed",Object(o["computed"])((function(){return Object(o["readonly"])(ke.getValuesFromUrl("?".concat(t.urlQuery.value),!0))}))),Oe(this,"hashParsed",Object(o["computed"])((function(){return Object(o["readonly"])(ke.getValuesFromUrl("?".concat(t.hashQuery.value),!0))}))),Oe(this,"parsed",Object(o["computed"])((function(){return Object(o["readonly"])(ge(ge({},t.urlParsed.value),t.hashParsed.value))}))),this.setUrlQuery(window.location.search),this.setHashQuery(window.location.hash),S.on("$locationChangeSuccess",(function(e){var n=new URL(e);t.setUrlQuery(n.search.replace(/^\?/,"")),t.setHashQuery(n.hash.replace(/^#/,""))})),this.updatePeriodParamsFromUrl()}return ye(e,[{key:"updateHash",value:function(e){var t=this.getFinalHashParams(e),n=this.stringify(t),r=S.helper.getAngularDependency("$location");r.search(n);var i=S.helper.getAngularDependency("$timeout");i()}},{key:"updateUrl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="string"!==typeof e?this.stringify(e):e,r=this.getFinalHashParams(t),i=this.stringify(r),o="?".concat(n);i.length&&(o="".concat(o,"#?").concat(i)),window.broadcast.propagateNewPage("",void 0,void 0,void 0,o)}},{key:"getFinalHashParams",value:function(e){return ge({period:this.parsed.value.period,date:this.parsed.value.date,segment:this.parsed.value.segment},"string"!==typeof e?e:ke.getValuesFromUrl("?".concat(e),!0))}},{key:"updateLocation",value:function(e){S.helper.isAngularRenderingThePage()?this.updateHash(e):this.updateUrl(e)}},{key:"getSearchParam",value:function(e){var t=window.location.href.split("#"),n=new RegExp("".concat(e,"(\\[]|=)"));if(t&&t[1]&&n.test(decodeURIComponent(t[1]))){var r=window.broadcast.getValueFromHash(e,window.location.href);if(r||"date"!==e&&"period"!==e&&"idSite"!==e)return r}return window.broadcast.getValueFromUrl(e,window.location.search)}},{key:"stringify",value:function(e){var t=Object.fromEntries(Object.entries(e).filter((function(e){var t=se(e,2),n=t[1];return""!==n&&null!==n&&void 0!==n})));return $.param(t).replace(/%5B%5D/g,"[]").replace(/%2C/g,",")}},{key:"updatePeriodParamsFromUrl",value:function(){var e=this.getSearchParam("date"),t=this.getSearchParam("period");if(Se(t,e)&&(je.period!==t||je.currentDateString!==e)){je.period=t;var n=p.parse(t,e).getDateRange();je.startDateString=P(n[0]),je.endDateString=P(n[1]),je.updateDateInTitle(e,t),"range"===je.period&&(e="".concat(je.startDateString,",").concat(je.endDateString)),je.currentDateString=e}}},{key:"setUrlQuery",value:function(e){this.urlQuery.value=e.replace(/^\?/,"")}},{key:"setHashQuery",value:function(e){this.hashQuery.value=e.replace(/^[#/?]+/,"")}}]),e}(),Pe=new Ce,De=Pe; /*! * Matomo - free/libre analytics platform * @@ -151,14 +151,14 @@ function ut(e,t){return e instanceof HTMLElement?e:t.instance.$refs[e]}angular.m * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function pt(e){e.classList.toggle("expanded");var t=e.querySelector(".dropdown.positionInViewport");t&&S.helper.setMarginLeftToBeInViewport(t)}function ft(e,t,n){var r=t.value.isMouseDown&&t.value.hasScrolled;t.value.isMouseDown=!1,t.value.hasScrolled=!1,r||e.contains(n.target)||e.classList.remove("expanded")}function mt(e){e.value.hasScrolled=!0}function ht(e){e.value.isMouseDown=!0,e.value.hasScrolled=!1}function gt(e,t,n){27===n.which&&(t.value.isMouseDown=!1,t.value.hasScrolled=!1,e.classList.remove("expanded"))}var vt=document.documentElement,bt={mounted:function(e,t){t.value.isMouseDown=!1,t.value.hasScrolled=!1,t.value.onExpand=pt.bind(null,e),t.value.onEscapeHandler=gt.bind(null,e,t),t.value.onMouseDown=ht.bind(null,t),t.value.onClickOutsideElement=ft.bind(null,e,t),t.value.onScroll=mt.bind(null,t),setTimeout((function(){var e=dt.getRef(t.value.expander,t);e.addEventListener("click",t.value.onExpand)})),vt.addEventListener("keyup",t.value.onEscapeHandler),vt.addEventListener("mousedown",t.value.onMouseDown),vt.addEventListener("mouseup",t.value.onClickOutsideElement),vt.addEventListener("scroll",t.value.onScroll)},unmounted:function(e,t){var n=dt.getRef(t.value.expander,t);n.removeEventListener("click",t.value.onExpand),vt.removeEventListener("keyup",t.value.onEscapeHandler),vt.removeEventListener("mousedown",t.value.onMouseDown),vt.removeEventListener("mouseup",t.value.onClickOutsideElement),vt.removeEventListener("scroll",t.value.onScroll)}}; + */function pt(e){e.classList.toggle("expanded");var t=e.querySelector(".dropdown.positionInViewport");t&&S.helper.setMarginLeftToBeInViewport(t)}function ft(e,t,n){var r=t.value.isMouseDown&&t.value.hasScrolled;t.value.isMouseDown=!1,t.value.hasScrolled=!1,r||e.contains(n.target)||e.classList.remove("expanded")}function mt(e){e.value.hasScrolled=!0}function ht(e){e.value.isMouseDown=!0,e.value.hasScrolled=!1}function gt(e,t,n){27===n.which&&(t.value.isMouseDown=!1,t.value.hasScrolled=!1,e.classList.remove("expanded"))}var bt=document.documentElement,vt={mounted:function(e,t){t.value.isMouseDown=!1,t.value.hasScrolled=!1,t.value.onExpand=pt.bind(null,e),t.value.onEscapeHandler=gt.bind(null,e,t),t.value.onMouseDown=ht.bind(null,t),t.value.onClickOutsideElement=ft.bind(null,e,t),t.value.onScroll=mt.bind(null,t),setTimeout((function(){var e=dt.getRef(t.value.expander,t);e.addEventListener("click",t.value.onExpand)})),bt.addEventListener("keyup",t.value.onEscapeHandler),bt.addEventListener("mousedown",t.value.onMouseDown),bt.addEventListener("mouseup",t.value.onClickOutsideElement),bt.addEventListener("scroll",t.value.onScroll)},unmounted:function(e,t){var n=dt.getRef(t.value.expander,t);n.removeEventListener("click",t.value.onExpand),bt.removeEventListener("keyup",t.value.onEscapeHandler),bt.removeEventListener("mousedown",t.value.onMouseDown),bt.removeEventListener("mouseup",t.value.onClickOutsideElement),bt.removeEventListener("scroll",t.value.onScroll)}}; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ -function yt(){return{restrict:"A",link:function(e,t){var n={instance:null,value:{expander:t.find(".title").first()[0]},oldValue:null,modifiers:{},dir:{}};bt.mounted(t[0],n),t.on("$destroy",(function(){return bt.unmounted(t[0],n)}))}}} +function yt(){return{restrict:"A",link:function(e,t){var n={instance:null,value:{expander:t.find(".title").first()[0]},oldValue:null,modifiers:{},dir:{}};vt.mounted(t[0],n),t.on("$destroy",(function(){return vt.unmounted(t[0],n)}))}}} /*! * Matomo - free/libre analytics platform * @@ -211,19 +211,19 @@ function Bt(e){return{restrict:"A",priority:10,link:function(t,n,r){var i={insta * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */var Gt=0;function zt(e){return e.substring(0,1).toLowerCase()+e.substring(1).replace(/[A-Z]/g,(function(e){return"-".concat(e.toLowerCase())}))}function Yt(e){return e.substring(0,1).toLowerCase()+e.substring(1).replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))}function Qt(e){return"object"===Jt(e)&&null!==e&&Object.getPrototypeOf(e)===Object.prototype?Object.fromEntries(Object.entries(e).filter((function(e){return!/^\$/.test(e[0])}))):e}function Kt(e){var t=e.component,n=e.require,r=e.scope,i=void 0===r?{}:r,a=e.events,c=void 0===a?{}:a,l=e.$inject,s=e.directiveName,u=e.transclude,d=e.mountPointFactory,p=e.postCreate,f=e.noScope,m=e.restrict,h=void 0===m?"A":m,g=e.priority,v=e.replace,b=Gt;u&&(Gt+=1);var y={},O={};function w(){for(var e=arguments.length,r=new Array(e),a=0;a')),l}return Object.entries(i).forEach((function(e){var t=Ft(e,2),n=t[0],r=t[1];r.vue||(r.vue=n),r.angularJsBind&&(O[n]=r.angularJsBind),y[r.vue]=n})),w.$inject=l||[],angular.module("piwikApp").directive(s,w),w}function Xt(e){if("undefined"!==typeof e)return"true"===e||!!e&&e>0&&"0"!==e}function Zt(e){if("undefined"!==typeof e)return null===e?null:parseInt(e,10)}function en(e){return"undefined"===typeof e?e:JSON.parse(JSON.stringify(e))}function tn(e){var t=en(e);return S.helper.getAngularDependency("$rootScope").$applyAsync(),t} + */var Gt=0;function zt(e){return e.substring(0,1).toLowerCase()+e.substring(1).replace(/[A-Z]/g,(function(e){return"-".concat(e.toLowerCase())}))}function Yt(e){return e.substring(0,1).toLowerCase()+e.substring(1).replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))}function Qt(e){return"object"===Jt(e)&&null!==e&&Object.getPrototypeOf(e)===Object.prototype?Object.fromEntries(Object.entries(e).filter((function(e){return!/^\$/.test(e[0])}))):e}function Kt(e){var t=e.component,n=e.require,r=e.scope,i=void 0===r?{}:r,a=e.events,c=void 0===a?{}:a,l=e.$inject,s=e.directiveName,u=e.transclude,d=e.mountPointFactory,p=e.postCreate,f=e.noScope,m=e.restrict,h=void 0===m?"A":m,g=e.priority,b=e.replace,v=Gt;u&&(Gt+=1);var y={},O={};function w(){for(var e=arguments.length,r=new Array(e),a=0;a')),l}return Object.entries(i).forEach((function(e){var t=Ft(e,2),n=t[0],r=t[1];r.vue||(r.vue=n),r.angularJsBind&&(O[n]=r.angularJsBind),y[r.vue]=n})),w.$inject=l||[],angular.module("piwikApp").directive(s,w),w}function Xt(e){if("undefined"!==typeof e)return"true"===e||!!e&&e>0&&"0"!==e}function Zt(e){if("undefined"!==typeof e)return null===e?null:parseInt(e,10)}function en(e){return"undefined"===typeof e?e:JSON.parse(JSON.stringify(e))}function tn(e){var t=en(e);return S.helper.getAngularDependency("$rootScope").$applyAsync(),t} /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */Kt({component:_t,scope:{show:{vue:"modelValue",default:!1},element:{default:function(e,t){return t[0]}}},events:{yes:function(e,t,n,r,i){i.yes&&(n.$eval(i.yes),setTimeout((function(){n.$apply()}),0))},no:function(e,t,n,r,i){i.no&&(n.$eval(i.no),setTimeout((function(){n.$apply()}),0))},validation:function(e,t,n,r,i){i.no&&(n.$eval(i.no),setTimeout((function(){n.$apply()}),0))},close:function(e,t,n,r,i){i.close&&(n.$eval(i.close),setTimeout((function(){n.$apply()}),0))},"update:modelValue":function(e,t,n,r,i,o,a){setTimeout((function(){n.$apply(a(i.piwikDialog).assign(n,e))}),0)}},$inject:["$parse"],directiveName:"piwikDialog",transclude:!0,mountPointFactory:function(e,t){var n=$('
');return n.appendTo(t),n[0]},postCreate:function(e,t,n,r){t.$watch(r.piwikDialog,(function(t,n){n!==t&&(e.modelValue=t||!1)}))},noScope:!0});var nn={key:0,class:"title",tabindex:"6"},rn=["href","title"],on={class:"iconsBar"},an=["href","title"],cn=Object(o["createElementVNode"])("span",{class:"icon-help"},null,-1),ln=[cn],sn=["title"],un=Object(o["createElementVNode"])("span",{class:"icon-info"},null,-1),dn=[un],pn={class:"ratingIcons"},fn={class:"inlineHelp"},mn=["innerHTML"],hn=["innerHTML"],gn=["href"];function vn(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("RateFeature");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"enrichedHeadline",onMouseenter:t[1]||(t[1]=function(t){return e.showIcons=!0}),onMouseleave:t[2]||(t[2]=function(t){return e.showIcons=!1}),ref:"root"},[e.editUrl?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["renderSlot"])(e.$slots,"default")])),e.editUrl?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:1,class:"title",href:e.editUrl,title:e.translate("CoreHome_ClickToEditX",e.$sanitize(e.actualFeatureName))},[Object(o["renderSlot"])(e.$slots,"default")],8,rn)):Object(o["createCommentVNode"])("",!0),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",on,[e.helpUrl&&!e.actualInlineHelp?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,rel:"noreferrer noopener",target:"_blank",class:"helpIcon",href:e.helpUrl,title:e.translate("CoreHome_ExternalHelp")},ln,8,an)):Object(o["createCommentVNode"])("",!0),e.actualInlineHelp?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:1,onClick:t[0]||(t[0]=function(t){return e.showInlineHelp=!e.showInlineHelp}),class:Object(o["normalizeClass"])(["helpIcon",{active:e.showInlineHelp}]),title:e.translate(e.reportGenerated?"General_HelpReport":"General_Help")},dn,10,sn)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",pn,[Object(o["createVNode"])(c,{title:e.actualFeatureName},null,8,["title"])])],512),[[o["vShow"],e.showIcons||e.showInlineHelp]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",fn,[Object(o["createElementVNode"])("div",{innerHTML:e.$sanitize(e.actualInlineHelp)},null,8,mn),Object(o["createElementVNode"])("span",{class:"helpDate",innerHTML:e.reportGenerated},null,8,hn),e.helpUrl?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,rel:"noreferrer noopener",target:"_blank",class:"readMore",href:e.helpUrl},Object(o["toDisplayString"])(e.translate("General_MoreDetails")),9,gn)):Object(o["createCommentVNode"])("",!0)],512),[[o["vShow"],e.showInlineHelp]])],544)} + */Kt({component:_t,scope:{show:{vue:"modelValue",default:!1},element:{default:function(e,t){return t[0]}}},events:{yes:function(e,t,n,r,i){i.yes&&(n.$eval(i.yes),setTimeout((function(){n.$apply()}),0))},no:function(e,t,n,r,i){i.no&&(n.$eval(i.no),setTimeout((function(){n.$apply()}),0))},validation:function(e,t,n,r,i){i.no&&(n.$eval(i.no),setTimeout((function(){n.$apply()}),0))},close:function(e,t,n,r,i){i.close&&(n.$eval(i.close),setTimeout((function(){n.$apply()}),0))},"update:modelValue":function(e,t,n,r,i,o,a){setTimeout((function(){n.$apply(a(i.piwikDialog).assign(n,e))}),0)}},$inject:["$parse"],directiveName:"piwikDialog",transclude:!0,mountPointFactory:function(e,t){var n=$('
');return n.appendTo(t),n[0]},postCreate:function(e,t,n,r){t.$watch(r.piwikDialog,(function(t,n){n!==t&&(e.modelValue=t||!1)}))},noScope:!0});var nn={key:0,class:"title",tabindex:"6"},rn=["href","title"],on={class:"iconsBar"},an=["href","title"],cn=Object(o["createElementVNode"])("span",{class:"icon-help"},null,-1),ln=[cn],sn=["title"],un=Object(o["createElementVNode"])("span",{class:"icon-info"},null,-1),dn=[un],pn={class:"ratingIcons"},fn={class:"inlineHelp"},mn=["innerHTML"],hn=["innerHTML"],gn=["href"];function bn(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("RateFeature");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"enrichedHeadline",onMouseenter:t[1]||(t[1]=function(t){return e.showIcons=!0}),onMouseleave:t[2]||(t[2]=function(t){return e.showIcons=!1}),ref:"root"},[e.editUrl?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["renderSlot"])(e.$slots,"default")])),e.editUrl?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:1,class:"title",href:e.editUrl,title:e.translate("CoreHome_ClickToEditX",e.$sanitize(e.actualFeatureName))},[Object(o["renderSlot"])(e.$slots,"default")],8,rn)):Object(o["createCommentVNode"])("",!0),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",on,[e.helpUrl&&!e.actualInlineHelp?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,rel:"noreferrer noopener",target:"_blank",class:"helpIcon",href:e.helpUrl,title:e.translate("CoreHome_ExternalHelp")},ln,8,an)):Object(o["createCommentVNode"])("",!0),e.actualInlineHelp?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:1,onClick:t[0]||(t[0]=function(t){return e.showInlineHelp=!e.showInlineHelp}),class:Object(o["normalizeClass"])(["helpIcon",{active:e.showInlineHelp}]),title:e.translate(e.reportGenerated?"General_HelpReport":"General_Help")},dn,10,sn)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",pn,[Object(o["createVNode"])(c,{title:e.actualFeatureName},null,8,["title"])])],512),[[o["vShow"],e.showIcons||e.showInlineHelp]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",fn,[Object(o["createElementVNode"])("div",{innerHTML:e.$sanitize(e.actualInlineHelp)},null,8,mn),Object(o["createElementVNode"])("span",{class:"helpDate",innerHTML:e.reportGenerated},null,8,hn),e.helpUrl?(Object(o["openBlock"])(),Object(o["createElementBlock"])("a",{key:0,rel:"noreferrer noopener",target:"_blank",class:"readMore",href:e.helpUrl},Object(o["toDisplayString"])(e.translate("General_MoreDetails")),9,gn)):Object(o["createCommentVNode"])("",!0)],512),[[o["vShow"],e.showInlineHelp]])],544)} /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function bn(e,t){return Object(o["defineAsyncComponent"])((function(){return new Promise((function(n){window.$(document).ready((function(){window[e]?n(window[e][t]):n(null)}))}))}))}var yn=bn("Feedback","RateFeature"),On=Object(o["defineComponent"])({props:{helpUrl:{type:String,default:""},editUrl:{type:String,default:""},reportGenerated:String,featureName:String,inlineHelp:String},components:{RateFeature:yn},data:function(){return{showIcons:!1,showInlineHelp:!1,actualFeatureName:this.featureName,actualInlineHelp:this.inlineHelp}},watch:{inlineHelp:function(e){this.actualInlineHelp=e},featureName:function(e){this.actualFeatureName=e}},mounted:function(){var e=this,t=this.$refs.root;setTimeout((function(){if(!e.actualInlineHelp){var n,r=t.querySelector(".title .inlineHelp");if(!r&&null!==(n=t.parentElement)&&void 0!==n&&n.nextElementSibling&&(r=t.parentElement.nextElementSibling.querySelector(".reportDocumentation")),r){var i=r.getAttribute("data-content").trim();i.length&&(e.actualInlineHelp="

".concat(i,"

"),setTimeout((function(){return r.remove()}),0))}}e.actualFeatureName||(e.actualFeatureName=t.querySelector(".title").textContent),e.reportGenerated&&p.parse(S.period,S.currentDateString).containsToday()&&window.$(t.querySelector(".report-generated")).tooltip({track:!0,content:e.reportGenerated,items:"div",show:!1,hide:!1})}))}});On.render=vn;var wn=On,jn=(Kt({component:wn,scope:{helpUrl:{angularJsBind:"@"},editUrl:{angularJsBind:"@"},reportGenerated:{angularJsBind:"@?"},featureName:{angularJsBind:"@"},inlineHelp:{angularJsBind:"@?"}},directiveName:"piwikEnrichedHeadline",transclude:!0}),{class:"card",ref:"root"}),kn={class:"card-content"},Sn={key:0,class:"card-title"},Cn={key:1,class:"card-title"},Pn={ref:"content"}; + */function vn(e,t){return Object(o["defineAsyncComponent"])((function(){return new Promise((function(n){window.$(document).ready((function(){window[e]?n(window[e][t]):n(null)}))}))}))}var yn=vn("Feedback","RateFeature"),On=Object(o["defineComponent"])({props:{helpUrl:{type:String,default:""},editUrl:{type:String,default:""},reportGenerated:String,featureName:String,inlineHelp:String},components:{RateFeature:yn},data:function(){return{showIcons:!1,showInlineHelp:!1,actualFeatureName:this.featureName,actualInlineHelp:this.inlineHelp}},watch:{inlineHelp:function(e){this.actualInlineHelp=e},featureName:function(e){this.actualFeatureName=e}},mounted:function(){var e=this,t=this.$refs.root;setTimeout((function(){if(!e.actualInlineHelp){var n,r=t.querySelector(".title .inlineHelp");if(!r&&null!==(n=t.parentElement)&&void 0!==n&&n.nextElementSibling&&(r=t.parentElement.nextElementSibling.querySelector(".reportDocumentation")),r){var i=r.getAttribute("data-content").trim();i.length&&(e.actualInlineHelp="

".concat(i,"

"),setTimeout((function(){return r.remove()}),0))}}e.actualFeatureName||(e.actualFeatureName=t.querySelector(".title").textContent),e.reportGenerated&&p.parse(S.period,S.currentDateString).containsToday()&&window.$(t.querySelector(".report-generated")).tooltip({track:!0,content:e.reportGenerated,items:"div",show:!1,hide:!1})}))}});On.render=bn;var wn=On,jn=(Kt({component:wn,scope:{helpUrl:{angularJsBind:"@"},editUrl:{angularJsBind:"@"},reportGenerated:{angularJsBind:"@?"},featureName:{angularJsBind:"@"},inlineHelp:{angularJsBind:"@?"}},directiveName:"piwikEnrichedHeadline",transclude:!0}),{class:"card",ref:"root"}),kn={class:"card-content"},Sn={key:0,class:"card-title"},Cn={key:1,class:"card-title"},Pn={ref:"content"}; /*! * Matomo - free/libre analytics platform * @@ -253,13 +253,13 @@ function Bt(e){return{restrict:"A",priority:10,link:function(t,n,r){var i={insta * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function dr(e,t){window.$(e).tooltip({track:!0,content:t.value.content,show:{delay:t.value.delay||700,duration:t.value.duration||200},hide:!1})}var pr={mounted:function(e,t){setTimeout((function(){return dr(e,t)}))},updated:function(e,t){setTimeout((function(){return dr(e,t)}))},beforeUnmount:function(e){try{window.$(e).tooltip("destroy")}catch(t){}}};function fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mr(e){for(var t=1;t"))}return{isComparing:e,segmentComparisons:t,periodComparisons:n,getSeriesColor:r,transformTooltipContent:i}},methods:{comparisonHasSegment:function(e){return"undefined"!==typeof e.params.segment},removeSegmentComparison:function(e){window.$(this.$refs.root).tooltip("destroy"),Zn.removeSegmentComparison(e)},getComparisonPeriodType:function(e){var t=e.params.period;if("range"===t)return C("CoreHome_PeriodRange");var n=C("Intl_Period".concat(t.substring(0,1).toUpperCase()).concat(t.substring(1)));return n.substring(0,1).toUpperCase()+n.substring(1)},getComparisonTooltip:function(e,t){if(this.comparisonTooltips&&Object.keys(this.comparisonTooltips).length)return(this.comparisonTooltips[t.index]||{})[e.index]},getUrlToSegment:function(e){var t=mr({},De.hashParsed.value);return delete t.comparePeriods,delete t.compareDates,delete t.compareSegments,t.segment=e,"".concat(window.location.search,"#?").concat(De.stringify(t))},onComparisonsChanged:function(){var e=this;if(this.comparisonTooltips=null,Zn.isComparing()){var t=Zn.getPeriodComparisons(),n=Zn.getSegmentComparisons();Qe.fetch({method:"API.getProcessedReport",apiModule:"VisitsSummary",apiAction:"get",compare:"1",compareSegments:De.getSearchParam("compareSegments"),comparePeriods:De.getSearchParam("comparePeriods"),compareDates:De.getSearchParam("compareDates"),format_metrics:"1"}).then((function(r){e.comparisonTooltips={},t.forEach((function(t){e.comparisonTooltips[t.index]={},n.forEach((function(n){var i=e.generateComparisonTooltip(r,t,n);e.comparisonTooltips[t.index][n.index]=i}))}))}))}},generateComparisonTooltip:function(e,t,n){if(!e.reportData.comparisons)return"";var r=Zn.getComparisonSeriesIndex(t.index,0),i=e.reportData.comparisons[r],o=Zn.getComparisonSeriesIndex(t.index,n.index),a=e.reportData.comparisons[o],c=e.reportData.comparisons[n.index],l='
',s=(a.nb_visits/i.nb_visits*100).toFixed(2);return s="".concat(s,"%"),l+=C("General_ComparisonCardTooltip1",["'".concat(a.compareSegmentPretty,"'"),a.comparePeriodPretty,s,a.nb_visits.toString(),i.nb_visits.toString()]),t.index>0&&(l+="

",l+=C("General_ComparisonCardTooltip2",[a.nb_visits_change.toString(),c.compareSegmentPretty,c.comparePeriodPretty])),l+="
",l}},mounted:function(){var e=this;S.on("piwikComparisonsChanged",(function(){e.onComparisonsChanged()})),this.onComparisonsChanged()}});gr.render=ur;var vr=gr; + */function dr(e,t){window.$(e).tooltip({track:!0,content:t.value.content,show:{delay:t.value.delay||700,duration:t.value.duration||200},hide:!1})}var pr={mounted:function(e,t){setTimeout((function(){return dr(e,t)}))},updated:function(e,t){setTimeout((function(){return dr(e,t)}))},beforeUnmount:function(e){try{window.$(e).tooltip("destroy")}catch(t){}}};function fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mr(e){for(var t=1;t"))}return{isComparing:e,segmentComparisons:t,periodComparisons:n,getSeriesColor:r,transformTooltipContent:i}},methods:{comparisonHasSegment:function(e){return"undefined"!==typeof e.params.segment},removeSegmentComparison:function(e){window.$(this.$refs.root).tooltip("destroy"),Zn.removeSegmentComparison(e)},getComparisonPeriodType:function(e){var t=e.params.period;if("range"===t)return C("CoreHome_PeriodRange");var n=C("Intl_Period".concat(t.substring(0,1).toUpperCase()).concat(t.substring(1)));return n.substring(0,1).toUpperCase()+n.substring(1)},getComparisonTooltip:function(e,t){if(this.comparisonTooltips&&Object.keys(this.comparisonTooltips).length)return(this.comparisonTooltips[t.index]||{})[e.index]},getUrlToSegment:function(e){var t=mr({},De.hashParsed.value);return delete t.comparePeriods,delete t.compareDates,delete t.compareSegments,t.segment=e,"".concat(window.location.search,"#?").concat(De.stringify(t))},onComparisonsChanged:function(){var e=this;if(this.comparisonTooltips=null,Zn.isComparing()){var t=Zn.getPeriodComparisons(),n=Zn.getSegmentComparisons();Qe.fetch({method:"API.getProcessedReport",apiModule:"VisitsSummary",apiAction:"get",compare:"1",compareSegments:De.getSearchParam("compareSegments"),comparePeriods:De.getSearchParam("comparePeriods"),compareDates:De.getSearchParam("compareDates"),format_metrics:"1"}).then((function(r){e.comparisonTooltips={},t.forEach((function(t){e.comparisonTooltips[t.index]={},n.forEach((function(n){var i=e.generateComparisonTooltip(r,t,n);e.comparisonTooltips[t.index][n.index]=i}))}))}))}},generateComparisonTooltip:function(e,t,n){if(!e.reportData.comparisons)return"";var r=Zn.getComparisonSeriesIndex(t.index,0),i=e.reportData.comparisons[r],o=Zn.getComparisonSeriesIndex(t.index,n.index),a=e.reportData.comparisons[o],c=e.reportData.comparisons[n.index],l='
',s=(a.nb_visits/i.nb_visits*100).toFixed(2);return s="".concat(s,"%"),l+=C("General_ComparisonCardTooltip1",["'".concat(a.compareSegmentPretty,"'"),a.comparePeriodPretty,s,a.nb_visits.toString(),i.nb_visits.toString()]),t.index>0&&(l+="

",l+=C("General_ComparisonCardTooltip2",[a.nb_visits_change.toString(),c.compareSegmentPretty,c.comparePeriodPretty])),l+="
",l}},mounted:function(){var e=this;S.on("piwikComparisonsChanged",(function(){e.onComparisonsChanged()})),this.onComparisonsChanged()}});gr.render=ur;var br=gr; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function br(){return Zn}br.$inject=[],angular.module("piwikApp.service").factory("piwikComparisonsService",br);Kt({component:vr,directiveName:"piwikComparisons",restrict:"E"});var yr={ref:"root",class:"menuDropdown"},Or=["title"],wr=["innerHTML"],jr=Object(o["createElementVNode"])("span",{class:"icon-arrow-bottom"},null,-1),kr={class:"items"},Sr={key:0,class:"search"},Cr=["placeholder"],Pr=["title"],Dr=["title"];function Er(e,t,n,r,i,a){var c=Object(o["resolveDirective"])("focus-if"),l=Object(o["resolveDirective"])("focus-anywhere-but-here");return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yr,[Object(o["createElementVNode"])("span",{class:"title",onClick:t[0]||(t[0]=function(t){return e.showItems=!e.showItems}),title:e.tooltip},[Object(o["createElementVNode"])("span",{innerHTML:e.$sanitize(this.actualMenuTitle)},null,8,wr),jr],8,Or),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",kr,[e.showSearch&&e.showItems?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Sr,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.searchTerm=t}),onKeydown:t[2]||(t[2]=function(t){return e.onSearchTermKeydown(t)}),placeholder:e.translate("General_Search")},null,40,Cr),[[o["vModelText"],e.searchTerm],[c,{},e.showItems]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("img",{class:"search_ico",src:"plugins/Morpheus/images/search_ico.png",title:e.translate("General_Search")},null,8,Pr),[[o["vShow"],!e.searchTerm]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("img",{onClick:t[3]||(t[3]=function(t){e.searchTerm="",e.searchItems("")}),class:"reset",src:"plugins/CoreHome/images/reset_search.png",title:e.translate("General_Clear")},null,8,Dr),[[o["vShow"],e.searchTerm]])])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",{onClick:t[4]||(t[4]=function(t){return e.selectItem(t)})},[Object(o["renderSlot"])(e.$slots,"default")])],512),[[o["vShow"],e.showItems]])],512)),[[l,{blur:e.lostFocus}]])}var Vr=window,Nr=Vr.$,Tr=Object(o["defineComponent"])({props:{menuTitle:String,tooltip:String,showSearch:Boolean,menuTitleChangeOnClick:String},directives:{FocusAnywhereButHere:ot,FocusIf:lt},emits:["afterSelect"],watch:{menuTitle:function(){this.actualMenuTitle=this.menuTitle}},data:function(){return{showItems:!1,searchTerm:"",actualMenuTitle:this.menuTitle}},methods:{lostFocus:function(){this.showItems=!1},selectItem:function(e){var t=e.target.classList;!t.contains("item")||t.contains("disabled")||t.contains("separator")||(!1!==this.menuTitleChangeOnClick&&(this.actualMenuTitle=e.target.textContent.replace(/[\u0000-\u2666]/g,(function(e){return"&#".concat(e.charCodeAt(0),";")}))),this.showItems=!1,Nr(this.$slots.default()).find(".item").removeClass("active"),t.add("active"),this.$emit("afterSelect"))},onSearchTermKeydown:function(){var e=this;setTimeout((function(){e.searchItems(e.searchTerm)}))},searchItems:function(e){var t=e.toLowerCase();Nr(this.$refs.root).find(".item").each((function(e,n){var r=Nr(n);-1===r.text().toLowerCase().indexOf(t)?r.hide():r.show()}))}}});Tr.render=Er;var Ir=Tr,Ar=(Kt({component:Ir,scope:{menuTitle:{angularJsBind:"@"},tooltip:{angularJsBind:"@"},showSearch:{angularJsBind:"="},menuTitleChangeOnClick:{angularJsBind:"="}},directiveName:"piwikMenudropdown",transclude:!0,events:{"after-select":function(e,t,n){setTimeout((function(){n.$apply()}),0)}}}),{ref:"root"}); + */function vr(){return Zn}vr.$inject=[],angular.module("piwikApp.service").factory("piwikComparisonsService",vr);Kt({component:br,directiveName:"piwikComparisons",restrict:"E"});var yr={ref:"root",class:"menuDropdown"},Or=["title"],wr=["innerHTML"],jr=Object(o["createElementVNode"])("span",{class:"icon-arrow-bottom"},null,-1),kr={class:"items"},Sr={key:0,class:"search"},Cr=["placeholder"],Pr=["title"],Dr=["title"];function Er(e,t,n,r,i,a){var c=Object(o["resolveDirective"])("focus-if"),l=Object(o["resolveDirective"])("focus-anywhere-but-here");return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yr,[Object(o["createElementVNode"])("span",{class:"title",onClick:t[0]||(t[0]=function(t){return e.showItems=!e.showItems}),title:e.tooltip},[Object(o["createElementVNode"])("span",{innerHTML:e.$sanitize(this.actualMenuTitle)},null,8,wr),jr],8,Or),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",kr,[e.showSearch&&e.showItems?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Sr,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.searchTerm=t}),onKeydown:t[2]||(t[2]=function(t){return e.onSearchTermKeydown(t)}),placeholder:e.translate("General_Search")},null,40,Cr),[[o["vModelText"],e.searchTerm],[c,{},e.showItems]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("img",{class:"search_ico",src:"plugins/Morpheus/images/search_ico.png",title:e.translate("General_Search")},null,8,Pr),[[o["vShow"],!e.searchTerm]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("img",{onClick:t[3]||(t[3]=function(t){e.searchTerm="",e.searchItems("")}),class:"reset",src:"plugins/CoreHome/images/reset_search.png",title:e.translate("General_Clear")},null,8,Dr),[[o["vShow"],e.searchTerm]])])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",{onClick:t[4]||(t[4]=function(t){return e.selectItem(t)})},[Object(o["renderSlot"])(e.$slots,"default")])],512),[[o["vShow"],e.showItems]])],512)),[[l,{blur:e.lostFocus}]])}var Vr=window,Nr=Vr.$,Tr=Object(o["defineComponent"])({props:{menuTitle:String,tooltip:String,showSearch:Boolean,menuTitleChangeOnClick:String},directives:{FocusAnywhereButHere:ot,FocusIf:lt},emits:["afterSelect"],watch:{menuTitle:function(){this.actualMenuTitle=this.menuTitle}},data:function(){return{showItems:!1,searchTerm:"",actualMenuTitle:this.menuTitle}},methods:{lostFocus:function(){this.showItems=!1},selectItem:function(e){var t=e.target.classList;!t.contains("item")||t.contains("disabled")||t.contains("separator")||(!1!==this.menuTitleChangeOnClick&&(this.actualMenuTitle=e.target.textContent.replace(/[\u0000-\u2666]/g,(function(e){return"&#".concat(e.charCodeAt(0),";")}))),this.showItems=!1,Nr(this.$slots.default()).find(".item").removeClass("active"),t.add("active"),this.$emit("afterSelect"))},onSearchTermKeydown:function(){var e=this;setTimeout((function(){e.searchItems(e.searchTerm)}))},searchItems:function(e){var t=e.toLowerCase();Nr(this.$refs.root).find(".item").each((function(e,n){var r=Nr(n);-1===r.text().toLowerCase().indexOf(t)?r.hide():r.show()}))}}});Tr.render=Er;var Ir=Tr,Ar=(Kt({component:Ir,scope:{menuTitle:{angularJsBind:"@"},tooltip:{angularJsBind:"@"},showSearch:{angularJsBind:"="},menuTitleChangeOnClick:{angularJsBind:"="}},directiveName:"piwikMenudropdown",transclude:!0,events:{"after-select":function(e,t,n){setTimeout((function(){n.$apply()}),0)}}}),{ref:"root"}); /*! * Matomo - free/libre analytics platform * @@ -283,7 +283,7 @@ function Bt(e){return{restrict:"A",priority:10,link:function(t,n,r){var i={insta * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function hi(e,t,n,r,i,a){var c,l,s,u,d=Object(o["resolveComponent"])("AllSitesLink"),p=Object(o["resolveDirective"])("focus-if"),f=Object(o["resolveDirective"])("focus-anywhere-but-here");return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:Object(o["normalizeClass"])(["siteSelector piwikSelector borderedControl",{expanded:e.showSitesList,disabled:!e.hasMultipleSites}])},[e.name?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,type:"hidden",value:null===(c=e.modelValue)||void 0===c?void 0:c.id,name:e.name},null,8,ei)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("a",{ref:"selectorLink",onClick:t[0]||(t[0]=function(){return e.onClickSelector&&e.onClickSelector.apply(e,arguments)}),onKeydown:t[1]||(t[1]=function(t){return e.onPressEnter(t)}),href:"javascript:void(0)",class:Object(o["normalizeClass"])([{loading:e.isLoading},"title"]),tabindex:"4",title:e.selectorLinkTitle},[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["icon icon-arrow-bottom",{iconHidden:e.isLoading,collapsed:!e.showSitesList}])},null,2),Object(o["createElementVNode"])("span",null,[null!==(l=e.modelValue)&&void 0!==l&&l.name||!e.placeholder?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,textContent:Object(o["toDisplayString"])((null===(s=e.modelValue)||void 0===s?void 0:s.name)||e.firstSiteName)},null,8,ni)):Object(o["createCommentVNode"])("",!0),null!==(u=e.modelValue)&&void 0!==u&&u.name||!e.placeholder?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",ri,Object(o["toDisplayString"])(e.placeholder),1))])],42,ti),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",ii,[Object(o["withDirectives"])(Object(o["createElementVNode"])("div",oi,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"text",onClick:t[2]||(t[2]=function(t){e.searchTerm="",e.loadInitialSites()}),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.searchTerm=t}),tabindex:"4",class:"websiteSearch inp browser-default",placeholder:e.translate("General_Search")},null,8,ai),[[o["vModelText"],e.searchTerm],[p,{},e.shouldFocusOnSearch]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("img",{title:"Clear",onClick:t[4]||(t[4]=function(t){e.searchTerm="",e.loadInitialSites()}),class:"reset",src:"plugins/CoreHome/images/reset_search.png"},null,512),[[o["vShow"],e.searchTerm]])],512),[[o["vShow"],e.autocompleteMinSites<=e.sites.length||e.searchTerm]]),"top"===e.allSitesLocation&&e.showAllSitesItem?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ci,[Object(o["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[5]||(t[5]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",li,[Object(o["createElementVNode"])("ul",{class:"custom_select_ul_list",onClick:t[7]||(t[7]=function(t){return e.showSitesList=!1})},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.sites,(function(n,r){return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{onClick:function(t){return e.switchSite(n,t)},key:r},[Object(o["createElementVNode"])("a",{onClick:t[6]||(t[6]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.getMatchedSiteName(n.name)),tabindex:"4",href:e.getUrlForSiteId(n.idsite),title:n.name},null,8,ui)],8,si)),[[o["vShow"],!(!e.showSelectedSite&&e.activeSiteId===n.idsite)]])})),128))]),Object(o["withDirectives"])(Object(o["createElementVNode"])("ul",di,[Object(o["createElementVNode"])("li",pi,[Object(o["createElementVNode"])("a",fi,Object(o["toDisplayString"])(e.translate("SitesManager_NotFound")+" "+e.searchTerm),1)])],512),[[o["vShow"],!e.sites.length&&e.searchTerm]])]),"bottom"===e.allSitesLocation&&e.showAllSitesItem?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",mi,[Object(o["createVNode"])(d,{href:e.urlAllSites,"all-sites-text":e.allSitesText,onClick:t[8]||(t[8]=function(t){return e.onAllSitesClick(t)})},null,8,["href","all-sites-text"])])):Object(o["createCommentVNode"])("",!0)],512),[[o["vShow"],e.showSitesList]])],2)),[[f,{blur:e.onBlur}]])}var gi=["innerHTML","href"];function vi(e,t,n,r,i,a){var c=this;return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{onClick:t[1]||(t[1]=function(e){return c.onClick(e)}),class:"custom_select_all"},[Object(o["createElementVNode"])("a",{onClick:t[0]||(t[0]=function(e){return e.preventDefault()}),innerHTML:e.$sanitize(e.allSitesText),tabindex:"4",href:e.href},null,8,gi)])}var bi=Object(o["defineComponent"])({props:{href:String,allSitesText:String},emits:["click"],methods:{onClick:function(e){this.$emit("click",e)}}});bi.render=vi;var yi=bi;function Oi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wi(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var t=this.modelValue.filter((function(t,n){return n!==e}));this.$emit("update:modelValue",t)}}}});mo.render=oo;var ho=mo; + */Kt({component:eo,directiveName:"piwikQuickAccess",events:{itemSelected:function(e,t,n,r,i,o,a){a()},blur:function(e,t,n){setTimeout((function(){return n.$apply()}))}}});function to(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var no={class:"fieldArray form-group"},ro={key:0,class:"fieldUiControl"},io=["onClick","title"];function oo(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("Field");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",no,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.modelValue,(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:Object(o["normalizeClass"])(["fieldArrayTable multiple valign-wrapper",to({},"fieldArrayTable".concat(n),!0)]),key:n},[e.field.uiControl?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ro,[Object(o["createVNode"])(c,{"full-width":!0,"model-value":t,options:e.field.availableValues,"onUpdate:modelValue":function(t){return e.onEntryChange(t,n)},placeholder:" ",uicontrol:e.field.uiControl,title:e.field.title,name:"".concat(e.name,"-").concat(n)},null,8,["model-value","options","onUpdate:modelValue","uicontrol","title","name"])])):Object(o["createCommentVNode"])("",!0),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{onClick:function(t){return e.removeEntry(n)},class:"icon-minus valign",title:e.translate("General_Remove")},null,8,io),[[o["vShow"],n+1!==e.modelValue.length]])],2)})),128))])}function ao(e){return uo(e)||so(e)||lo(e)||co()}function co(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function lo(e,t){if(e){if("string"===typeof e)return po(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?po(e,t):void 0}}function so(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function uo(e){if(Array.isArray(e))return po(e)}function po(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var t=this.modelValue.filter((function(t,n){return n!==e}));this.$emit("update:modelValue",t)}}}});mo.render=oo;var ho=mo; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */Kt({component:ho,require:"?ngModel",scope:{name:{angularJsBind:"="},field:{angularJsBind:"="}},directiveName:"matomoFieldArray",events:{"update:modelValue":function(e,t,n,r,i,o){e!==t.modelValue&&(r.trigger("change",e),o&&o.$setViewValue(e))}},postCreate:function(e,t,n,r,i){var o=i;o&&(o.$setViewValue(e.modelValue),o.$render=function(){angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue})}});function go(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vo={class:"multiPairField form-group"},bo={key:1,class:"fieldUiControl fieldUiControl2"},yo={key:2,class:"fieldUiControl fieldUiControl3"},Oo={key:3,class:"fieldUiControl fieldUiControl4"},wo=["onClick","title"];function jo(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("Field");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.modelValue,(function(t,n){var r;return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:Object(o["normalizeClass"])(["multiPairFieldTable multiple valign-wrapper",(r={},go(r,"multiPairFieldTable".concat(n),!0),go(r,"has".concat(e.fieldCount,"Fields"),!0),r)]),key:n},[e.field1?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,class:Object(o["normalizeClass"])(["fieldUiControl fieldUiControl1",{hasMultiFields:e.field1.type&&e.field2.type}])},[Object(o["createVNode"])(c,{"full-width":!0,modelValue:t[e.field1.key],"onUpdate:modelValue":[function(n){return t[e.field1.key]=n},function(t){return e.onEntryChange(n,e.field1.key,t)}],options:e.field1.availableValues,placeholder:" ",uicontrol:e.field1.uiControl,name:"".concat(e.name,"-p1-").concat(n),title:e.field1.title},null,8,["modelValue","onUpdate:modelValue","options","uicontrol","name","title"])],2)):Object(o["createCommentVNode"])("",!0),e.field2?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field2.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field2.key,t)},function(n){return t[e.field2.key]=n}],modelValue:t[e.field2.key],placeholder:" ",uicontrol:e.field2.uiControl,name:"".concat(e.name,"-p2-").concat(n),title:e.field2.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","name","title"])])):Object(o["createCommentVNode"])("",!0),e.field3?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field3.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field3.key,t)},function(n){return t[e.field3.key]=n}],modelValue:t[e.field3.key],placeholder:" ",uicontrol:e.field3.uiControl,title:e.field3.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","title"])])):Object(o["createCommentVNode"])("",!0),e.field4?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Oo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field4.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field4.key,t)},function(n){return t[e.field4.key]=n}],modelValue:t[e.field4.key],placeholder:" ",uicontrol:e.field4.uiControl,title:e.field4.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","title"])])):Object(o["createCommentVNode"])("",!0),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{onClick:function(t){return e.removeEntry(n)},class:"icon-minus valign",title:e.translate("General_Remove")},null,8,wo),[[o["vShow"],n+1!==e.modelValue.length]])],2)})),128))])}function ko(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function So(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var t=this.modelValue.filter((function(t,n){return n!==e}));this.$emit("update:modelValue",t)}},isEmptyValue:function(e){var t=this.fieldCount;if(4===t){if(!e[this.field1.key]&&!e[this.field2.key]&&!e[this.field3.key]&&!e[this.field4.key])return!1}else if(3===t){if(!e[this.field1.key]&&!e[this.field2.key]&&!e[this.field3.key])return!1}else if(2===t){if(!e[this.field1.key]&&!e[this.field2.key])return!1}else if(1===t&&!e[this.field1.key])return!1;return!0},makeEmptyValue:function(){var e={};return this.field1&&this.field1.key&&(e[this.field1.key]=""),this.field2&&this.field2.key&&(e[this.field2.key]=""),this.field3&&this.field3.key&&(e[this.field3.key]=""),this.field4&&this.field4.key&&(e[this.field4.key]=""),e}}});Ao.render=jo;var Bo=Ao,xo=(Kt({component:Bo,require:"?ngModel",scope:{name:{angularJsBind:"="},field1:{angularJsBind:"="},field2:{angularJsBind:"="},field3:{angularJsBind:"="},field4:{angularJsBind:"="}},directiveName:"matomoMultiPairField",events:{"update:modelValue":function(e,t,n,r,i,o){e!==t.modelValue&&(r.trigger("change",e),o&&o.$setViewValue(e))}},postCreate:function(e,t,n,r,i){var o=i;o&&(o.$setViewValue(e.modelValue),o.$render=function(){angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue})}}),{ref:"root",class:"periodSelector piwikSelector"}),Lo=["title"],Mo=Object(o["createElementVNode"])("span",{class:"icon icon-calendar"},null,-1),_o={id:"periodMore",class:"dropdown"},Ro={class:"flex"},Fo={key:0,class:"period-date"},$o={class:"period-type"},Ho={id:"otherPeriods"},Uo=["onDblclick","title"],Wo=["id","checked","onChange","onDblclick"],qo={key:0,class:"compare-checkbox"},Jo={id:"comparePeriodToDropdown"},Go={key:1,class:"compare-date-range"},zo={id:"comparePeriodStartDate"},Yo=Object(o["createElementVNode"])("span",{class:"compare-dates-separator"},null,-1),Qo={id:"comparePeriodEndDate"},Ko={class:"apply-button-container"},Xo=["disabled","value"],Zo={key:2,id:"ajaxLoadingCalendar"},ea={class:"loadingSegment"}; + */Kt({component:ho,require:"?ngModel",scope:{name:{angularJsBind:"="},field:{angularJsBind:"="}},directiveName:"matomoFieldArray",events:{"update:modelValue":function(e,t,n,r,i,o){e!==t.modelValue&&(r.trigger("change",e),o&&o.$setViewValue(e))}},postCreate:function(e,t,n,r,i){var o=i;o&&(o.$setViewValue(e.modelValue),o.$render=function(){angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue})}});function go(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bo={class:"multiPairField form-group"},vo={key:1,class:"fieldUiControl fieldUiControl2"},yo={key:2,class:"fieldUiControl fieldUiControl3"},Oo={key:3,class:"fieldUiControl fieldUiControl4"},wo=["onClick","title"];function jo(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("Field");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.modelValue,(function(t,n){var r;return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:Object(o["normalizeClass"])(["multiPairFieldTable multiple valign-wrapper",(r={},go(r,"multiPairFieldTable".concat(n),!0),go(r,"has".concat(e.fieldCount,"Fields"),!0),r)]),key:n},[e.field1?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:0,class:Object(o["normalizeClass"])(["fieldUiControl fieldUiControl1",{hasMultiFields:e.field1.type&&e.field2.type}])},[Object(o["createVNode"])(c,{"full-width":!0,modelValue:t[e.field1.key],"onUpdate:modelValue":[function(n){return t[e.field1.key]=n},function(t){return e.onEntryChange(n,e.field1.key,t)}],options:e.field1.availableValues,placeholder:" ",uicontrol:e.field1.uiControl,name:"".concat(e.name,"-p1-").concat(n),title:e.field1.title},null,8,["modelValue","onUpdate:modelValue","options","uicontrol","name","title"])],2)):Object(o["createCommentVNode"])("",!0),e.field2?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field2.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field2.key,t)},function(n){return t[e.field2.key]=n}],modelValue:t[e.field2.key],placeholder:" ",uicontrol:e.field2.uiControl,name:"".concat(e.name,"-p2-").concat(n),title:e.field2.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","name","title"])])):Object(o["createCommentVNode"])("",!0),e.field3?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field3.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field3.key,t)},function(n){return t[e.field3.key]=n}],modelValue:t[e.field3.key],placeholder:" ",uicontrol:e.field3.uiControl,title:e.field3.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","title"])])):Object(o["createCommentVNode"])("",!0),e.field4?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Oo,[Object(o["createVNode"])(c,{"full-width":!0,options:e.field4.availableValues,"onUpdate:modelValue":[function(t){return e.onEntryChange(n,e.field4.key,t)},function(n){return t[e.field4.key]=n}],modelValue:t[e.field4.key],placeholder:" ",uicontrol:e.field4.uiControl,title:e.field4.title},null,8,["options","onUpdate:modelValue","modelValue","uicontrol","title"])])):Object(o["createCommentVNode"])("",!0),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",{onClick:function(t){return e.removeEntry(n)},class:"icon-minus valign",title:e.translate("General_Remove")},null,8,wo),[[o["vShow"],n+1!==e.modelValue.length]])],2)})),128))])}function ko(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function So(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1){var t=this.modelValue.filter((function(t,n){return n!==e}));this.$emit("update:modelValue",t)}},isEmptyValue:function(e){var t=this.fieldCount;if(4===t){if(!e[this.field1.key]&&!e[this.field2.key]&&!e[this.field3.key]&&!e[this.field4.key])return!1}else if(3===t){if(!e[this.field1.key]&&!e[this.field2.key]&&!e[this.field3.key])return!1}else if(2===t){if(!e[this.field1.key]&&!e[this.field2.key])return!1}else if(1===t&&!e[this.field1.key])return!1;return!0},makeEmptyValue:function(){var e={};return this.field1&&this.field1.key&&(e[this.field1.key]=""),this.field2&&this.field2.key&&(e[this.field2.key]=""),this.field3&&this.field3.key&&(e[this.field3.key]=""),this.field4&&this.field4.key&&(e[this.field4.key]=""),e}}});Ao.render=jo;var Bo=Ao,xo=(Kt({component:Bo,require:"?ngModel",scope:{name:{angularJsBind:"="},field1:{angularJsBind:"="},field2:{angularJsBind:"="},field3:{angularJsBind:"="},field4:{angularJsBind:"="}},directiveName:"matomoMultiPairField",events:{"update:modelValue":function(e,t,n,r,i,o){e!==t.modelValue&&(r.trigger("change",e),o&&o.$setViewValue(e))}},postCreate:function(e,t,n,r,i){var o=i;o&&(o.$setViewValue(e.modelValue),o.$render=function(){angular.isString(o.$viewValue)?e.modelValue=JSON.parse(o.$viewValue):e.modelValue=o.$viewValue})}}),{ref:"root",class:"periodSelector piwikSelector"}),Lo=["title"],Mo=Object(o["createElementVNode"])("span",{class:"icon icon-calendar"},null,-1),_o={id:"periodMore",class:"dropdown"},Ro={class:"flex"},Fo={key:0,class:"period-date"},$o={class:"period-type"},Ho={id:"otherPeriods"},Uo=["onDblclick","title"],Wo=["id","checked","onChange","onDblclick"],qo={key:0,class:"compare-checkbox"},Jo={id:"comparePeriodToDropdown"},Go={key:1,class:"compare-date-range"},zo={id:"comparePeriodStartDate"},Yo=Object(o["createElementVNode"])("span",{class:"compare-dates-separator"},null,-1),Qo={id:"comparePeriodEndDate"},Ko={class:"apply-button-container"},Xo=["disabled","value"],Zo={key:2,id:"ajaxLoadingCalendar"},ea={class:"loadingSegment"}; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function ta(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("DateRangePicker"),l=Object(o["resolveComponent"])("PeriodDatePicker"),s=Object(o["resolveComponent"])("Field"),u=Object(o["resolveComponent"])("ActivityIndicator"),d=Object(o["resolveDirective"])("expand-on-click");return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Object(o["createElementVNode"])("a",{ref:"title",id:"date",class:"title",tabindex:"-1",title:e.translate("General_ChooseDate",e.currentlyViewingText)},[Mo,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.currentlyViewingText),1)],8,Lo),Object(o["createElementVNode"])("div",_o,[Object(o["createElementVNode"])("div",Ro,[Object(o["createElementVNode"])("div",null,[Object(o["withDirectives"])(Object(o["createVNode"])(c,{class:"period-range","start-date":e.startRangeDate,"end-date":e.endRangeDate,onRangeChange:t[0]||(t[0]=function(t){return e.onRangeChange(t.start,t.end)}),onSubmit:t[1]||(t[1]=function(t){return e.onApplyClicked()})},null,8,["start-date","end-date"]),[[o["vShow"],"range"===e.selectedPeriod]]),"range"!==e.selectedPeriod?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Fo,[Object(o["createVNode"])(l,{id:"datepicker",period:e.selectedPeriod,date:e.periodValue===e.selectedPeriod?e.dateValue:null,onSelect:t[2]||(t[2]=function(t){return e.setPiwikPeriodAndDate(e.selectedPeriod,t.date)})},null,8,["period","date"])])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",$o,[Object(o["createElementVNode"])("h6",null,Object(o["toDisplayString"])(e.translate("General_Period")),1),Object(o["createElementVNode"])("div",Ho,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.periodsFiltered,(function(n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("p",{key:n},[Object(o["createElementVNode"])("label",{class:Object(o["normalizeClass"])({"selected-period-label":n===e.selectedPeriod}),onDblclick:function(t){return e.changeViewedPeriod(n)},title:n===e.periodValue?"":e.translate("General_DoubleClickToChangePeriod")},[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"radio",name:"period",id:"period_id_".concat(n),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.selectedPeriod=t}),checked:e.selectedPeriod===n,onChange:function(t){return e.selectedPeriod=n},onDblclick:function(t){return e.changeViewedPeriod(n)}},null,40,Wo),[[o["vModelRadio"],e.selectedPeriod]]),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.getPeriodDisplayText(n)),1)],42,Uo)])})),128))])])]),e.isComparisonEnabled?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",qo,[Object(o["createElementVNode"])("label",null,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"comparePeriodTo",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.isComparing=t})},null,512),[[o["vModelCheckbox"],e.isComparing]]),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("General_CompareTo")),1)]),Object(o["createElementVNode"])("div",Jo,[Object(o["createVNode"])(s,{modelValue:e.comparePeriodType,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.comparePeriodType=t}),style:Object(o["normalizeStyle"])({visibility:e.isComparing?"visible":"hidden"}),name:"comparePeriodToDropdown",uicontrol:"select",options:e.comparePeriodDropdownOptions,"full-width":!0,disabled:!e.isComparing},null,8,["modelValue","style","options","disabled"])])])):Object(o["createCommentVNode"])("",!0),e.isComparing&&"custom"===e.comparePeriodType?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Go,[Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("div",zo,[Object(o["createElementVNode"])("div",null,[Object(o["createVNode"])(s,{modelValue:e.compareStartDate,"onUpdate:modelValue":t[6]||(t[6]=function(t){return e.compareStartDate=t}),name:"comparePeriodStartDate",uicontrol:"text","full-width":!0,title:e.translate("CoreHome_StartDate"),placeholder:"YYYY-MM-DD"},null,8,["modelValue","title"])])]),Yo,Object(o["createElementVNode"])("div",Qo,[Object(o["createElementVNode"])("div",null,[Object(o["createVNode"])(s,{modelValue:e.compareEndDate,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.compareEndDate=t}),name:"comparePeriodEndDate",uicontrol:"text","full-width":!0,title:e.translate("CoreHome_EndDate"),placeholder:"YYYY-MM-DD"},null,8,["modelValue","title"])])])])])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Ko,[Object(o["createElementVNode"])("input",{type:"submit",id:"calendarApply",class:"btn",onClick:t[8]||(t[8]=function(t){return e.onApplyClicked()}),disabled:!e.isApplyEnabled(),value:e.translate("General_Apply")},null,8,Xo)]),e.isLoadingNewPage?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zo,[Object(o["createVNode"])(u,{loading:!0}),Object(o["createElementVNode"])("div",ea,Object(o["toDisplayString"])(e.translate("SegmentEditor_LoadingSegmentedDataMayTakeSomeTime")),1)])):Object(o["createCommentVNode"])("",!0)])],512)),[[d,{expander:"title"}]])}var na={class:"loadingPiwik"},ra=Object(o["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif",alt:""},null,-1);function ia(e,t,n,r,i,a){return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",na,[ra,Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.loadingMessage),1)],512)),[[o["vShow"],e.loading]])}var oa=Object(o["defineComponent"])({props:{loading:{type:Boolean,required:!0,default:!1},loadingMessage:{type:String,required:!1,default:C("General_LoadingData")}}});oa.render=ia;var aa=oa;function ca(e,t){return pa(e)||da(e,t)||sa(e,t)||la()}function la(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function sa(e,t){if(e){if("string"===typeof e)return ua(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ua(e,t):void 0}}function ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr?(window.$("#alert").find("h2").text(C("General_InvalidDateRange")),S.helper.modalConfirm("#alert",{}),null):"".concat(e,",").concat(t)}return P(this.dateValue)}},methods:{handleZIndexPositionRelativeCompareDropdownIssue:function(){var e=window.$(this.$refs.root);e.on("focus","#comparePeriodToDropdown .select-dropdown",(function(){e.addClass("compare-dropdown-open")})).on("blur","#comparePeriodToDropdown .select-dropdown",(function(){e.removeClass("compare-dropdown-open")}))},changeViewedPeriod:function(){this.period!==this.periodValue&&"range"!==this.period&&this.setPiwikPeriodAndDate(this.period,this.dateValue)},setPiwikPeriodAndDate:function(e,t){this.periodValue=e,this.selectedPeriod=e,this.dateValue=t;var n=P(t);this.setRangeStartEndFromPeriod(e,n),this.propagateNewUrlParams(n,this.selectedPeriod),window.initTopControls()},propagateNewUrlParams:function(e,t){var n,r=this.selectedComparisonParams;S.helper.isAngularRenderingThePage()?(this.closePeriodSelector(),n=De.hashParsed.value):(this.isLoadingNewPage=!0,n=De.parsed.value);var i=ma({},n);delete i.comparePeriods,delete i.compareDates,De.updateLocation(ma(ma({},i),{},{date:e,period:t},r))},onApplyClicked:function(){if("range"===this.selectedPeriod){var e=this.selectedDateString;if(!e)return;return this.periodValue="range",void this.propagateNewUrlParams(e,"range")}this.setPiwikPeriodAndDate(this.selectedPeriod,this.dateValue)},updateSelectedValuesFromHash:function(){var e=De.parsed.value,t=e.date,n=e.period;this.periodValue=n,this.selectedPeriod=n,this.dateValue=null,this.startRangeDate=null,this.endRangeDate=null;try{p.parse(n,t)}catch(l){return}if("range"===n){var r=p.get(n).parse(t),i=r.getDateRange(),o=ca(i,2),a=o[0],c=o[1];this.dateValue=a,this.startRangeDate=P(a),this.endRangeDate=P(c)}else this.dateValue=E(t),this.setRangeStartEndFromPeriod(n,t)},setRangeStartEndFromPeriod:function(e,t){var n=p.parse(e,t).getDateRange();this.startRangeDate=P(n[0]Oa?Oa:n[1])},getPeriodDisplayText:function(e){return p.get(e).getDisplayText()},onRangeChange:function(e,t){e&&t?(this.isRangeValid=!0,this.startRangeDate=e,this.endRangeDate=t):this.isRangeValid=!1},isApplyEnabled:function(){return!("range"===this.selectedPeriod&&!this.isRangeValid)&&!(this.isComparing&&"custom"===this.comparePeriodType&&!this.isCompareRangeValid())},closePeriodSelector:function(){this.$refs.root.classList.remove("expanded")},isCompareRangeValid:function(){try{E(this.compareStartDate)}catch(e){return!1}try{E(this.compareEndDate)}catch(e){return!1}return!0}}});ja.render=ta;var ka=ja,Sa=(Kt({component:ka,scope:{periods:{angularJsBind:"<"}},directiveName:"piwikPeriodSelector"}),{class:"reportingMenu"}),Ca=["aria-label"],Pa=["onClick"],Da={class:"hidden"},Ea={role:"menu"},Va=["href","onClick","title"],Na=["href","onClick"],Ta=["onClick"],Ia=Object(o["createElementVNode"])("span",{class:"icon-help"},null,-1),Aa=[Ia],Ba={id:"mobile-left-menu",class:"sidenav hide-on-large-only"},xa={class:"collapsible collapsible-accordion"},La={class:"collapsible-header"},Ma={class:"collapsible-body"},_a={key:0},Ra=["onClick","href"],Fa={key:1},$a=["onClick","href"]; + */function ta(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("DateRangePicker"),l=Object(o["resolveComponent"])("PeriodDatePicker"),s=Object(o["resolveComponent"])("Field"),u=Object(o["resolveComponent"])("ActivityIndicator"),d=Object(o["resolveDirective"])("expand-on-click");return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Object(o["createElementVNode"])("a",{ref:"title",id:"date",class:"title",tabindex:"-1",title:e.translate("General_ChooseDate",e.currentlyViewingText)},[Mo,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.currentlyViewingText),1)],8,Lo),Object(o["createElementVNode"])("div",_o,[Object(o["createElementVNode"])("div",Ro,[Object(o["createElementVNode"])("div",null,[Object(o["withDirectives"])(Object(o["createVNode"])(c,{class:"period-range","start-date":e.startRangeDate,"end-date":e.endRangeDate,onRangeChange:t[0]||(t[0]=function(t){return e.onRangeChange(t.start,t.end)}),onSubmit:t[1]||(t[1]=function(t){return e.onApplyClicked()})},null,8,["start-date","end-date"]),[[o["vShow"],"range"===e.selectedPeriod]]),"range"!==e.selectedPeriod?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Fo,[Object(o["createVNode"])(l,{id:"datepicker",period:e.selectedPeriod,date:e.periodValue===e.selectedPeriod?e.dateValue:null,onSelect:t[2]||(t[2]=function(t){return e.setPiwikPeriodAndDate(e.selectedPeriod,t.date)})},null,8,["period","date"])])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",$o,[Object(o["createElementVNode"])("h6",null,Object(o["toDisplayString"])(e.translate("General_Period")),1),Object(o["createElementVNode"])("div",Ho,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(e.periodsFiltered,(function(n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("p",{key:n},[Object(o["createElementVNode"])("label",{class:Object(o["normalizeClass"])({"selected-period-label":n===e.selectedPeriod}),onDblclick:function(t){return e.changeViewedPeriod(n)},title:n===e.periodValue?"":e.translate("General_DoubleClickToChangePeriod")},[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{type:"radio",name:"period",id:"period_id_".concat(n),"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.selectedPeriod=t}),checked:e.selectedPeriod===n,onChange:function(t){return e.selectedPeriod=n},onDblclick:function(t){return e.changeViewedPeriod(n)}},null,40,Wo),[[o["vModelRadio"],e.selectedPeriod]]),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.getPeriodDisplayText(n)),1)],42,Uo)])})),128))])])]),e.isComparisonEnabled?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",qo,[Object(o["createElementVNode"])("label",null,[Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"comparePeriodTo",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.isComparing=t})},null,512),[[o["vModelCheckbox"],e.isComparing]]),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("General_CompareTo")),1)]),Object(o["createElementVNode"])("div",Jo,[Object(o["createVNode"])(s,{modelValue:e.comparePeriodType,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.comparePeriodType=t}),style:Object(o["normalizeStyle"])({visibility:e.isComparing?"visible":"hidden"}),name:"comparePeriodToDropdown",uicontrol:"select",options:e.comparePeriodDropdownOptions,"full-width":!0,disabled:!e.isComparing},null,8,["modelValue","style","options","disabled"])])])):Object(o["createCommentVNode"])("",!0),e.isComparing&&"custom"===e.comparePeriodType?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Go,[Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("div",zo,[Object(o["createElementVNode"])("div",null,[Object(o["createVNode"])(s,{modelValue:e.compareStartDate,"onUpdate:modelValue":t[6]||(t[6]=function(t){return e.compareStartDate=t}),name:"comparePeriodStartDate",uicontrol:"text","full-width":!0,title:e.translate("CoreHome_StartDate"),placeholder:"YYYY-MM-DD"},null,8,["modelValue","title"])])]),Yo,Object(o["createElementVNode"])("div",Qo,[Object(o["createElementVNode"])("div",null,[Object(o["createVNode"])(s,{modelValue:e.compareEndDate,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.compareEndDate=t}),name:"comparePeriodEndDate",uicontrol:"text","full-width":!0,title:e.translate("CoreHome_EndDate"),placeholder:"YYYY-MM-DD"},null,8,["modelValue","title"])])])])])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Ko,[Object(o["createElementVNode"])("input",{type:"submit",id:"calendarApply",class:"btn",onClick:t[8]||(t[8]=function(t){return e.onApplyClicked()}),disabled:!e.isApplyEnabled(),value:e.translate("General_Apply")},null,8,Xo)]),e.isLoadingNewPage?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zo,[Object(o["createVNode"])(u,{loading:!0}),Object(o["createElementVNode"])("div",ea,Object(o["toDisplayString"])(e.translate("SegmentEditor_LoadingSegmentedDataMayTakeSomeTime")),1)])):Object(o["createCommentVNode"])("",!0)])],512)),[[d,{expander:"title"}]])}var na={class:"loadingPiwik"},ra=Object(o["createElementVNode"])("img",{src:"plugins/Morpheus/images/loading-blue.gif",alt:""},null,-1);function ia(e,t,n,r,i,a){return Object(o["withDirectives"])((Object(o["openBlock"])(),Object(o["createElementBlock"])("div",na,[ra,Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.loadingMessage),1)],512)),[[o["vShow"],e.loading]])}var oa=Object(o["defineComponent"])({props:{loading:{type:Boolean,required:!0,default:!1},loadingMessage:{type:String,required:!1,default:C("General_LoadingData")}}});oa.render=ia;var aa=oa;function ca(e,t){return pa(e)||da(e,t)||sa(e,t)||la()}function la(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function sa(e,t){if(e){if("string"===typeof e)return ua(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ua(e,t):void 0}}function ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nr?(window.$("#alert").find("h2").text(C("General_InvalidDateRange")),S.helper.modalConfirm("#alert",{}),null):"".concat(e,",").concat(t)}return P(this.dateValue)}},methods:{handleZIndexPositionRelativeCompareDropdownIssue:function(){var e=window.$(this.$refs.root);e.on("focus","#comparePeriodToDropdown .select-dropdown",(function(){e.addClass("compare-dropdown-open")})).on("blur","#comparePeriodToDropdown .select-dropdown",(function(){e.removeClass("compare-dropdown-open")}))},changeViewedPeriod:function(){this.period!==this.periodValue&&"range"!==this.period&&this.setPiwikPeriodAndDate(this.period,this.dateValue)},setPiwikPeriodAndDate:function(e,t){this.periodValue=e,this.selectedPeriod=e,this.dateValue=t;var n=P(t);this.setRangeStartEndFromPeriod(e,n),this.propagateNewUrlParams(n,this.selectedPeriod),window.initTopControls()},propagateNewUrlParams:function(e,t){var n,r=this.selectedComparisonParams;S.helper.isAngularRenderingThePage()?(this.closePeriodSelector(),n=De.hashParsed.value):(this.isLoadingNewPage=!0,n=De.parsed.value);var i=ma({},n);delete i.comparePeriods,delete i.compareDates,De.updateLocation(ma(ma({},i),{},{date:e,period:t},r))},onApplyClicked:function(){if("range"===this.selectedPeriod){var e=this.selectedDateString;if(!e)return;return this.periodValue="range",void this.propagateNewUrlParams(e,"range")}this.setPiwikPeriodAndDate(this.selectedPeriod,this.dateValue)},updateSelectedValuesFromHash:function(){var e=De.parsed.value,t=e.date,n=e.period;this.periodValue=n,this.selectedPeriod=n,this.dateValue=null,this.startRangeDate=null,this.endRangeDate=null;try{p.parse(n,t)}catch(l){return}if("range"===n){var r=p.get(n).parse(t),i=r.getDateRange(),o=ca(i,2),a=o[0],c=o[1];this.dateValue=a,this.startRangeDate=P(a),this.endRangeDate=P(c)}else this.dateValue=E(t),this.setRangeStartEndFromPeriod(n,t)},setRangeStartEndFromPeriod:function(e,t){var n=p.parse(e,t).getDateRange();this.startRangeDate=P(n[0]Oa?Oa:n[1])},getPeriodDisplayText:function(e){return p.get(e).getDisplayText()},onRangeChange:function(e,t){e&&t?(this.isRangeValid=!0,this.startRangeDate=e,this.endRangeDate=t):this.isRangeValid=!1},isApplyEnabled:function(){return!("range"===this.selectedPeriod&&!this.isRangeValid)&&!(this.isComparing&&"custom"===this.comparePeriodType&&!this.isCompareRangeValid())},closePeriodSelector:function(){this.$refs.root.classList.remove("expanded")},isCompareRangeValid:function(){try{E(this.compareStartDate)}catch(e){return!1}try{E(this.compareEndDate)}catch(e){return!1}return!0}}});ja.render=ta;var ka=ja,Sa=(Kt({component:ka,scope:{periods:{angularJsBind:"<"}},directiveName:"piwikPeriodSelector"}),{class:"reportingMenu"}),Ca=["aria-label"],Pa=["onClick"],Da={class:"hidden"},Ea={role:"menu"},Va=["href","onClick","title"],Na=["href","onClick"],Ta=["onClick"],Ia=Object(o["createElementVNode"])("span",{class:"icon-help"},null,-1),Aa=[Ia],Ba={id:"mobile-left-menu",class:"sidenav hide-on-large-only"},xa={class:"collapsible collapsible-accordion"},La={class:"collapsible-header"},Ma={class:"collapsible-body"},_a={key:0},Ra=["onClick","href"],Fa={key:1},$a=["onClick","href"]; /*! * Matomo - free/libre analytics platform * @@ -351,13 +351,13 @@ angular.module("piwikApp").factory("notifications",(function(){return lc}));var * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function mc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hc(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Js,[Object(o["createVNode"])(c,{uicontrol:"number",name:"filter_limit",min:1,max:e.maxFilterLimit,modelValue:e.reportLimit,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.reportLimit=t}),value:e.reportLimit,"full-width":!0,title:e.filterLimitTooltip},null,8,["max","modelValue","value","title"])])):Object(o["createCommentVNode"])("",!0)])]),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",Gs,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{readonly:"",class:"exportFullUrl",value:e.exportLinkWithoutToken},Qs,8,zs),[[l,{}]]),Object(o["createElementVNode"])("div",{class:"tooltip",innerHTML:e.$sanitize(e.translate("CoreHome_ExportTooltipWithLink","","","ENTER_YOUR_TOKEN_AUTH_HERE"))},null,8,Ks)],512),[[o["vShow"],e.showUrl]]),Object(o["createElementVNode"])("div",Xs,[Object(o["createElementVNode"])("a",{class:"btn",href:e.exportLink,target:"_new",title:e.translate("CoreHome_ExportTooltip")},Object(o["toDisplayString"])(e.translate("General_Export")),9,Zs),Object(o["createElementVNode"])("a",{href:"javascript:",onClick:t[8]||(t[8]=function(t){return e.showUrl=!e.showUrl}),class:"toggle-export-url"},[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("CoreHome_ShowExportUrl")),513),[[o["vShow"],!e.showUrl]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("CoreHome_HideExportUrl")),513),[[o["vShow"],e.showUrl]])])])])}function tu(e,t){return au(e)||ou(e,t)||ru(e,t)||nu()}function nu(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ru(e,t){if(e){if("string"===typeof e)return iu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?iu(e,t):void 0}}function iu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&parseInt(e,10)>parseInt(this.maxFilterLimit,10)&&(this.reportLimit=t)}},computed:{filterLimitTooltip:function(){var e=C("CoreHome_RowLimit"),t=C("General_ComputedMetricMax",this.maxFilterLimit);return"".concat(e," (").concat(t,")")},exportLink:function(){return this.getExportLink(!0)},exportLinkWithoutToken:function(){return this.getExportLink(!1)}},methods:{getExportLink:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.dataTable,n=this.reportFormat,r=this.apiMethod,i=this.reportType;if(n){var o=this.requestParams,a="yes"===this.reportLimitAll?-1:this.reportLimit;o=o&&"string"===typeof o?JSON.parse(o):{};var c=t.param,l=c.segment,s=c.label,u=c.idGoal,d=c.idDimension,p=c.idSite,f=t.param,m=f.date,h=f.period;"RSS"===n&&(m="last10"),"undefined"!==typeof t.param.dateUsedInGraph&&(m=t.param.dateUsedInGraph);var g=S.config.datatable_export_range_as_day.toLowerCase();-1!==g.indexOf(n.toLowerCase())&&"range"===t.param.period&&(h="day"),"range"===t.param.period&&"graphEvolution"===t.param.viewDataTable&&(h="day");var v={module:"API",format:n,idSite:p,period:h,date:m};if("processed"===i){v.method="API.getProcessedReport";var b=r.split("."),y=tu(b,2);v.apiModule=y[0],v.apiAction=y[1]}else v.method=r;if(t.param.compareDates&&t.param.compareDates.length&&(v.compareDates=t.param.compareDates,v.compare="1"),t.param.comparePeriods&&t.param.comparePeriods.length&&(v.comparePeriods=t.param.comparePeriods,v.compare="1"),t.param.compareSegments&&t.param.compareSegments.length&&(v.compareSegments=t.param.compareSegments,v.compare="1"),"undefined"!==typeof t.param.filter_pattern&&(v.filter_pattern=t.param.filter_pattern),"undefined"!==typeof t.param.filter_pattern_recursive&&(v.filter_pattern_recursive=t.param.filter_pattern_recursive),window.$.isPlainObject(o)&&Object.entries(o).forEach((function(e){var t=tu(e,2),n=t[0],r=t[1],i=r;!0===i?i=1:!1===i&&(i=0),v[n]=i})),this.optionFlat&&(v.flat=1,"undefined"!==typeof t.param.include_aggregate_rows&&"1"===t.param.include_aggregate_rows&&(v.include_aggregate_rows=1)),!this.optionFlat&&this.optionExpanded&&(v.expanded=1),this.optionFormatMetrics&&(v.format_metrics=1),t.param.pivotBy&&(v.pivotBy=t.param.pivotBy,v.pivotByColumnLimit=20,t.props.pivot_by_column&&(v.pivotByColumn=t.props.pivot_by_column)),"CSV"!==n&&"TSV"!==n&&"RSS"!==n||(v.translateColumnNames=1,v.language=S.language),"undefined"!==typeof l&&(v.segment=decodeURIComponent(l)),"undefined"!==typeof u&&"-1"!==u&&(v.idGoal=u),"undefined"!==typeof d&&"-1"!==d&&(v.idDimension=d),s){var O=s.split(",");if(O.length>1)v.label=O;else{var w=tu(O,1);v.label=w[0]}}v.token_auth="ENTER_YOUR_TOKEN_AUTH_HERE",!0===e&&(v.token_auth=S.token_auth,v.force_api_session=1),v.filter_limit=a;var j=window.location.href.split("?")[0];return"".concat(j,"?").concat(De.stringify(v))}}}});lu.render=eu;var su=lu;function uu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function du(e){for(var t=1;t0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Js,[Object(o["createVNode"])(c,{uicontrol:"number",name:"filter_limit",min:1,max:e.maxFilterLimit,modelValue:e.reportLimit,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.reportLimit=t}),value:e.reportLimit,"full-width":!0,title:e.filterLimitTooltip},null,8,["max","modelValue","value","title"])])):Object(o["createCommentVNode"])("",!0)])]),Object(o["withDirectives"])(Object(o["createElementVNode"])("div",Gs,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{readonly:"",class:"exportFullUrl",value:e.exportLinkWithoutToken},Qs,8,zs),[[l,{}]]),Object(o["createElementVNode"])("div",{class:"tooltip",innerHTML:e.$sanitize(e.translate("CoreHome_ExportTooltipWithLink","","","ENTER_YOUR_TOKEN_AUTH_HERE"))},null,8,Ks)],512),[[o["vShow"],e.showUrl]]),Object(o["createElementVNode"])("div",Xs,[Object(o["createElementVNode"])("a",{class:"btn",href:e.exportLink,target:"_new",title:e.translate("CoreHome_ExportTooltip")},Object(o["toDisplayString"])(e.translate("General_Export")),9,Zs),Object(o["createElementVNode"])("a",{href:"javascript:",onClick:t[8]||(t[8]=function(t){return e.showUrl=!e.showUrl}),class:"toggle-export-url"},[Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("CoreHome_ShowExportUrl")),513),[[o["vShow"],!e.showUrl]]),Object(o["withDirectives"])(Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.translate("CoreHome_HideExportUrl")),513),[[o["vShow"],e.showUrl]])])])])}function tu(e,t){return au(e)||ou(e,t)||ru(e,t)||nu()}function nu(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ru(e,t){if(e){if("string"===typeof e)return iu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?iu(e,t):void 0}}function iu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&parseInt(e,10)>parseInt(this.maxFilterLimit,10)&&(this.reportLimit=t)}},computed:{filterLimitTooltip:function(){var e=C("CoreHome_RowLimit"),t=C("General_ComputedMetricMax",this.maxFilterLimit);return"".concat(e," (").concat(t,")")},exportLink:function(){return this.getExportLink(!0)},exportLinkWithoutToken:function(){return this.getExportLink(!1)}},methods:{getExportLink:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.dataTable,n=this.reportFormat,r=this.apiMethod,i=this.reportType;if(n){var o=this.requestParams,a="yes"===this.reportLimitAll?-1:this.reportLimit;o=o&&"string"===typeof o?JSON.parse(o):{};var c=t.param,l=c.segment,s=c.label,u=c.idGoal,d=c.idDimension,p=c.idSite,f=t.param,m=f.date,h=f.period;"RSS"===n&&(m="last10"),"undefined"!==typeof t.param.dateUsedInGraph&&(m=t.param.dateUsedInGraph);var g=S.config.datatable_export_range_as_day.toLowerCase();-1!==g.indexOf(n.toLowerCase())&&"range"===t.param.period&&(h="day"),"range"===t.param.period&&"graphEvolution"===t.param.viewDataTable&&(h="day");var b={module:"API",format:n,idSite:p,period:h,date:m};if("processed"===i){b.method="API.getProcessedReport";var v=r.split("."),y=tu(v,2);b.apiModule=y[0],b.apiAction=y[1]}else b.method=r;if(t.param.compareDates&&t.param.compareDates.length&&(b.compareDates=t.param.compareDates,b.compare="1"),t.param.comparePeriods&&t.param.comparePeriods.length&&(b.comparePeriods=t.param.comparePeriods,b.compare="1"),t.param.compareSegments&&t.param.compareSegments.length&&(b.compareSegments=t.param.compareSegments,b.compare="1"),"undefined"!==typeof t.param.filter_pattern&&(b.filter_pattern=t.param.filter_pattern),"undefined"!==typeof t.param.filter_pattern_recursive&&(b.filter_pattern_recursive=t.param.filter_pattern_recursive),window.$.isPlainObject(o)&&Object.entries(o).forEach((function(e){var t=tu(e,2),n=t[0],r=t[1],i=r;!0===i?i=1:!1===i&&(i=0),b[n]=i})),this.optionFlat&&(b.flat=1,"undefined"!==typeof t.param.include_aggregate_rows&&"1"===t.param.include_aggregate_rows&&(b.include_aggregate_rows=1)),!this.optionFlat&&this.optionExpanded&&(b.expanded=1),this.optionFormatMetrics&&(b.format_metrics=1),t.param.pivotBy&&(b.pivotBy=t.param.pivotBy,b.pivotByColumnLimit=20,t.props.pivot_by_column&&(b.pivotByColumn=t.props.pivot_by_column)),"CSV"!==n&&"TSV"!==n&&"RSS"!==n||(b.translateColumnNames=1,b.language=S.language),"undefined"!==typeof l&&(b.segment=decodeURIComponent(l)),"undefined"!==typeof u&&"-1"!==u&&(b.idGoal=u),"undefined"!==typeof d&&"-1"!==d&&(b.idDimension=d),s){var O=s.split(",");if(O.length>1)b.label=O;else{var w=tu(O,1);b.label=w[0]}}b.token_auth="ENTER_YOUR_TOKEN_AUTH_HERE",!0===e&&(b.token_auth=S.token_auth,b.force_api_session=1),b.filter_limit=a;var j=window.location.href.split("?")[0];return"".concat(j,"?").concat(De.stringify(b))}}}});lu.render=eu;var su=lu;function uu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function du(e){for(var t=1;t100?100:this.progress<0?0:this.progress}}});Vu.render=Eu;var Nu=Vu,Tu=(Kt({component:Nu,scope:{progress:{angularJsBind:"="},label:{angularJsBind:"="}},directiveName:"piwikProgressbar"}),{mounted:function(e){e.classList.add("piwik-content-intro")}}); /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */function ku(e,t,n){var r=new Date;n||(n=432e4),r.setTime(r.getTime()+n),document.cookie="".concat(e,"=").concat(t,"; expires=").concat(r.toUTCString(),"; path=/")}function Su(e){var t="; ".concat(document.cookie),n=t.split("; ".concat(e,"="));if(2==n.length){var r=n.pop().split(";").shift();if("undefined"!==typeof r)return r}return null}function Cu(e){var t=new Date;t.setTime(t.getTime()+-864e5),document.cookie="".concat(e,"=; expires=").concat(t.toUTCString(),"; path=/")} + */ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +function Iu(){return{restrict:"A",link:function(e,t){Tu.mounted(t[0])}}}Iu.$inject=[],angular.module("piwikApp").directive("piwikContentIntro",Iu); +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */var Au={mounted:function(e){e.classList.add("card","card-table","entityTable")}}; +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */function Bu(){return{restrict:"A",link:function(e,t){Au.mounted(t[0])}}}Bu.$inject=[],angular.module("piwikApp").directive("piwikContentTable",Bu); +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */var xu=Kt({component:aa,scope:{loading:{vue:"loading",angularJsBind:"<"},loadingMessage:{vue:"loadingMessage",angularJsBind:"<",default:function(){return C("General_LoadingData")}}},$inject:[],directiveName:"piwikActivityIndicator"});function Lu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mu(e,t,n,r,i,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:Object(o["normalizeClass"])(["alert",Lu({},"alert-".concat(e.severity),!0)])},[Object(o["renderSlot"])(e.$slots,"default")],2)}var _u=Object(o["defineComponent"])({props:{severity:{type:String,required:!0}}});_u.render=Mu;var Ru=_u,Fu=Kt({component:Ru,scope:{severity:{vue:"severity",angularJsBind:"@piwikAlert"}},directiveName:"piwikAlert",transclude:!0}); +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */function $u(e,t,n){var r=new Date;n||(n=432e4),r.setTime(r.getTime()+n),document.cookie="".concat(e,"=").concat(t,"; expires=").concat(r.toUTCString(),"; path=/")}function Hu(e){var t="; ".concat(document.cookie),n=t.split("; ".concat(e,"="));if(2==n.length){var r=n.pop().split(";").shift();if("undefined"!==typeof r)return r}return null}function Uu(e){var t=new Date;t.setTime(t.getTime()+-864e5),document.cookie="".concat(e,"=; expires=").concat(t.toUTCString(),"; path=/")} /*! * Matomo - free/libre analytics platform * diff --git a/plugins/CoreHome/vue/src/AjaxHelper/AjaxHelper.ts b/plugins/CoreHome/vue/src/AjaxHelper/AjaxHelper.ts index b8be4c128b..1299743713 100644 --- a/plugins/CoreHome/vue/src/AjaxHelper/AjaxHelper.ts +++ b/plugins/CoreHome/vue/src/AjaxHelper/AjaxHelper.ts @@ -579,7 +579,7 @@ export default class AjaxHelper { // eslint-disable-line * * @param params parameter object */ - private mixinDefaultGetParams(originalParams: QueryParameters): QueryParameters { + public mixinDefaultGetParams(originalParams: QueryParameters): QueryParameters { const segment = MatomoUrl.getSearchParam('segment'); const defaultParams: Record = { diff --git a/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.adapter.ts b/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.adapter.ts new file mode 100644 index 0000000000..423501203e --- /dev/null +++ b/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.adapter.ts @@ -0,0 +1,22 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +import { IDirective, IScope } from 'angular'; +import ContentIntro from './ContentIntro'; + +export default function piwikContentIntro(): IDirective { + return { + restrict: 'A', + link: function piwikContentIntroLink(scope: IScope, element: JQuery) { + ContentIntro.mounted(element[0]); + }, + }; +} + +piwikContentIntro.$inject = []; + +angular.module('piwikApp').directive('piwikContentIntro', piwikContentIntro); diff --git a/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.ts b/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.ts new file mode 100644 index 0000000000..3e40dd599b --- /dev/null +++ b/plugins/CoreHome/vue/src/ContentIntro/ContentIntro.ts @@ -0,0 +1,12 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +export default { + mounted(el: HTMLElement): void { + el.classList.add('piwik-content-intro'); + }, +}; diff --git a/plugins/CoreHome/vue/src/ContentTable/ContentTable.adapter.ts b/plugins/CoreHome/vue/src/ContentTable/ContentTable.adapter.ts new file mode 100644 index 0000000000..83fb334a0c --- /dev/null +++ b/plugins/CoreHome/vue/src/ContentTable/ContentTable.adapter.ts @@ -0,0 +1,22 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +import { IDirective, IScope } from 'angular'; +import ContentTable from './ContentTable'; + +export default function piwikContentTable(): IDirective { + return { + restrict: 'A', + link: function piwikContentTableLink(scope: IScope, element: JQuery) { + ContentTable.mounted(element[0]); + }, + }; +} + +piwikContentTable.$inject = []; + +angular.module('piwikApp').directive('piwikContentTable', piwikContentTable); diff --git a/plugins/CoreHome/vue/src/ContentTable/ContentTable.ts b/plugins/CoreHome/vue/src/ContentTable/ContentTable.ts new file mode 100644 index 0000000000..9d8c95dd14 --- /dev/null +++ b/plugins/CoreHome/vue/src/ContentTable/ContentTable.ts @@ -0,0 +1,12 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +export default { + mounted(el: HTMLElement): void { + el.classList.add('card', 'card-table', 'entityTable'); + }, +}; diff --git a/plugins/CoreHome/vue/src/Progressbar/Progressbar.adapter.ts b/plugins/CoreHome/vue/src/Progressbar/Progressbar.adapter.ts new file mode 100644 index 0000000000..79cb2049b3 --- /dev/null +++ b/plugins/CoreHome/vue/src/Progressbar/Progressbar.adapter.ts @@ -0,0 +1,22 @@ +/*! + * 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 from '../createAngularJsAdapter'; +import Progressbar from './Progressbar.vue'; + +export default createAngularJsAdapter({ + component: Progressbar, + scope: { + progress: { + angularJsBind: '=', + }, + label: { + angularJsBind: '=', + }, + }, + directiveName: 'piwikProgressbar', +}); diff --git a/plugins/CoreHome/vue/src/Progressbar/Progressbar.less b/plugins/CoreHome/vue/src/Progressbar/Progressbar.less new file mode 100644 index 0000000000..36e7ddef0a --- /dev/null +++ b/plugins/CoreHome/vue/src/Progressbar/Progressbar.less @@ -0,0 +1,7 @@ +.progressbar { + margin: 22px 24px; + + span.label { + margin-left: 4.5px; + } +} \ No newline at end of file diff --git a/plugins/CoreHome/vue/src/Progressbar/Progressbar.vue b/plugins/CoreHome/vue/src/Progressbar/Progressbar.vue new file mode 100644 index 0000000000..ea0166589c --- /dev/null +++ b/plugins/CoreHome/vue/src/Progressbar/Progressbar.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/plugins/CoreHome/vue/src/Sparkline/Sparkline.adapter.ts b/plugins/CoreHome/vue/src/Sparkline/Sparkline.adapter.ts new file mode 100644 index 0000000000..70dacd306e --- /dev/null +++ b/plugins/CoreHome/vue/src/Sparkline/Sparkline.adapter.ts @@ -0,0 +1,23 @@ +/*! + * 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 from '../createAngularJsAdapter'; +import Sparkline from './Sparkline.vue'; + +export default createAngularJsAdapter({ + component: Sparkline, + scope: { + seriesIndices: { + angularJsBind: '<', + }, + params: { + angularJsBind: '<', + }, + }, + directiveName: 'piwikSparkline', + restrict: 'E', +}); diff --git a/plugins/CoreHome/vue/src/Sparkline/Sparkline.less b/plugins/CoreHome/vue/src/Sparkline/Sparkline.less new file mode 100644 index 0000000000..a31d68547e --- /dev/null +++ b/plugins/CoreHome/vue/src/Sparkline/Sparkline.less @@ -0,0 +1,8 @@ +[piwik-sparkline] { + display: inline-block; + + img { + width: 100px; + height: 25px; + } +} \ No newline at end of file diff --git a/plugins/CoreHome/vue/src/Sparkline/Sparkline.vue b/plugins/CoreHome/vue/src/Sparkline/Sparkline.vue new file mode 100644 index 0000000000..9d69deb366 --- /dev/null +++ b/plugins/CoreHome/vue/src/Sparkline/Sparkline.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/plugins/CoreHome/vue/src/index.ts b/plugins/CoreHome/vue/src/index.ts index e67b38eeea..7a4fe75757 100644 --- a/plugins/CoreHome/vue/src/index.ts +++ b/plugins/CoreHome/vue/src/index.ts @@ -46,6 +46,10 @@ import './WidgetByDimensionContainer/WidgetByDimensionContainer.adapter'; import './Widget/Widget.adapter'; import './ReportingPage/ReportingPage.adapter'; import './ReportExport/ReportExport.adapter'; +import './Sparkline/Sparkline.adapter'; +import './Progressbar/Progressbar.adapter'; +import './ContentIntro/ContentIntro.adapter'; +import './ContentTable/ContentTable.adapter'; export { default as createVueApp } from './createVueApp'; export { default as DirectiveUtilities } from './directiveUtilities'; @@ -96,3 +100,7 @@ export { default as WidgetByDimensionContainer } from './WidgetByDimensionContai export { default as Widget } from './Widget/Widget.vue'; export { default as ReportingPage } from './ReportingPage/ReportingPage.vue'; export { default as ReportExport } from './ReportExport/ReportExport'; +export { default as Sparkline } from './Sparkline/Sparkline.vue'; +export { default as Progressbar } from './Progressbar/Progressbar.vue'; +export { default as ContentIntro } from './ContentIntro/ContentIntro'; +export { default as ContentTable } from './ContentTable/ContentTable'; diff --git a/plugins/CoreVue/types/index.d.ts b/plugins/CoreVue/types/index.d.ts index c4e7e14773..7b4e78864a 100644 --- a/plugins/CoreVue/types/index.d.ts +++ b/plugins/CoreVue/types/index.d.ts @@ -103,6 +103,10 @@ declare global { getColors(namespace: string, names: string[], asArray?: boolean): string[]|{[name: string]: string}; } + interface SparklineColors extends Record { + lineColor: string[]; + } + interface PiwikGlobal { timezoneOffset: number; addCustomPeriod: (name: string, periodClass: any) => void; @@ -133,6 +137,7 @@ declare global { updateDateInTitle(date: string, period: string): void; hasUserCapability(capability: string): boolean; getBaseDatePickerOptions(): {[key: string]: any}; + getSparklineColors(): SparklineColors; on(eventName: string, listener: WrappedEventListener): void; off(eventName: string, listener: WrappedEventListener): void; diff --git a/plugins/Diagnostics/tests/UI/expected-screenshots/Diagnostics_page.png b/plugins/Diagnostics/tests/UI/expected-screenshots/Diagnostics_page.png index d76d11b63c..a90a3cb0c1 100644 --- a/plugins/Diagnostics/tests/UI/expected-screenshots/Diagnostics_page.png +++ b/plugins/Diagnostics/tests/UI/expected-screenshots/Diagnostics_page.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed7e180aedce222419a58c1a6dbae308adb96be06f7ea7a47175444ed36d1a0f -size 466693 +oid sha256:b1c89044bbe88c5bd129c6c4e4918d94f95a22da6925dd6aee4cceb9511ea2ca +size 468220 diff --git a/plugins/Installation/templates/_systemCheckSection.twig b/plugins/Installation/templates/_systemCheckSection.twig index 88000e6f14..a956d411ac 100644 --- a/plugins/Installation/templates/_systemCheckSection.twig +++ b/plugins/Installation/templates/_systemCheckSection.twig @@ -41,19 +41,19 @@ - +
{{ local.diagnosticTable(diagnosticReport.getMandatoryDiagnosticResults()) }}

{{ 'Installation_Optional'|translate }}

- +
{{ local.diagnosticTable(diagnosticReport.getOptionalDiagnosticResults()) }}

{{ 'Installation_InformationalResults'|translate }}

- +
{{ local.diagnosticTable(diagnosticReport.getInformationalResults()) }}
diff --git a/plugins/Morpheus/stylesheets/uibase/_loading.less b/plugins/Morpheus/stylesheets/uibase/_loading.less index 17e4e9f454..7769e7b002 100644 --- a/plugins/Morpheus/stylesheets/uibase/_loading.less +++ b/plugins/Morpheus/stylesheets/uibase/_loading.less @@ -5,7 +5,7 @@ } .loadingPiwik img { - margin-right: 5px; + margin-right: 8.5px; } .loadingSegment { diff --git a/plugins/Morpheus/tests/UI/expected-screenshots/Morpheus_load.png b/plugins/Morpheus/tests/UI/expected-screenshots/Morpheus_load.png index faf3bd63a1..1ce1823330 100644 --- a/plugins/Morpheus/tests/UI/expected-screenshots/Morpheus_load.png +++ b/plugins/Morpheus/tests/UI/expected-screenshots/Morpheus_load.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f458b527e21cf7df95d57675977be9dc849628962d70d63c86d6246e26e43de -size 1672113 +oid sha256:9a404d0f6329ee150b631a02d5516b6b4addfc225254169fa801d0a2780a556b +size 1672067 diff --git a/tests/UI/expected-screenshots/Theme_demo.png b/tests/UI/expected-screenshots/Theme_demo.png index 34169ba256..761274c73a 100644 --- a/tests/UI/expected-screenshots/Theme_demo.png +++ b/tests/UI/expected-screenshots/Theme_demo.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43685c811b492c8566056d1fd532853c383e33eba41b810620c19aac86d837ac -size 1672106 +oid sha256:e446758964cecba113322fd7bf8c0032d6e0e2f9ab5214138445085ad68836d6 +size 1672087 diff --git a/tests/UI/expected-screenshots/ViewDataTableTest_export_options_2.png b/tests/UI/expected-screenshots/ViewDataTableTest_export_options_2.png index c2d19dd2f9..34c18e8e0c 100644 --- a/tests/UI/expected-screenshots/ViewDataTableTest_export_options_2.png +++ b/tests/UI/expected-screenshots/ViewDataTableTest_export_options_2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72d1d3c6a3234a708d25537422d3efb2123a137992d7e7b216a2492ee9fd1434 -size 78068 +oid sha256:55ee36f394e4b137c7357c77fe405aa9f524f6491a9bd5082cab2ca70269c3f6 +size 76536 -- cgit v1.2.3