From 2429bcdc7f4c798f3d3fbf962db639574c71f7e8 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 11 Aug 2026 19:24:12 +0200 Subject: [PATCH 01/14] Compatibility with Matomo 6 [ignore_release] --- CHANGELOG.md | 4 + composer.json | 2 +- plugin.json | 4 +- vue/dist/GoogleAnalyticsImporter.umd.js | 1502 ----------------------- 4 files changed, 7 insertions(+), 1505 deletions(-) delete mode 100644 vue/dist/GoogleAnalyticsImporter.umd.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 826e8c04..12255f48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## Changelog +# 6.0.0 - 2026-08-11 + +- Compatibility with Matomo 6 + # 5.2.1 - 2026-08-03 - Added PHPStan static analysis (CI check and pre-push hook) - Fixed an error that could hide the real failure reason when starting a GA4 import fails diff --git a/composer.json b/composer.json index 9b23bf7b..8bfc4e8f 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require": { - "php": ">=7.2.5", + "php": ">=8.1.0", "google/apiclient": "^2.15.3", "google/apiclient-services": "^0.224.1", "guzzlehttp\/guzzle": "7.10.1", diff --git a/plugin.json b/plugin.json index fda5b861..f6e4fafa 100644 --- a/plugin.json +++ b/plugin.json @@ -1,10 +1,10 @@ { "name": "GoogleAnalyticsImporter", "description": "Import reports from a Google Analytics account into Matomo.", - "version": "5.2.1", + "version": "6.0.0", "theme": false, "require": { - "matomo": ">=5.0.0-rc5,<6.0.0-b1" + "matomo": ">=6.0.0-b1,<7.0.0-b1" }, "authors": [ { diff --git a/vue/dist/GoogleAnalyticsImporter.umd.js b/vue/dist/GoogleAnalyticsImporter.umd.js deleted file mode 100644 index 9d0a762b..00000000 --- a/vue/dist/GoogleAnalyticsImporter.umd.js +++ /dev/null @@ -1,1502 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); - else if(typeof define === 'function' && define.amd) - define(["CoreHome", , "CorePluginsAdmin"], factory); - else if(typeof exports === 'object') - exports["GoogleAnalyticsImporter"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin")); - else - root["GoogleAnalyticsImporter"] = factory(root["CoreHome"], root["Vue"], root["CorePluginsAdmin"]); -})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "plugins/GoogleAnalyticsImporter/vue/dist/"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "fae3"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "19dc": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__; - -/***/ }), - -/***/ "8bbf": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; - -/***/ }), - -/***/ "a5a2": -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__; - -/***/ }), - -/***/ "fae3": -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "ImportSchedulerGA4", function() { return /* reexport */ ImportSchedulerGA4; }); -__webpack_require__.d(__webpack_exports__, "ImportStatus", function() { return /* reexport */ ImportStatus; }); -__webpack_require__.d(__webpack_exports__, "ImportStatusRow", function() { return /* reexport */ ImportStatusRow; }); -__webpack_require__.d(__webpack_exports__, "ConfigureConnection", function() { return /* reexport */ ConfigureConnection; }); -__webpack_require__.d(__webpack_exports__, "ClientConfig", function() { return /* reexport */ ClientConfig; }); -__webpack_require__.d(__webpack_exports__, "AdminPage", function() { return /* reexport */ AdminPage; }); -__webpack_require__.d(__webpack_exports__, "Connect", function() { return /* reexport */ CommonConnect; }); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js -// This file is imported into lib/wc client bundles. - -if (typeof window !== 'undefined') { - var currentScript = window.document.currentScript - if (false) { var getCurrentScript; } - - var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) - if (src) { - __webpack_require__.p = src[1] // eslint-disable-line - } -} - -// Indicate to webpack that this file can be concatenated -/* harmony default export */ var setPublicPath = (null); - -// EXTERNAL MODULE: external "CoreHome" -var external_CoreHome_ = __webpack_require__("19dc"); - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/onWidgetLoaded.ts -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - -const UNSUPPORTED_REPORT_WIDGETS = ['Transitions.getTransitions', 'UsersFlow.getUsersFlow', 'UsersFlow.getUsersFlowPretty', 'UsersFlow.getInteractionActions']; -const { - $ -} = window; -external_CoreHome_["Matomo"].on('widget:loaded', ({ - parameters, - element -}) => { - const method = `${parameters.module}.${parameters.action}`; - if (UNSUPPORTED_REPORT_WIDGETS.indexOf(method) === -1) { - return; - } - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let { - importedFromGoogleStartDate, - importedFromGoogleEndDate - } = external_CoreHome_["Matomo"]; - if (!importedFromGoogleStartDate || !importedFromGoogleEndDate) { - return; - } - importedFromGoogleStartDate = Object(external_CoreHome_["parseDate"])(importedFromGoogleStartDate); - importedFromGoogleEndDate = Object(external_CoreHome_["parseDate"])(importedFromGoogleEndDate); - const period = external_CoreHome_["MatomoUrl"].parsed.value.period; - const date = external_CoreHome_["MatomoUrl"].parsed.value.date; - const currentPeriod = external_CoreHome_["Periods"].parse(period, date).getDateRange(); - const isInImportDateRange = !(importedFromGoogleStartDate.getTime() > currentPeriod[1].getTime() || importedFromGoogleEndDate.getTime() < currentPeriod[0].getTime()); - if (!isInImportDateRange) { - return; - } - const logDataRequired = Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_LogDataRequiredForReport'); - const helpText = `
${logDataRequired}
`; - $(element).find('.card-content>div').append(helpText); -}); -// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} -var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportScheduler/ImportSchedulerGA4.vue?vue&type=template&id=8da8e6d8 - -const _hoisted_1 = { - name: "startDateGA4" -}; -const _hoisted_2 = { - name: "endDateGA4" -}; -const _hoisted_3 = { - name: "propertyIdGA4" -}; -const _hoisted_4 = { - name: "streamIds" -}; -const _hoisted_5 = { - name: "isMobileAppGA4" -}; -const _hoisted_6 = { - name: "timezoneGA4" -}; -const _hoisted_7 = { - name: "extraCustomDimensionsGA4" -}; -const _hoisted_8 = { - name: "forceIgnoreOutOfCustomDimSlotErrorGA4" -}; -const _hoisted_9 = { - name: "isVerboseLoggingEnabledGA4" -}; -const _hoisted_10 = ["disabled"]; -function render(_ctx, _cache, $props, $setup, $data, $options) { - const _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ScheduleImportDescription')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "text", - name: "startDateGA4", - modelValue: _ctx.startDateGA4, - "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.startDateGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_StartDate'), - placeholder: `${_ctx.translate('GoogleAnalyticsImporter_CreationDate')} (YYYY-MM-DD)`, - "inline-help": _ctx.translate('GoogleAnalyticsImporter_StartDateHelp') - }, null, 8, ["modelValue", "title", "placeholder", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "text", - name: "endDateGA4", - modelValue: _ctx.endDateGA4, - "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => _ctx.endDateGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_EndDate'), - placeholder: _ctx.translate('GoogleAnalyticsImporter_None'), - "inline-help": _ctx.endDateHelp - }, null, 8, ["modelValue", "title", "placeholder", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "text", - name: "propertyIdGA4", - modelValue: _ctx.propertyIdGA4, - "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => _ctx.propertyIdGA4 = $event), - placeholder: "eg. properties/{PROPERTY_ID}", - title: _ctx.translate('GoogleAnalyticsImporter_PropertyIdGA4'), - "inline-help": _ctx.translate('GoogleAnalyticsImporter_PropertyIdGA4Help') - }, null, 8, ["modelValue", "title", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "multituple", - name: "streamIds", - modelValue: _ctx.streamIds, - "onUpdate:modelValue": _cache[3] || (_cache[3] = $event => _ctx.streamIds = $event), - title: _ctx.translate('GoogleAnalyticsImporter_StreamIdFilter'), - "inline-help": _ctx.streamIdsFilterHelp, - "ui-control-attributes": _ctx.streamIdsField - }, null, 8, ["modelValue", "title", "inline-help", "ui-control-attributes"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "checkbox", - name: "isMobileAppGA4", - modelValue: _ctx.isMobileAppGA4, - "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => _ctx.isMobileAppGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_IsMobileApp'), - "inline-help": _ctx.translate('GoogleAnalyticsImporter_IsMobileAppHelp') - }, null, 8, ["modelValue", "title", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "text", - name: "timezoneGA4", - modelValue: _ctx.timezoneGA4, - "onUpdate:modelValue": _cache[5] || (_cache[5] = $event => _ctx.timezoneGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_Timezone'), - placeholder: _ctx.translate('GoogleAnalyticsImporter_Optional'), - "inline-help": _ctx.timezoneHelp - }, null, 8, ["modelValue", "title", "placeholder", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "multituple", - name: "extraCustomDimensionsGA4", - modelValue: _ctx.extraCustomDimensionsGA4, - "onUpdate:modelValue": _cache[6] || (_cache[6] = $event => _ctx.extraCustomDimensionsGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_ExtraCustomDimensions'), - "inline-help": _ctx.extraCustomDimensionsHelp, - "ui-control-attributes": _ctx.extraCustomDimensionsField - }, null, 8, ["modelValue", "title", "inline-help", "ui-control-attributes"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "checkbox", - name: "forceIgnoreOutOfCustomDimSlotErrorGA4", - modelValue: _ctx.ignoreCustomDimensionSlotCheckGA4, - "onUpdate:modelValue": _cache[7] || (_cache[7] = $event => _ctx.ignoreCustomDimensionSlotCheckGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_ForceCustomDimensionSlotCheck'), - "inline-help": _ctx.forceIgnoreOutOfCustomDimSlotErrorHelp - }, null, 8, ["modelValue", "title", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Troubleshooting')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_9, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - uicontrol: "checkbox", - name: "isVerboseLoggingEnabledGA4", - modelValue: _ctx.isVerboseLoggingEnabledGA4, - "onUpdate:modelValue": _cache[8] || (_cache[8] = $event => _ctx.isVerboseLoggingEnabledGA4 = $event), - title: _ctx.translate('GoogleAnalyticsImporter_IsVerboseLoggingEnabled'), - "inline-help": _ctx.isVerboseLoggingEnabledHelp - }, null, 8, ["modelValue", "title", "inline-help"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { - type: "submit", - id: "startImportSubmitGA4", - class: "btn", - onClick: _cache[9] || (_cache[9] = $event => _ctx.startImportGA4()), - disabled: _ctx.isStartingImport - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Start')), 9, _hoisted_10)]); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportScheduler/ImportSchedulerGA4.vue?vue&type=template&id=8da8e6d8 - -// EXTERNAL MODULE: external "CorePluginsAdmin" -var external_CorePluginsAdmin_ = __webpack_require__("a5a2"); - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportScheduler/ImportSchedulerGA4.vue?vue&type=script&lang=ts - - - -/* harmony default export */ var ImportSchedulerGA4vue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - startImportNonce: { - type: String, - required: true - }, - maxEndDateDesc: String, - extraCustomDimensionsField: { - type: Object, - required: true - }, - streamIdsField: { - type: Object, - required: true - } - }, - components: { - Field: external_CorePluginsAdmin_["Field"] - }, - data() { - return { - isStartingImport: false, - extraCustomDimensionsGA4: [], - streamIds: [], - isVerboseLoggingEnabledGA4: false, - ignoreCustomDimensionSlotCheckGA4: false, - startDateGA4: '', - endDateGA4: '', - propertyIdGA4: '', - accountId: '', - viewId: '', - isMobileAppGA4: false, - timezoneGA4: '' - }; - }, - created() { - return this; - }, - methods: { - startImportGA4() { - if (this.startDateGA4) { - try { - Object(external_CoreHome_["parseDate"])(this.startDateGA4); - } catch (e) { - const instanceId = external_CoreHome_["NotificationsStore"].show({ - message: Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_InvalidDateFormat', ['YYYY-MM-DD']), - context: 'error', - type: 'transient' - }); - external_CoreHome_["NotificationsStore"].scrollToNotification(instanceId); - return undefined; - } - } - this.isStartingImport = true; - const forceCustomDimensionSlotCheck = !this.ignoreCustomDimensionSlotCheckGA4; - return external_CoreHome_["AjaxHelper"].post({ - module: 'GoogleAnalyticsImporter', - action: 'startImportGA4', - startDate: this.startDateGA4, - endDate: this.endDateGA4, - propertyId: this.propertyIdGA4, - viewId: this.viewId, - nonce: this.startImportNonce, - accountId: this.accountId, - isMobileApp: this.isMobileAppGA4 ? '1' : '0', - timezone: this.timezoneGA4, - extraCustomDimensions: this.extraCustomDimensionsGA4, - streamIds: this.streamIds, - isVerboseLoggingEnabled: this.isVerboseLoggingEnabledGA4 ? '1' : '0', - forceCustomDimensionSlotCheck: forceCustomDimensionSlotCheck ? '1' : '0' - }, {}, { - withTokenInUrl: true - }).finally(() => { - window.location.reload(); - }); - } - }, - computed: { - endDateHelp() { - const endDateHelp = Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_EndDateHelpText'); - const maxEndDateDesc = this.maxEndDateDesc && Object(external_CoreHome_["translate"])('

GoogleAnalyticsImporter_MaxEndDateHelp', this.maxEndDateDesc); - return `${endDateHelp} ${maxEndDateDesc || ''}`; - }, - timezoneHelp() { - const url = 'https://www.php.net/manual/en/timezones.php'; - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_TimezoneGA4Help', ``, ''); - }, - extraCustomDimensionsHelp() { - const link = 'https://ga-dev-tools.web.app/ga4/dimensions-metrics-explorer/'; - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ExtraCustomDimensionsGA4Help', ``, ''); - }, - streamIdsFilterHelp() { - const url = 'https://matomo.org/faq/what-is-data-stream-in-google-analytics-4/'; - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_StreamIdFilterHelpText', ``, '', '

', ''); - }, - forceIgnoreOutOfCustomDimSlotErrorHelp() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ForceCustomDimensionSlotCheckHelp', Object(external_CoreHome_["externalLink"])('https://matomo.org/docs/custom-dimensions/'), ''); - }, - isVerboseLoggingEnabledHelp() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_IsVerboseLoggingEnabledHelp', '/path/to/matomo/tmp/logs/', 'gaimportlog.$idSite.$matomoDomain.log'); - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportScheduler/ImportSchedulerGA4.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportScheduler/ImportSchedulerGA4.vue - - - -ImportSchedulerGA4vue_type_script_lang_ts.render = render - -/* harmony default export */ var ImportSchedulerGA4 = (ImportSchedulerGA4vue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatus.vue?vue&type=template&id=985a7fca - -const ImportStatusvue_type_template_id_985a7fca_hoisted_1 = { - ref: "root" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_2 = { - class: "entityTable importStatusesTable" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_3 = { - class: "modal", - id: "openScheduleReimportModal" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_4 = { - class: "modal-content" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_5 = { - class: "modal-footer" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_6 = { - class: "modal", - id: "editImportEndDate" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_7 = { - class: "modal-content" -}; -const ImportStatusvue_type_template_id_985a7fca_hoisted_8 = { - class: "modal-footer" -}; -function ImportStatusvue_type_template_id_985a7fca_render(_ctx, _cache, $props, $setup, $data, $options) { - const _component_ImportStatusRow = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ImportStatusRow"); - const _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field"); - const _directive_tooltips = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("tooltips"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", ImportStatusvue_type_template_id_985a7fca_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_MatomoSite')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_GoogleAnalyticsInfo')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Status')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_LatestDayProcessed')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ScheduledReImports')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_StartFinishTimes')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Actions')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.statuses, (status, index) => { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ImportStatusRow, { - status: status, - key: index, - onEndImport: $event => _ctx.showEditImportEndDateModal(status.idSite, status.isGA4), - onReimport: $event => _ctx.openScheduleReimportModal(status.idSite, status.isGA4), - onDelete: $event => _ctx.deleteImportStatus(status.idSite, $event.isDone), - onManuallyResume: $event => _ctx.manuallyResume(status.idSite, status.isGA4) - }, null, 8, ["status", "onEndImport", "onReimport", "onDelete", "onManuallyResume"]); - }), 128))])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_EnterImportDateRange')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - name: "re-import-start-date", - uicontrol: "text", - modelValue: _ctx.reimportStartDate, - "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.reimportStartDate = $event), - placeholder: `${_ctx.translate('GoogleAnalyticsImporter_StartDate')} (YYYY-MM-DD)` - }, null, 8, ["modelValue", "placeholder"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - name: "re-import-end-date", - uicontrol: "text", - modelValue: _ctx.reimportEndDate, - "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => _ctx.reimportEndDate = $event), - placeholder: `${_ctx.translate('GoogleAnalyticsImporter_EndDate')} (YYYY-MM-DD)` - }, null, 8, ["modelValue", "placeholder"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - id: "scheduleReimportSubmit", - href: "", - class: "modal-action modal-close btn", - onClick: _cache[2] || (_cache[2] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])($event => _ctx.scheduleReimport(), ["prevent"])), - style: { - "margin-right": "3.5px" - } - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Schedule')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - href: "", - class: "modal-action modal-close modal-no", - onClick: _cache[3] || (_cache[3] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(() => {}, ["prevent"])) - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Cancel')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_EnterImportEndDate')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("em", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_LeaveEmptyToRemove')), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { - name: "new-import-end-date", - uicontrol: "text", - modelValue: _ctx.newImportEndDate, - "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => _ctx.newImportEndDate = $event), - placeholder: `${_ctx.translate('GoogleAnalyticsImporter_EndDate')} (YYYY-MM-DD)` - }, null, 8, ["modelValue", "placeholder"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ImportStatusvue_type_template_id_985a7fca_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - href: "", - class: "modal-action modal-close btn", - onClick: _cache[5] || (_cache[5] = $event => _ctx.changeImportEndDateModal()), - style: { - "margin-right": "3.5px" - } - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Change')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - href: "", - class: "modal-action modal-close modal-no", - onClick: _cache[6] || (_cache[6] = $event => _ctx.cancelEditImportEndDateModal()) - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Cancel')), 1)])])])), [[_directive_tooltips, { - content: _ctx.tooltipContent, - delay: 500, - duration: 200 - }]]); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatus.vue?vue&type=template&id=985a7fca - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatusRow.vue?vue&type=template&id=0725f86e - -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_1 = ["data-idsite"]; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_2 = { - class: "sitename" -}; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_3 = ["href"]; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_4 = { - key: 1, - style: { - "text-transform": "uppercase" - } -}; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_6 = ["innerHTML"]; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_7 = { - class: "status" -}; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_8 = ["title"]; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_9 = { - key: 1, - style: { - "word-wrap": "break-word" - } -}; -const ImportStatusRowvue_type_template_id_0725f86e_hoisted_10 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_11 = { - key: 0 -}; -const _hoisted_12 = ["innerHTML"]; -const _hoisted_13 = { - class: "last-date-imported" -}; -const _hoisted_14 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_15 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_16 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_17 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_18 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_19 = { - key: 0 -}; -const _hoisted_20 = { - class: "scheduled-reimports" -}; -const _hoisted_21 = { - key: 0 -}; -const _hoisted_22 = { - key: 1 -}; -const _hoisted_23 = { - class: "import-start-finish-times" -}; -const _hoisted_24 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -const _hoisted_26 = { - key: 0 -}; -const _hoisted_27 = { - key: 1 -}; -const _hoisted_28 = { - key: 0 -}; -const _hoisted_29 = { - key: 1 -}; -const _hoisted_30 = { - key: 2 -}; -const _hoisted_31 = { - key: 3 -}; -const _hoisted_32 = { - class: "actions" -}; -const _hoisted_33 = ["title"]; -const _hoisted_34 = ["title"]; -function ImportStatusRowvue_type_template_id_0725f86e_render(_ctx, _cache, $props, $setup, $data, $options) { - var _ctx$status$reimport_; - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", { - "data-idsite": _ctx.status.idSite - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", ImportStatusRowvue_type_template_id_0725f86e_hoisted_2, [_ctx.status.site ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", { - key: 0, - target: "_blank", - href: _ctx.siteUrl - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.siteName), 9, ImportStatusRowvue_type_template_id_0725f86e_hoisted_3)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", ImportStatusRowvue_type_template_id_0725f86e_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_SiteDeleted')), 1)), ImportStatusRowvue_type_template_id_0725f86e_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_SiteID')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.idSite), 1)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { - class: "ga-info", - innerHTML: _ctx.$sanitize(_ctx.gaInfoPretty) - }, null, 8, ImportStatusRowvue_type_template_id_0725f86e_hoisted_6), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", ImportStatusRowvue_type_template_id_0725f86e_hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.statusName) + " ", 1), _ctx.status.statusDescription ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { - key: 0, - class: "icon icon-help", - title: _ctx.status.statusDescription - }, null, 8, ImportStatusRowvue_type_template_id_0725f86e_hoisted_8)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.status.errorDescription ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", ImportStatusRowvue_type_template_id_0725f86e_hoisted_9, [ImportStatusRowvue_type_template_id_0725f86e_hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_StatusErroredName')), 1), _ctx.status.errorCode ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_11, " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.errorCode), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(": "), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.status.errorDescription) - }, null, 8, _hoisted_12)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_13, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_LastDayImported')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.last_date_imported || _ctx.noneText), 1), _hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_LastDayArchived')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.last_day_archived || _ctx.noneText), 1), _hoisted_15, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ImportStartDate')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.import_range_start || _ctx.websiteCreationTime) + " ", 1), _hoisted_16, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ImportEndDate')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.import_range_end || _ctx.noneText) + " ", 1), _hoisted_17, _hoisted_18]), _ctx.status.status !== 'finished' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_19, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - class: "edit-import-end-link table-command-link", - href: "", - onClick: _cache[0] || (_cache[0] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])($event => _ctx.$emit('end-import'), ["prevent"])) - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_EditEndDate')), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [_ctx.status.isGA4 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", { - key: 0, - id: "reimport-date-range", - class: "table-command-link", - href: "", - onClick: _cache[1] || (_cache[1] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])($event => _ctx.$emit('reimport'), ["prevent"])) - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ReimportDate')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_20, [(_ctx$status$reimport_ = _ctx.status.reimport_ranges) !== null && _ctx$status$reimport_ !== void 0 && _ctx$status$reimport_.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("ul", _hoisted_21, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.status.reimport_ranges, (entry, index) => { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: index - }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(entry[0]) + "," + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(entry[1]), 1); - }), 128))])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_22, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_None')), 1))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_23, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ImportStartTime')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.import_start_time || _ctx.noneText), 1), _hoisted_24, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_LastResumeTime')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.last_job_start_time || _ctx.noneText), 1), _hoisted_25, _ctx.status.status === 'finished' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_26, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_TimeFinished')) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.status.import_end_time || _ctx.noneText), 1)) : _ctx.status.estimated_days_left_to_finish ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_27, [_ctx.thisJobShouldFinishToday ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_28, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ThisJobShouldFinishToday')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_29, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_EstimatedFinishIn', _ctx.status.estimated_days_left_to_finish)), 1))])) : _ctx.status.import_range_end ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_30, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_JobWillRunUntilManuallyCancelled')), 1)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_31, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Unknown')), 1))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_32, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["table-action", { - 'icon-delete': _ctx.isDone, - 'icon-close': !_ctx.isDone - }]), - onClick: _cache[2] || (_cache[2] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])($event => _ctx.$emit('delete', { - isDone: _ctx.isDone - }), ["prevent"])), - title: _ctx.isDone ? _ctx.translate('General_Remove') : _ctx.translate('General_Cancel') - }, null, 10, _hoisted_33), ['finished', 'ongoing', 'started'].indexOf(_ctx.status.status) === -1 ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("a", { - key: 0, - class: "table-action icon-play", - onClick: _cache[3] || (_cache[3] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])($event => _ctx.$emit('manuallyResume'), ["prevent"])), - title: _ctx.translate('GoogleAnalyticsImporter_ResumeDesc') - }, null, 8, _hoisted_34)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 8, ImportStatusRowvue_type_template_id_0725f86e_hoisted_1); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatusRow.vue?vue&type=template&id=0725f86e - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatusRow.vue?vue&type=script&lang=ts - - -/* harmony default export */ var ImportStatusRowvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - status: { - type: Object, - required: true - } - }, - emits: ['end-import', 'reimport', 'delete', 'manuallyResume'], - computed: { - isDone() { - return this.status.status === 'finished'; - }, - siteUrl() { - return `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({ - period: 'day', - date: 'today' - }, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { - idSite: this.status.idSite, - module: 'CoreHome', - action: 'index' - }))}`; - }, - gaInfoPretty() { - return (this.status.gaInfoPretty || '').replace(/\n/g, '
'); - }, - errorMessageBugReportRequest() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ErrorMessageBugReportRequest', Object(external_CoreHome_["externalLink"])('https://forum.matomo.org/'), ''); - }, - thisJobShouldFinishToday() { - return this.status.estimated_days_left_to_finish === 0 || this.status.estimated_days_left_to_finish === '0'; - }, - siteName() { - var _this$status$site; - return external_CoreHome_["Matomo"].helper.htmlDecode((_this$status$site = this.status.site) === null || _this$status$site === void 0 ? void 0 : _this$status$site.name); - }, - noneText() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_None'); - }, - websiteCreationTime() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_CreationDate'); - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatusRow.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatusRow.vue - - - -ImportStatusRowvue_type_script_lang_ts.render = ImportStatusRowvue_type_template_id_0725f86e_render - -/* harmony default export */ var ImportStatusRow = (ImportStatusRowvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatus.vue?vue&type=script&lang=ts - - - - -const { - $: ImportStatusvue_type_script_lang_ts_$ -} = window; -/* harmony default export */ var ImportStatusvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - statuses: { - type: Array, - required: true - }, - stopImportNonce: { - type: String, - required: true - }, - changeImportEndDateNonce: { - type: String, - required: true - }, - resumeImportNonce: { - type: String, - required: true - }, - scheduleReImportNonce: { - type: String, - required: true - } - }, - components: { - Field: external_CorePluginsAdmin_["Field"], - ImportStatusRow: ImportStatusRow - }, - directives: { - Tooltips: external_CoreHome_["Tooltips"] - }, - data() { - return { - editImportEndDateIdSite: null, - reimportDateRangeIdSite: null, - reimportStartDate: '', - reimportEndDate: '', - newImportEndDate: '', - isGA4: false - }; - }, - methods: { - showEditImportEndDateModal(idSite, isGA4) { - this.editImportEndDateIdSite = idSite; - this.isGA4 = isGA4; - ImportStatusvue_type_script_lang_ts_$('#editImportEndDate').modal({ - dismissible: false - }).modal('open'); - }, - cancelEditImportEndDateModal() { - this.editImportEndDateIdSite = null; - this.isGA4 = false; - }, - manuallyResume(idSite, isGA4) { - return external_CoreHome_["AjaxHelper"].post({ - module: 'GoogleAnalyticsImporter', - action: 'resumeImport', - idSite, - isGA4: isGA4 ? 1 : 0, - nonce: this.resumeImportNonce - }, {}, { - withTokenInUrl: true - }).finally(() => { - window.location.reload(); - }); - }, - deleteImportStatus(idSite, isDoneOrForce) { - if (!isDoneOrForce) { - external_CoreHome_["Matomo"].helper.modalConfirm('#confirmCancelJob', { - yes: () => { - this.deleteImportStatus(idSite, true); - } - }); - return undefined; - } - return external_CoreHome_["AjaxHelper"].post({ - module: 'GoogleAnalyticsImporter', - action: 'deleteImportStatus', - idSite, - nonce: this.stopImportNonce - }, {}, { - withTokenInUrl: true - }).finally(() => { - window.location.reload(); - }); - }, - openScheduleReimportModal(idSite, isGA4) { - this.reimportDateRangeIdSite = idSite; - this.isGA4 = isGA4; - ImportStatusvue_type_script_lang_ts_$('#openScheduleReimportModal').modal({ - dismissible: false - }).modal('open'); - }, - changeImportEndDateModal() { - return external_CoreHome_["AjaxHelper"].post({ - module: 'GoogleAnalyticsImporter', - action: 'changeImportEndDate', - idSite: this.editImportEndDateIdSite, - nonce: this.changeImportEndDateNonce, - endDate: this.newImportEndDate - }, {}, { - withTokenInUrl: true - }).finally(() => { - window.location.reload(); - }); - }, - scheduleReimport() { - return external_CoreHome_["AjaxHelper"].post({ - module: 'GoogleAnalyticsImporter', - action: 'scheduleReImport', - idSite: this.reimportDateRangeIdSite, - startDate: this.reimportStartDate, - endDate: this.reimportEndDate, - nonce: this.scheduleReImportNonce, - isGA4: this.isGA4 ? 1 : 0 - }, {}, { - withTokenInUrl: true - }).finally(() => { - window.location.reload(); - }); - } - }, - computed: { - tooltipContent() { - return function tooltipContent() { - const title = ImportStatusvue_type_script_lang_ts_$(this).attr('title') || ''; - return window.vueSanitize(title.replace(/\n/g, '
')); - }; - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatus.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ImportStatus/ImportStatus.vue - - - -ImportStatusvue_type_script_lang_ts.render = ImportStatusvue_type_template_id_985a7fca_render - -/* harmony default export */ var ImportStatus = (ImportStatusvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/Configure/ConfigureConnection.vue?vue&type=template&id=7a9a48f2 - -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_1 = { - key: 0, - class: "form-group row" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_2 = { - class: "col s12 m12" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_3 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_4 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_5 = ["textContent"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_6 = { - class: "form-group row" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_7 = ["action"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_8 = { - key: 0, - type: "hidden", - name: "isNoDataPage", - value: "1" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_9 = ["value"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_10 = ["disabled"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_11 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - class: "icon-upload" -}, null, -1); -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_12 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - class: "icon-upload" -}, null, -1); -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_13 = { - key: 1, - class: "system-success connected-message-successful" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_14 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - class: "icon-ok" -}, null, -1); -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_15 = { - key: 2 -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_16 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_17 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_18 = ["action"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_19 = ["value"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_20 = ["disabled", "textContent"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_21 = { - key: 0, - class: "system-success connected-message-successful" -}; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_22 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - class: "icon-ok" -}, null, -1); -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_23 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_24 = ["textContent"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_25 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_26 = ["innerHTML"]; -const ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_27 = ["textContent"]; -function ConfigureConnectionvue_type_template_id_7a9a48f2_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"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [!_ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ConfigureTheImporterLabel1')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ConfigureTheImporterLabel2')) + "  ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.setupGoogleAnalyticsImportFaq) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_3)])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 1, - innerHTML: _ctx.$sanitize(_ctx.getAdvanceConnectStep01Text) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_4)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.isNoDataPage ? 'li' : 'div'), null, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [_ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", { - key: 0, - textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep02')) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_5)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { - class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(_ctx.getClass) - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { - id: "configFileUploadForm", - action: _ctx.manualActionUrl, - method: "POST", - enctype: "multipart/form-data" - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "file", - id: "clientfile", - name: "clientfile", - accept: ".json", - onChange: _cache[0] || (_cache[0] = (...args) => _ctx.processFileChange && _ctx.processFileChange(...args)), - style: { - "display": "none" - } - }, null, 32), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("input", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_8)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - name: "config_nonce", - value: _ctx.manualConfigNonce - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_9), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { - type: "button", - class: "btn advance-upload-button", - onClick: _cache[1] || (_cache[1] = $event => _ctx.selectConfigFile()), - disabled: _ctx.isUploadButtonDisabled - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_11, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Upload')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.isUploadButtonDisabled]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_12, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Uploading')), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.isUploadButtonDisabled]])], 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_10), _ctx.isNoDataPage && _ctx.hasClientConfiguration ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_13, [ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_UploadSuccessful')), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_7)], 2)])]), - _: 1 - })), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_15, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { - innerHTML: _ctx.$sanitize(_ctx.getAdvanceConnectStep03Text) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_16), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { - class: "complete-note-warning", - innerHTML: _ctx.$sanitize(_ctx.getOauthCompleteWarningMessage) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_17), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { - target: "_blank", - method: "post", - action: _ctx.authorizeUrl - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - name: "auth_nonce", - value: _ctx.forwardToAuthNonce - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_19), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { - disabled: _ctx.hasClientConfiguration === false, - textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.getAuthorizeText), - type: "submit", - class: "btn btn-forward-to-Oauth" - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_20), _ctx.isNoDataPage && _ctx.hasClientConfiguration && _ctx.isConfigured ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_21, [ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_22, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_AccountsConnectedSuccessfully')), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_18)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 3, - innerHTML: _ctx.$sanitize(_ctx.getAdvanceConnectStep04Text) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_23)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 4, - textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep06GA4')) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_24)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 5, - innerHTML: _ctx.$sanitize(_ctx.getAdvanceConnectStep07Text) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_25)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 6, - innerHTML: _ctx.$sanitize(_ctx.getAdvanceConnectStep08Text) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_26)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("li", { - key: 7, - textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep09')) - }, null, 8, ConfigureConnectionvue_type_template_id_7a9a48f2_hoisted_27)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 64); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/Configure/ConfigureConnection.vue?vue&type=template&id=7a9a48f2 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/Configure/ConfigureConnection.vue?vue&type=script&lang=ts - - -/* harmony default export */ var ConfigureConnectionvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - data() { - return { - isSelectingFile: false, - isUploading: false - }; - }, - props: { - manualConfigNonce: { - type: String, - required: true - }, - manualActionUrl: { - type: String, - required: true - }, - isNoDataPage: Boolean, - hasClientConfiguration: Boolean, - indexActionUrl: { - type: String, - required: true - }, - authorizeUrl: String, - forwardToAuthNonce: String, - isConfigured: Boolean - }, - methods: { - selectConfigFile() { - this.isSelectingFile = true; - const fileInput = document.getElementById('clientfile'); - if (fileInput) { - fileInput.click(); - } - }, - processFileChange() { - const fileInput = document.getElementById('clientfile'); - const configFileUploadForm = document.getElementById('configFileUploadForm'); - if (fileInput && fileInput.value && configFileUploadForm) { - this.isUploading = true; - configFileUploadForm.submit(); - } - }, - checkForCancel() { - // If we're not in currently selecting a file or if we're uploading, there's no point checking - if (!this.isSelectingFile || this.isUploading) { - return; - } - // Check if the file is empty and change back from selecting status - const fileInput = document.getElementById('clientfile'); - if (fileInput && !fileInput.value) { - this.isSelectingFile = false; - } - } - }, - computed: { - setupGoogleAnalyticsImportFaq() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ConfigureTheImporterLabel3', Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/general/set-up-google-analytics-import/'), ''); - }, - isUploadButtonDisabled() { - return this.isSelectingFile || this.isUploading; - }, - getAdvanceConnectStep01Text() { - return this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep01', Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/general/set-up-google-analytics-import/'), ''); - }, - getAdvanceConnectStep03Text() { - return this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep03', this.translate('GoogleAnalyticsImporter_Authorize')); - }, - getAdvanceConnectStep04Text() { - return this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep04', ``, '', Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/general/running-the-google-analytics-import/'), ''); - }, - getAdvanceConnectStep05Text() { - return this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep05', Object(external_CoreHome_["externalLink"])(this.indexActionUrl), ''); - }, - getAdvanceConnectStep07Text() { - return `${this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep07', this.translate('GoogleAnalyticsImporter_Start'))}
${this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep07Note', '', '', this.translate('GoogleAnalyticsImporter_Start'))}
`; - }, - getAdvanceConnectStep08Text() { - return this.translate('GoogleAnalyticsImporter_GAImportNoDataScreenStep08', ``, ''); - }, - getOauthCompleteWarningMessage() { - return this.translate('GoogleAnalyticsImporter_GoogleOauthCompleteWarning', '', ''); - }, - getClass() { - let classes = 'col s12'; - if (this.isNoDataPage) { - classes += ' p-half-point'; - } else { - classes += ' m6'; - } - return classes; - }, - getAuthorizeText() { - if (this.isConfigured) { - return this.translate('GoogleAnalyticsImporter_ReAuthorize'); - } - return this.translate('GoogleAnalyticsImporter_Authorize'); - } - }, - mounted() { - document.body.onfocus = this.checkForCancel; - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/Configure/ConfigureConnection.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/Configure/ConfigureConnection.vue - - - -ConfigureConnectionvue_type_script_lang_ts.render = ConfigureConnectionvue_type_template_id_7a9a48f2_render - -/* harmony default export */ var ConfigureConnection = (ConfigureConnectionvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ClientConfig/ClientConfig.vue?vue&type=template&id=3d935500 - -const ClientConfigvue_type_template_id_3d935500_hoisted_1 = ["action"]; -const ClientConfigvue_type_template_id_3d935500_hoisted_2 = ["value"]; -const ClientConfigvue_type_template_id_3d935500_hoisted_3 = { - key: 0 -}; -const ClientConfigvue_type_template_id_3d935500_hoisted_4 = { - type: "submit", - class: "btn" -}; -const ClientConfigvue_type_template_id_3d935500_hoisted_5 = { - key: 1 -}; -const ClientConfigvue_type_template_id_3d935500_hoisted_6 = { - type: "submit", - class: "btn" -}; -const ClientConfigvue_type_template_id_3d935500_hoisted_7 = ["action"]; -const ClientConfigvue_type_template_id_3d935500_hoisted_8 = ["value"]; -const ClientConfigvue_type_template_id_3d935500_hoisted_9 = { - type: "submit", - class: "btn" -}; -function ClientConfigvue_type_template_id_3d935500_render(_ctx, _cache, $props, $setup, $data, $options) { - const _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [_ctx.hasClientConfiguration ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - key: 0, - "content-title": _ctx.translate('GoogleAnalyticsImporter_ConfigureTheImporter') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { - method: "post", - action: _ctx.forwardToAuthUrl, - id: "clientauthform" - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - name: "auth_nonce", - value: _ctx.authNonce - }, null, 8, ClientConfigvue_type_template_id_3d935500_hoisted_2), _ctx.isConfigured ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", ClientConfigvue_type_template_id_3d935500_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ImporterIsConfigured')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", ClientConfigvue_type_template_id_3d935500_hoisted_4, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ReAuthorize')), 1)])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", ClientConfigvue_type_template_id_3d935500_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ClientConfigSuccessfullyUpdated')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", ClientConfigvue_type_template_id_3d935500_hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_Authorize')), 1)]))], 8, ClientConfigvue_type_template_id_3d935500_hoisted_1)]), - _: 1 - }, 8, ["content-title"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasClientConfiguration ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - key: 1, - "content-title": _ctx.translate('GoogleAnalyticsImporter_RemoveClientConfiguration') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("form", { - action: _ctx.deleteClientCredentialsLink, - method: "POST", - enctype: "multipart/form-data", - id: "removeConfigForm" - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_DeleteUploadedClientConfig')) + ":", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - type: "hidden", - name: "config_nonce", - value: _ctx.configNonce - }, null, 8, ClientConfigvue_type_template_id_3d935500_hoisted_8), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", ClientConfigvue_type_template_id_3d935500_hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Remove')), 1)], 8, ClientConfigvue_type_template_id_3d935500_hoisted_7)]), - _: 1 - }, 8, ["content-title"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ClientConfig/ClientConfig.vue?vue&type=template&id=3d935500 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/ClientConfig/ClientConfig.vue?vue&type=script&lang=ts - - -/* harmony default export */ var ClientConfigvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - hasClientConfiguration: Boolean, - isConfigured: Boolean, - authNonce: String, - configNonce: String - }, - components: { - ContentBlock: external_CoreHome_["ContentBlock"] - }, - data() { - return { - clientFileToSet: null, - clientConfigTextToSet: '' - }; - }, - computed: { - forwardToAuthUrl() { - return `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { - action: 'forwardToAuth' - }))}`; - }, - configureClientLink() { - return `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { - action: 'configureClient' - }))}`; - }, - configureClientDesc2() { - const link = 'https://matomo.org/docs/google-analytics-importer/'; - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ConfigureClientDesc2', ``, ''); - }, - deleteClientCredentialsLink() { - return `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), {}, { - action: 'deleteClientCredentials' - }))}`; - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ClientConfig/ClientConfig.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/ClientConfig/ClientConfig.vue - - - -ClientConfigvue_type_script_lang_ts.render = ClientConfigvue_type_template_id_3d935500_render - -/* harmony default export */ var ClientConfig = (ClientConfigvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/AdminPage.vue?vue&type=template&id=89ec9138 - -const AdminPagevue_type_template_id_89ec9138_hoisted_1 = { - class: "hide-import-main-div ga-import-main-div ga4-main-div" -}; -const AdminPagevue_type_template_id_89ec9138_hoisted_2 = { - key: 0 -}; -const AdminPagevue_type_template_id_89ec9138_hoisted_3 = { - key: 3, - class: "ui-confirm", - id: "confirmCancelJob" -}; -const AdminPagevue_type_template_id_89ec9138_hoisted_4 = ["value"]; -const AdminPagevue_type_template_id_89ec9138_hoisted_5 = ["value"]; -function AdminPagevue_type_template_id_89ec9138_render(_ctx, _cache, $props, $setup, $data, $options) { - const _component_CommonConnect = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("CommonConnect"); - const _component_ClientConfig = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ClientConfig"); - const _component_ImportSchedulerGA4 = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ImportSchedulerGA4"); - const _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - const _component_ImportStatus = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ImportStatus"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_CommonConnect, { - extensions: _ctx.extensions, - "configure-connection-props": _ctx.configureConnectionProps - }, null, 8, ["extensions", "configure-connection-props"]), _ctx.isClientConfigurable ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ClientConfig, { - key: 0, - "has-client-configuration": _ctx.hasClientConfiguration, - "is-configured": _ctx.isConfigured, - "auth-nonce": _ctx.authNonce, - "config-nonce": _ctx.configNonce - }, null, 8, ["has-client-configuration", "is-configured", "auth-nonce", "config-nonce"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasClientConfiguration && _ctx.isConfigured ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - key: 1 - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", AdminPagevue_type_template_id_89ec9138_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ScheduleAnImportGA4')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ImportSchedulerGA4, { - "start-import-nonce": _ctx.startImportNonce, - "max-end-date-desc": _ctx.maxEndDateDesc, - "extra-custom-dimensions-field": _ctx.extraCustomDimensionsFieldGa4, - "stream-ids-field": _ctx.streamIdsFieldGa4 - }, null, 8, ["start-import-nonce", "max-end-date-desc", "extra-custom-dimensions-field", "stream-ids-field"])])]), - _: 1 - })) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasClientConfiguration && _ctx.isConfigured ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - key: 2, - id: "importStatusContainer", - "content-title": _ctx.translate('GoogleAnalyticsImporter_ImportJobs') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => { - var _ctx$statuses, _ctx$statuses2; - return [!((_ctx$statuses = _ctx.statuses) !== null && _ctx$statuses !== void 0 && _ctx$statuses.length) ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("p", AdminPagevue_type_template_id_89ec9138_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_ThereAreNoImportJobs')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (_ctx$statuses2 = _ctx.statuses) !== null && _ctx$statuses2 !== void 0 && _ctx$statuses2.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ImportStatus, { - key: 1, - statuses: _ctx.statuses, - "stop-import-nonce": _ctx.stopImportNonce, - "change-import-end-date-nonce": _ctx.changeImportEndDateNonce, - "resume-import-nonce": _ctx.resumeImportNonce, - "schedule-re-import-nonce": _ctx.scheduleReImportNonce - }, null, 8, ["statuses", "stop-import-nonce", "change-import-end-date-nonce", "resume-import-nonce", "schedule-re-import-nonce"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]; - }), - _: 1 - }, 8, ["content-title"])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.hasClientConfiguration && _ctx.isConfigured ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", AdminPagevue_type_template_id_89ec9138_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('GoogleAnalyticsImporter_CancelJobConfirm')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - role: "yes", - type: "button", - value: _ctx.translate('General_Yes') - }, null, 8, AdminPagevue_type_template_id_89ec9138_hoisted_4), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { - role: "no", - type: "button", - value: _ctx.translate('General_No') - }, null, 8, AdminPagevue_type_template_id_89ec9138_hoisted_5)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/AdminPage.vue?vue&type=template&id=89ec9138 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--13-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--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/CommonConnect.vue?vue&type=template&id=a5479d76 - -function CommonConnectvue_type_template_id_a5479d76_render(_ctx, _cache, $props, $setup, $data, $options) { - const _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.componentExtensions, (refComponent, index) => { - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], { - key: index - }, [!_ctx.isNoDataPage ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_ContentBlock, { - key: 0, - "content-title": _ctx.isNoDataPage ? '' : _ctx.translate('GoogleAnalyticsImporter_AdminMenuTitle') - }, { - default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(refComponent), { - "manual-config-nonce": _ctx.configConnectProps.manualConfigNonce, - "base-domain": _ctx.configConnectProps.baseDomain, - "base-url": _ctx.configConnectProps.baseUrl, - "manual-action-url": _ctx.configConnectProps.manualActionUrl, - "primary-text": _ctx.configConnectProps.primaryText, - "radio-options": _ctx.configConnectProps.radioOptions, - "manual-config-text": _ctx.configConnectProps.manualConfigText, - "connect-accounts-url": _ctx.configConnectProps.connectAccountsUrl, - "connect-accounts-btn-text": _ctx.configConnectProps.connectAccountsBtnText, - "auth-url": _ctx.configConnectProps.authUrl, - "unlink-url": _ctx.configConnectProps.unlinkUrl, - strategy: _ctx.configConnectProps.strategy, - "connected-with": _ctx.configConnectProps.connectedWith, - "is-no-data-page": _ctx.isNoDataPage, - "has-client-configuration": _ctx.hasClientConfiguration, - "index-action-url": _ctx.indexActionUrl, - "authorize-url": _ctx.authorizeUrl, - "forward-to-auth-nonce": _ctx.forwardToAuthNonce, - "is-configured": _ctx.isConfigured, - "strategy-to-use": _ctx.strategyToUse, - "additional-help-text": _ctx.configConnectProps.additionalHelpText - }, null, 8, ["manual-config-nonce", "base-domain", "base-url", "manual-action-url", "primary-text", "radio-options", "manual-config-text", "connect-accounts-url", "connect-accounts-btn-text", "auth-url", "unlink-url", "strategy", "connected-with", "is-no-data-page", "has-client-configuration", "index-action-url", "authorize-url", "forward-to-auth-nonce", "is-configured", "strategy-to-use", "additional-help-text"]))]), - _: 2 - }, 1032, ["content-title"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(refComponent), { - key: 1, - "manual-config-nonce": _ctx.configConnectProps.manualConfigNonce, - "base-domain": _ctx.configConnectProps.baseDomain, - "base-url": _ctx.configConnectProps.baseUrl, - "manual-action-url": _ctx.configConnectProps.manualActionUrl, - "primary-text": _ctx.configConnectProps.primaryText, - "radio-options": _ctx.configConnectProps.radioOptions, - "manual-config-text": _ctx.configConnectProps.manualConfigText, - "connect-accounts-url": _ctx.configConnectProps.connectAccountsUrl, - "connect-accounts-btn-text": _ctx.configConnectProps.connectAccountsBtnText, - "auth-url": _ctx.configConnectProps.authUrl, - "unlink-url": _ctx.configConnectProps.unlinkUrl, - strategy: _ctx.configConnectProps.strategy, - "connected-with": _ctx.configConnectProps.connectedWith, - "is-no-data-page": _ctx.isNoDataPage, - "has-client-configuration": _ctx.hasClientConfiguration, - "index-action-url": _ctx.indexActionUrl, - "authorize-url": _ctx.authorizeUrl, - "forward-to-auth-nonce": _ctx.forwardToAuthNonce, - "is-configured": _ctx.isConfigured, - "strategy-to-use": _ctx.strategyToUse, - "additional-help-text": _ctx.configConnectProps.additionalHelpText - }, null, 8, ["manual-config-nonce", "base-domain", "base-url", "manual-action-url", "primary-text", "radio-options", "manual-config-text", "connect-accounts-url", "connect-accounts-btn-text", "auth-url", "unlink-url", "strategy", "connected-with", "is-no-data-page", "has-client-configuration", "index-action-url", "authorize-url", "forward-to-auth-nonce", "is-configured", "strategy-to-use", "additional-help-text"]))], 64); - }), 128); -} -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/CommonConnect.vue?vue&type=template&id=a5479d76 - -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/CommonConnect.vue?vue&type=script&lang=ts - - -/* harmony default export */ var CommonConnectvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - extensions: Array, - configureConnectionProps: { - type: Object, - required: true - }, - isNoDataPage: Boolean, - hasClientConfiguration: Boolean, - indexActionUrl: String, - authorizeUrl: String, - forwardToAuthNonce: String, - strategyToUse: String, - isConfigured: Boolean - }, - components: { - Notification: external_CoreHome_["Notification"], - ContentBlock: external_CoreHome_["ContentBlock"] - }, - computed: { - componentExtensions() { - const entries = this.extensions; - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["markRaw"])(entries.map(ref => Object(external_CoreHome_["useExternalPluginComponent"])(ref.plugin, ref.component))); - }, - configConnectProps() { - return this.configureConnectionProps; - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/CommonConnect.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/CommonConnect.vue - - - -CommonConnectvue_type_script_lang_ts.render = CommonConnectvue_type_template_id_a5479d76_render - -/* harmony default export */ var CommonConnect = (CommonConnectvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--15-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--1-1!./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/AdminPage.vue?vue&type=script&lang=ts - - - - - - -/* harmony default export */ var AdminPagevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ - props: { - hasClientConfiguration: Boolean, - isConfigured: Boolean, - isClientConfigurable: Boolean, - authNonce: String, - configNonce: String, - startImportNonce: { - type: String, - required: true - }, - maxEndDateDesc: String, - extraCustomDimensionsField: { - type: Object, - required: true - }, - extraCustomDimensionsFieldGa4: { - type: Object, - required: true - }, - streamIdsFieldGa4: { - type: Object, - required: true - }, - statuses: { - type: Array, - required: true - }, - stopImportNonce: { - type: String, - required: true - }, - changeImportEndDateNonce: { - type: String, - required: true - }, - resumeImportNonce: { - type: String, - required: true - }, - scheduleReImportNonce: { - type: String, - required: true - }, - importOptionsUa: { - type: Object, - required: true - }, - importOptionsGa4: { - type: Object, - required: true - }, - extensions: Array, - configureConnectionProps: { - type: Object, - required: true - } - }, - components: { - CommonConnect: CommonConnect, - ImportSchedulerGA4: ImportSchedulerGA4, - ContentBlock: external_CoreHome_["ContentBlock"], - ClientConfig: ClientConfig, - ImportStatus: ImportStatus - }, - data() { - return { - selectedImporter: '' - }; - }, - computed: { - importerHelp2Text() { - const link = 'https://matomo.org/docs/google-analytics-importer/'; - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ImporterHelp2', ``, ''); - }, - importerHelp3Text() { - return Object(external_CoreHome_["translate"])('GoogleAnalyticsImporter_ImporterHelp3', '

', ''); - }, - componentExtensions() { - const entries = this.extensions; - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["markRaw"])(entries.map(ref => Object(external_CoreHome_["useExternalPluginComponent"])(ref.plugin, ref.component))); - }, - configConnectProps() { - return this.configureConnectionProps; - } - } -})); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/AdminPage.vue?vue&type=script&lang=ts - -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/AdminPage/AdminPage.vue - - - -AdminPagevue_type_script_lang_ts.render = AdminPagevue_type_template_id_89ec9138_render - -/* harmony default export */ var AdminPage = (AdminPagevue_type_script_lang_ts); -// CONCATENATED MODULE: ./plugins/GoogleAnalyticsImporter/vue/src/index.ts -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ - - - - - - - - -// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js - - - - -/***/ }) - -/******/ }); -}); -//# sourceMappingURL=GoogleAnalyticsImporter.umd.js.map \ No newline at end of file From cb38ba7ab4522fa615e3a8d3f1c2ccc50ca68ec5 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 11 Aug 2026 19:24:12 +0200 Subject: [PATCH 02/14] Run the plugin tests on Matomo 6 PHP, database and Node versions [ignore_release] --- .github/workflows/matomo-tests.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml index 7105559a..8cd8aa7b 100644 --- a/.github/workflows/matomo-tests.yml +++ b/.github/workflows/matomo-tests.yml @@ -1,7 +1,7 @@ # Action for running tests # This file has been automatically created. # To recreate it you can run this command -# ./console generate:test-action --plugin="GoogleAnalyticsImporter" --php-versions="matomo5_min_php,matomo5_max_php" --dependent-plugins="matomo-org/plugin-MarketingCampaignsReporting innocraft/plugin-Funnels" --schedule-cron="10 3 * * 6" +# ./console generate:test-action --plugin="GoogleAnalyticsImporter" --php-versions="matomo6_min_php,matomo6_max_php" --dependent-plugins="matomo-org/plugin-MarketingCampaignsReporting innocraft/plugin-Funnels" --schedule-cron="10 3 * * 6" name: Plugin GoogleAnalyticsImporter Tests @@ -37,8 +37,11 @@ jobs: strategy: fail-fast: false matrix: - php: [ 'matomo5_min_php', 'matomo5_max_php' ] + php: [ 'matomo6_min_php', 'matomo6_max_php' ] target: ['minimum_required_matomo', 'maximum_supported_matomo'] + database: + - { engine: 'Mysql', version: '8.0' } + - { engine: 'Mariadb', version: '10.6' } steps: - uses: actions/checkout@v3 with: @@ -53,8 +56,10 @@ jobs: php-version: ${{ matrix.php }} test-type: 'PluginTests' matomo-test-branch: ${{ matrix.target }} + mysql-engine: ${{ matrix.database.engine }} + mysql-version: ${{ matrix.database.version }} artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} - upload-artifacts: ${{ matrix.php == 'matomo5_min_php' && matrix.target == 'maximum_supported_matomo' }} + upload-artifacts: ${{ matrix.php == 'matomo6_min_php' && matrix.target == 'maximum_supported_matomo' && matrix.database.engine == 'Mysql' }} dependent-plugins: 'matomo-org/plugin-MarketingCampaignsReporting innocraft/plugin-Funnels' github-token: ${{ secrets.TESTS_ACCESS_TOKEN || secrets.GITHUB_TOKEN }} UI: @@ -70,8 +75,10 @@ jobs: plugin-name: 'GoogleAnalyticsImporter' matomo-test-branch: 'maximum_supported_matomo' test-type: 'UI' - php-version: 'matomo5_min_php' - node-version: '16' + mysql-engine: 'Mysql' + mysql-version: '8.0' + php-version: 'matomo6_min_php' + node-version: '24' artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} upload-artifacts: true dependent-plugins: 'matomo-org/plugin-MarketingCampaignsReporting innocraft/plugin-Funnels' From 019faf34fd76244a55dfb1956aff957dd4a55c91 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 11 Aug 2026 19:24:12 +0200 Subject: [PATCH 03/14] Configure PHPStan for PHP 8.1 [ignore_release] --- phpstan.neon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpstan.neon b/phpstan.neon index 30b3140b..d7cae372 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,13 +1,13 @@ parameters: level: 1 - phpVersion: 70200 + phpVersion: 80100 tmpDir: /tmp/phpstan/GoogleAnalyticsImporter/main paths: - . excludePaths: analyseAndScan: - tests/* - - github-action-tests/ + - github-action-tests/ (?) - scoper.inc.php # still scanned so the prefixed Google classes are discovered even # when the Matomo bootstrap cannot load plugin autoloaders (e.g. CI) From 5e14e96e242ba6f83055bbcac15351d3c450b12d Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 11 Aug 2026 19:24:12 +0200 Subject: [PATCH 04/14] Adapt to the Monolog 3 record API and the removed brand colour [ignore_release] --- Logger/LogToSingleFileProcessor.php | 5 +++-- stylesheets/styles.less | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Logger/LogToSingleFileProcessor.php b/Logger/LogToSingleFileProcessor.php index 0a04db30..7776decd 100644 --- a/Logger/LogToSingleFileProcessor.php +++ b/Logger/LogToSingleFileProcessor.php @@ -9,6 +9,7 @@ namespace Piwik\Plugins\GoogleAnalyticsImporter\Logger; +use Monolog\LogRecord; use Piwik\Log\Logger; use Piwik\Container\StaticContainer; @@ -25,11 +26,11 @@ public function __construct($idSite) { $this->idSite = (int) $idSite; } - public function __invoke(array $record) + public function __invoke(LogRecord $record): LogRecord { $message = $record['message']; if (is_string($message)) { - $record['message'] = '(idSite: ' . $this->idSite . ') ' . $record['message']; + $record = $record->with(message: '(idSite: ' . $this->idSite . ') ' . $message); } return $record; } diff --git a/stylesheets/styles.less b/stylesheets/styles.less index b0737621..878df3ba 100644 --- a/stylesheets/styles.less +++ b/stylesheets/styles.less @@ -28,7 +28,7 @@ } .ga-import-warning { - background: @color-orange-brand; + background: #f57c00; color: white; &::before { From ad9d4ab9b9461275e1a63bdd4ae9374d144af9a9 Mon Sep 17 00:00:00 2001 From: sgiehl Date: Tue, 11 Aug 2026 19:24:12 +0200 Subject: [PATCH 05/14] Rebuild the Vue bundle with the Vite toolchain [ignore_release] --- .gitignore | 1 + vue/dist/GoogleAnalyticsImporter.umd.min.js | 21 +++++++------------ vue/dist/umd.metadata.json | 2 +- vue/src/AdminPage/AdminPage.vue | 7 ++++--- vue/src/AdminPage/CommonConnect.vue | 2 +- vue/src/ClientConfig/ClientConfig.vue | 2 +- .../ImportScheduler/ImportSchedulerGA4.vue | 2 +- vue/src/ImportStatus/ImportStatus.vue | 17 ++++++++------- vue/src/ImportStatus/ImportStatusRow.vue | 4 ++-- 9 files changed, 28 insertions(+), 30 deletions(-) diff --git a/.gitignore b/.gitignore index 5cc82699..6847cfb4 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ vendor/**/composer.lock /vue/dist/*.common.js /vue/dist/*.map /vue/dist/*.development.* +/vue/dist/*.umd.js diff --git a/vue/dist/GoogleAnalyticsImporter.umd.min.js b/vue/dist/GoogleAnalyticsImporter.umd.min.js index 7cb061b4..3b80ae69 100644 --- a/vue/dist/GoogleAnalyticsImporter.umd.min.js +++ b/vue/dist/GoogleAnalyticsImporter.umd.min.js @@ -1,15 +1,8 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):"function"===typeof define&&define.amd?define(["CoreHome",,"CorePluginsAdmin"],t):"object"===typeof exports?exports["GoogleAnalyticsImporter"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["GoogleAnalyticsImporter"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,o){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="plugins/GoogleAnalyticsImporter/vue/dist/",o(o.s="fae3")}({"19dc":function(t,o){t.exports=e},"8bbf":function(e,o){e.exports=t},a5a2:function(e,t){e.exports=o},fae3:function(e,t,o){"use strict";if(o.r(t),o.d(t,"ImportSchedulerGA4",(function(){return A})),o.d(t,"ImportStatus",(function(){return je})),o.d(t,"ImportStatusRow",(function(){return ge})),o.d(t,"ConfigureConnection",(function(){return Ye})),o.d(t,"ClientConfig",(function(){return at})),o.d(t,"AdminPage",(function(){return Ot})),o.d(t,"Connect",(function(){return gt})),"undefined"!==typeof window){var n=window.document.currentScript,r=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);r&&(o.p=r[1])}var a=o("19dc"); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("CoreHome"),require("vue"),require("CorePluginsAdmin")):"function"==typeof define&&define.amd?define(["exports","CoreHome","vue","CorePluginsAdmin"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).GoogleAnalyticsImporter={},e.CoreHome,e.Vue,e.CorePluginsAdmin)}(this,function(e,t,o,n){"use strict";var a=Object.defineProperty,r=Object.defineProperties,l=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,m=(e,t,o)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,d=(e,t)=>{for(var o in t||(t={}))s.call(t,o)&&m(e,o,t[o]);if(i)for(var o of i(t))c.call(t,o)&&m(e,o,t[o]);return e},p=(e,t)=>r(e,l(t)); /*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */ -const l=["Transitions.getTransitions","UsersFlow.getUsersFlow","UsersFlow.getUsersFlowPretty","UsersFlow.getInteractionActions"],{$:i}=window;a["Matomo"].on("widget:loaded",({parameters:e,element:t})=>{const o=`${e.module}.${e.action}`;if(-1===l.indexOf(o))return;let{importedFromGoogleStartDate:n,importedFromGoogleEndDate:r}=a["Matomo"];if(!n||!r)return;n=Object(a["parseDate"])(n),r=Object(a["parseDate"])(r);const c=a["MatomoUrl"].parsed.value.period,s=a["MatomoUrl"].parsed.value.date,m=a["Periods"].parse(c,s).getDateRange(),d=!(n.getTime()>m[1].getTime()||r.getTime()
${p}
`;i(t).find(".card-content>div").append(u)});var c=o("8bbf");const s={name:"startDateGA4"},m={name:"endDateGA4"},d={name:"propertyIdGA4"},p={name:"streamIds"},u={name:"isMobileAppGA4"},g={name:"timezoneGA4"},b={name:"extraCustomDimensionsGA4"},O={name:"forceIgnoreOutOfCustomDimSlotErrorGA4"},j={name:"isVerboseLoggingEnabledGA4"},y=["disabled"];function h(e,t,o,n,r,a){const l=Object(c["resolveComponent"])("Field");return Object(c["openBlock"])(),Object(c["createElementBlock"])("div",null,[Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ScheduleImportDescription")),1),Object(c["createElementVNode"])("div",s,[Object(c["createVNode"])(l,{uicontrol:"text",name:"startDateGA4",modelValue:e.startDateGA4,"onUpdate:modelValue":t[0]||(t[0]=t=>e.startDateGA4=t),title:e.translate("GoogleAnalyticsImporter_StartDate"),placeholder:e.translate("GoogleAnalyticsImporter_CreationDate")+" (YYYY-MM-DD)","inline-help":e.translate("GoogleAnalyticsImporter_StartDateHelp")},null,8,["modelValue","title","placeholder","inline-help"])]),Object(c["createElementVNode"])("div",m,[Object(c["createVNode"])(l,{uicontrol:"text",name:"endDateGA4",modelValue:e.endDateGA4,"onUpdate:modelValue":t[1]||(t[1]=t=>e.endDateGA4=t),title:e.translate("GoogleAnalyticsImporter_EndDate"),placeholder:e.translate("GoogleAnalyticsImporter_None"),"inline-help":e.endDateHelp},null,8,["modelValue","title","placeholder","inline-help"])]),Object(c["createElementVNode"])("div",d,[Object(c["createVNode"])(l,{uicontrol:"text",name:"propertyIdGA4",modelValue:e.propertyIdGA4,"onUpdate:modelValue":t[2]||(t[2]=t=>e.propertyIdGA4=t),placeholder:"eg. properties/{PROPERTY_ID}",title:e.translate("GoogleAnalyticsImporter_PropertyIdGA4"),"inline-help":e.translate("GoogleAnalyticsImporter_PropertyIdGA4Help")},null,8,["modelValue","title","inline-help"])]),Object(c["createElementVNode"])("div",p,[Object(c["createVNode"])(l,{uicontrol:"multituple",name:"streamIds",modelValue:e.streamIds,"onUpdate:modelValue":t[3]||(t[3]=t=>e.streamIds=t),title:e.translate("GoogleAnalyticsImporter_StreamIdFilter"),"inline-help":e.streamIdsFilterHelp,"ui-control-attributes":e.streamIdsField},null,8,["modelValue","title","inline-help","ui-control-attributes"])]),Object(c["createElementVNode"])("div",u,[Object(c["createVNode"])(l,{uicontrol:"checkbox",name:"isMobileAppGA4",modelValue:e.isMobileAppGA4,"onUpdate:modelValue":t[4]||(t[4]=t=>e.isMobileAppGA4=t),title:e.translate("GoogleAnalyticsImporter_IsMobileApp"),"inline-help":e.translate("GoogleAnalyticsImporter_IsMobileAppHelp")},null,8,["modelValue","title","inline-help"])]),Object(c["createElementVNode"])("div",g,[Object(c["createVNode"])(l,{uicontrol:"text",name:"timezoneGA4",modelValue:e.timezoneGA4,"onUpdate:modelValue":t[5]||(t[5]=t=>e.timezoneGA4=t),title:e.translate("GoogleAnalyticsImporter_Timezone"),placeholder:e.translate("GoogleAnalyticsImporter_Optional"),"inline-help":e.timezoneHelp},null,8,["modelValue","title","placeholder","inline-help"])]),Object(c["createElementVNode"])("div",b,[Object(c["createVNode"])(l,{uicontrol:"multituple",name:"extraCustomDimensionsGA4",modelValue:e.extraCustomDimensionsGA4,"onUpdate:modelValue":t[6]||(t[6]=t=>e.extraCustomDimensionsGA4=t),title:e.translate("GoogleAnalyticsImporter_ExtraCustomDimensions"),"inline-help":e.extraCustomDimensionsHelp,"ui-control-attributes":e.extraCustomDimensionsField},null,8,["modelValue","title","inline-help","ui-control-attributes"])]),Object(c["createElementVNode"])("div",O,[Object(c["createVNode"])(l,{uicontrol:"checkbox",name:"forceIgnoreOutOfCustomDimSlotErrorGA4",modelValue:e.ignoreCustomDimensionSlotCheckGA4,"onUpdate:modelValue":t[7]||(t[7]=t=>e.ignoreCustomDimensionSlotCheckGA4=t),title:e.translate("GoogleAnalyticsImporter_ForceCustomDimensionSlotCheck"),"inline-help":e.forceIgnoreOutOfCustomDimSlotErrorHelp},null,8,["modelValue","title","inline-help"])]),Object(c["createElementVNode"])("h3",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Troubleshooting")),1),Object(c["createElementVNode"])("div",j,[Object(c["createVNode"])(l,{uicontrol:"checkbox",name:"isVerboseLoggingEnabledGA4",modelValue:e.isVerboseLoggingEnabledGA4,"onUpdate:modelValue":t[8]||(t[8]=t=>e.isVerboseLoggingEnabledGA4=t),title:e.translate("GoogleAnalyticsImporter_IsVerboseLoggingEnabled"),"inline-help":e.isVerboseLoggingEnabledHelp},null,8,["modelValue","title","inline-help"])]),Object(c["createElementVNode"])("button",{type:"submit",id:"startImportSubmitGA4",class:"btn",onClick:t[9]||(t[9]=t=>e.startImportGA4()),disabled:e.isStartingImport},Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Start")),9,y)])}var f=o("a5a2"),C=Object(c["defineComponent"])({props:{startImportNonce:{type:String,required:!0},maxEndDateDesc:String,extraCustomDimensionsField:{type:Object,required:!0},streamIdsField:{type:Object,required:!0}},components:{Field:f["Field"]},data(){return{isStartingImport:!1,extraCustomDimensionsGA4:[],streamIds:[],isVerboseLoggingEnabledGA4:!1,ignoreCustomDimensionSlotCheckGA4:!1,startDateGA4:"",endDateGA4:"",propertyIdGA4:"",accountId:"",viewId:"",isMobileAppGA4:!1,timezoneGA4:""}},created(){return this},methods:{startImportGA4(){if(this.startDateGA4)try{Object(a["parseDate"])(this.startDateGA4)}catch(t){const e=a["NotificationsStore"].show({message:Object(a["translate"])("GoogleAnalyticsImporter_InvalidDateFormat",["YYYY-MM-DD"]),context:"error",type:"transient"});return void a["NotificationsStore"].scrollToNotification(e)}this.isStartingImport=!0;const e=!this.ignoreCustomDimensionSlotCheckGA4;return a["AjaxHelper"].post({module:"GoogleAnalyticsImporter",action:"startImportGA4",startDate:this.startDateGA4,endDate:this.endDateGA4,propertyId:this.propertyIdGA4,viewId:this.viewId,nonce:this.startImportNonce,accountId:this.accountId,isMobileApp:this.isMobileAppGA4?"1":"0",timezone:this.timezoneGA4,extraCustomDimensions:this.extraCustomDimensionsGA4,streamIds:this.streamIds,isVerboseLoggingEnabled:this.isVerboseLoggingEnabledGA4?"1":"0",forceCustomDimensionSlotCheck:e?"1":"0"},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})}},computed:{endDateHelp(){const e=Object(a["translate"])("GoogleAnalyticsImporter_EndDateHelpText"),t=this.maxEndDateDesc&&Object(a["translate"])("

GoogleAnalyticsImporter_MaxEndDateHelp",this.maxEndDateDesc);return`${e} ${t||""}`},timezoneHelp(){const e="https://www.php.net/manual/en/timezones.php";return Object(a["translate"])("GoogleAnalyticsImporter_TimezoneGA4Help",``,"")},extraCustomDimensionsHelp(){const e="https://ga-dev-tools.web.app/ga4/dimensions-metrics-explorer/";return Object(a["translate"])("GoogleAnalyticsImporter_ExtraCustomDimensionsGA4Help",``,"")},streamIdsFilterHelp(){const e="https://matomo.org/faq/what-is-data-stream-in-google-analytics-4/";return Object(a["translate"])("GoogleAnalyticsImporter_StreamIdFilterHelpText",``,"","

","")},forceIgnoreOutOfCustomDimSlotErrorHelp(){return Object(a["translate"])("GoogleAnalyticsImporter_ForceCustomDimensionSlotCheckHelp",Object(a["externalLink"])("https://matomo.org/docs/custom-dimensions/"),"")},isVerboseLoggingEnabledHelp(){return Object(a["translate"])("GoogleAnalyticsImporter_IsVerboseLoggingEnabledHelp","/path/to/matomo/tmp/logs/","gaimportlog.$idSite.$matomoDomain.log")}}});C.render=h;var A=C;const I={ref:"root"},D={class:"entityTable importStatusesTable"},N={class:"modal",id:"openScheduleReimportModal"},S={class:"modal-content"},k={class:"modal-footer"},E={class:"modal",id:"editImportEndDate"},G={class:"modal-content"},V={class:"modal-footer"};function _(e,t,o,n,r,a){const l=Object(c["resolveComponent"])("ImportStatusRow"),i=Object(c["resolveComponent"])("Field"),s=Object(c["resolveDirective"])("tooltips");return Object(c["withDirectives"])((Object(c["openBlock"])(),Object(c["createElementBlock"])("div",I,[Object(c["createElementVNode"])("table",D,[Object(c["createElementVNode"])("thead",null,[Object(c["createElementVNode"])("tr",null,[Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_MatomoSite")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_GoogleAnalyticsInfo")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Status")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_LatestDayProcessed")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ScheduledReImports")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_StartFinishTimes")),1),Object(c["createElementVNode"])("th",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Actions")),1)])]),Object(c["createElementVNode"])("tbody",null,[(Object(c["openBlock"])(!0),Object(c["createElementBlock"])(c["Fragment"],null,Object(c["renderList"])(e.statuses,(t,o)=>(Object(c["openBlock"])(),Object(c["createBlock"])(l,{status:t,key:o,onEndImport:o=>e.showEditImportEndDateModal(t.idSite,t.isGA4),onReimport:o=>e.openScheduleReimportModal(t.idSite,t.isGA4),onDelete:o=>e.deleteImportStatus(t.idSite,o.isDone),onManuallyResume:o=>e.manuallyResume(t.idSite,t.isGA4)},null,8,["status","onEndImport","onReimport","onDelete","onManuallyResume"]))),128))])]),Object(c["createElementVNode"])("div",N,[Object(c["createElementVNode"])("div",S,[Object(c["createElementVNode"])("h3",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_EnterImportDateRange")),1),Object(c["createElementVNode"])("div",null,[Object(c["createVNode"])(i,{name:"re-import-start-date",uicontrol:"text",modelValue:e.reimportStartDate,"onUpdate:modelValue":t[0]||(t[0]=t=>e.reimportStartDate=t),placeholder:e.translate("GoogleAnalyticsImporter_StartDate")+" (YYYY-MM-DD)"},null,8,["modelValue","placeholder"])]),Object(c["createElementVNode"])("div",null,[Object(c["createVNode"])(i,{name:"re-import-end-date",uicontrol:"text",modelValue:e.reimportEndDate,"onUpdate:modelValue":t[1]||(t[1]=t=>e.reimportEndDate=t),placeholder:e.translate("GoogleAnalyticsImporter_EndDate")+" (YYYY-MM-DD)"},null,8,["modelValue","placeholder"])])]),Object(c["createElementVNode"])("div",k,[Object(c["createElementVNode"])("a",{id:"scheduleReimportSubmit",href:"",class:"modal-action modal-close btn",onClick:t[2]||(t[2]=Object(c["withModifiers"])(t=>e.scheduleReimport(),["prevent"])),style:{"margin-right":"3.5px"}},Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Schedule")),1),Object(c["createElementVNode"])("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[3]||(t[3]=Object(c["withModifiers"])(()=>{},["prevent"]))},Object(c["toDisplayString"])(e.translate("General_Cancel")),1)])]),Object(c["createElementVNode"])("div",E,[Object(c["createElementVNode"])("div",G,[Object(c["createElementVNode"])("h3",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_EnterImportEndDate")),1),Object(c["createElementVNode"])("p",null,[Object(c["createElementVNode"])("em",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_LeaveEmptyToRemove")),1)]),Object(c["createElementVNode"])("div",null,[Object(c["createVNode"])(i,{name:"new-import-end-date",uicontrol:"text",modelValue:e.newImportEndDate,"onUpdate:modelValue":t[4]||(t[4]=t=>e.newImportEndDate=t),placeholder:e.translate("GoogleAnalyticsImporter_EndDate")+" (YYYY-MM-DD)"},null,8,["modelValue","placeholder"])])]),Object(c["createElementVNode"])("div",V,[Object(c["createElementVNode"])("a",{href:"",class:"modal-action modal-close btn",onClick:t[5]||(t[5]=t=>e.changeImportEndDateModal()),style:{"margin-right":"3.5px"}},Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Change")),1),Object(c["createElementVNode"])("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[6]||(t[6]=t=>e.cancelEditImportEndDateModal())},Object(c["toDisplayString"])(e.translate("General_Cancel")),1)])])])),[[s,{content:e.tooltipContent,delay:500,duration:200}]])}const x=["data-idsite"],v={class:"sitename"},B=["href"],T={key:1,style:{"text-transform":"uppercase"}},w=Object(c["createElementVNode"])("br",null,null,-1),P=["innerHTML"],M={class:"status"},U=["title"],F={key:1,style:{"word-wrap":"break-word"}},H=Object(c["createElementVNode"])("br",null,null,-1),L={key:0},R=["innerHTML"],q={class:"last-date-imported"},z=Object(c["createElementVNode"])("br",null,null,-1),$=Object(c["createElementVNode"])("br",null,null,-1),Y=Object(c["createElementVNode"])("br",null,null,-1),J=Object(c["createElementVNode"])("br",null,null,-1),W=Object(c["createElementVNode"])("br",null,null,-1),K={key:0},Q={class:"scheduled-reimports"},X={key:0},Z={key:1},ee={class:"import-start-finish-times"},te=Object(c["createElementVNode"])("br",null,null,-1),oe=Object(c["createElementVNode"])("br",null,null,-1),ne={key:0},re={key:1},ae={key:0},le={key:1},ie={key:2},ce={key:3},se={class:"actions"},me=["title"],de=["title"];function pe(e,t,o,n,r,a){var l;return Object(c["openBlock"])(),Object(c["createElementBlock"])("tr",{"data-idsite":e.status.idSite},[Object(c["createElementVNode"])("td",v,[e.status.site?(Object(c["openBlock"])(),Object(c["createElementBlock"])("a",{key:0,target:"_blank",href:e.siteUrl},Object(c["toDisplayString"])(e.siteName),9,B)):(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",T,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_SiteDeleted")),1)),w,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_SiteID"))+": "+Object(c["toDisplayString"])(e.status.idSite),1)]),Object(c["createElementVNode"])("td",{class:"ga-info",innerHTML:e.$sanitize(e.gaInfoPretty)},null,8,P),Object(c["createElementVNode"])("td",M,[Object(c["createTextVNode"])(Object(c["toDisplayString"])(e.status.statusName)+" ",1),e.status.statusDescription?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",{key:0,class:"icon icon-help",title:e.status.statusDescription},null,8,U)):Object(c["createCommentVNode"])("",!0),e.status.errorDescription?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",F,[H,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_StatusErroredName")),1),e.status.errorCode?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",L," "+Object(c["toDisplayString"])(e.status.errorCode),1)):Object(c["createCommentVNode"])("",!0),Object(c["createTextVNode"])(": "),Object(c["createElementVNode"])("span",{innerHTML:e.$sanitize(e.status.errorDescription)},null,8,R)])):Object(c["createCommentVNode"])("",!0)]),Object(c["createElementVNode"])("td",q,[Object(c["createElementVNode"])("div",null,[Object(c["createTextVNode"])(Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_LastDayImported"))+": "+Object(c["toDisplayString"])(e.status.last_date_imported||e.noneText),1),z,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_LastDayArchived"))+": "+Object(c["toDisplayString"])(e.status.last_day_archived||e.noneText),1),$,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ImportStartDate"))+": "+Object(c["toDisplayString"])(e.status.import_range_start||e.websiteCreationTime)+" ",1),Y,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ImportEndDate"))+": "+Object(c["toDisplayString"])(e.status.import_range_end||e.noneText)+" ",1),J,W]),"finished"!==e.status.status?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",K,[Object(c["createElementVNode"])("a",{class:"edit-import-end-link table-command-link",href:"",onClick:t[0]||(t[0]=Object(c["withModifiers"])(t=>e.$emit("end-import"),["prevent"]))},Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_EditEndDate")),1)])):Object(c["createCommentVNode"])("",!0),Object(c["createElementVNode"])("div",null,[e.status.isGA4?(Object(c["openBlock"])(),Object(c["createElementBlock"])("a",{key:0,id:"reimport-date-range",class:"table-command-link",href:"",onClick:t[1]||(t[1]=Object(c["withModifiers"])(t=>e.$emit("reimport"),["prevent"]))},Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ReimportDate")),1)):Object(c["createCommentVNode"])("",!0)])]),Object(c["createElementVNode"])("td",Q,[null!==(l=e.status.reimport_ranges)&&void 0!==l&&l.length?(Object(c["openBlock"])(),Object(c["createElementBlock"])("ul",X,[(Object(c["openBlock"])(!0),Object(c["createElementBlock"])(c["Fragment"],null,Object(c["renderList"])(e.status.reimport_ranges,(e,t)=>(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:t},Object(c["toDisplayString"])(e[0])+","+Object(c["toDisplayString"])(e[1]),1))),128))])):(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",Z,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_None")),1))]),Object(c["createElementVNode"])("td",ee,[Object(c["createTextVNode"])(Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ImportStartTime"))+": "+Object(c["toDisplayString"])(e.status.import_start_time||e.noneText),1),te,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_LastResumeTime"))+": "+Object(c["toDisplayString"])(e.status.last_job_start_time||e.noneText),1),oe,"finished"===e.status.status?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",ne,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_TimeFinished"))+": "+Object(c["toDisplayString"])(e.status.import_end_time||e.noneText),1)):e.status.estimated_days_left_to_finish?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",re,[e.thisJobShouldFinishToday?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",ae,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ThisJobShouldFinishToday")),1)):(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",le,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_EstimatedFinishIn",e.status.estimated_days_left_to_finish)),1))])):e.status.import_range_end?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",ie,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_JobWillRunUntilManuallyCancelled")),1)):(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",ce,Object(c["toDisplayString"])(e.translate("General_Unknown")),1))]),Object(c["createElementVNode"])("td",se,[Object(c["createElementVNode"])("a",{class:Object(c["normalizeClass"])(["table-action",{"icon-delete":e.isDone,"icon-close":!e.isDone}]),onClick:t[2]||(t[2]=Object(c["withModifiers"])(t=>e.$emit("delete",{isDone:e.isDone}),["prevent"])),title:e.isDone?e.translate("General_Remove"):e.translate("General_Cancel")},null,10,me),-1===["finished","ongoing","started"].indexOf(e.status.status)?(Object(c["openBlock"])(),Object(c["createElementBlock"])("a",{key:0,class:"table-action icon-play",onClick:t[3]||(t[3]=Object(c["withModifiers"])(t=>e.$emit("manuallyResume"),["prevent"])),title:e.translate("GoogleAnalyticsImporter_ResumeDesc")},null,8,de)):Object(c["createCommentVNode"])("",!0)])],8,x)}var ue=Object(c["defineComponent"])({props:{status:{type:Object,required:!0}},emits:["end-import","reimport","delete","manuallyResume"],computed:{isDone(){return"finished"===this.status.status},siteUrl(){return"?"+a["MatomoUrl"].stringify(Object.assign(Object.assign({period:"day",date:"today"},a["MatomoUrl"].urlParsed.value),{},{idSite:this.status.idSite,module:"CoreHome",action:"index"}))},gaInfoPretty(){return(this.status.gaInfoPretty||"").replace(/\n/g,"
")},errorMessageBugReportRequest(){return Object(a["translate"])("GoogleAnalyticsImporter_ErrorMessageBugReportRequest",Object(a["externalLink"])("https://forum.matomo.org/"),"")},thisJobShouldFinishToday(){return 0===this.status.estimated_days_left_to_finish||"0"===this.status.estimated_days_left_to_finish},siteName(){var e;return a["Matomo"].helper.htmlDecode(null===(e=this.status.site)||void 0===e?void 0:e.name)},noneText(){return Object(a["translate"])("GoogleAnalyticsImporter_None")},websiteCreationTime(){return Object(a["translate"])("GoogleAnalyticsImporter_CreationDate")}}});ue.render=pe;var ge=ue;const{$:be}=window;var Oe=Object(c["defineComponent"])({props:{statuses:{type:Array,required:!0},stopImportNonce:{type:String,required:!0},changeImportEndDateNonce:{type:String,required:!0},resumeImportNonce:{type:String,required:!0},scheduleReImportNonce:{type:String,required:!0}},components:{Field:f["Field"],ImportStatusRow:ge},directives:{Tooltips:a["Tooltips"]},data(){return{editImportEndDateIdSite:null,reimportDateRangeIdSite:null,reimportStartDate:"",reimportEndDate:"",newImportEndDate:"",isGA4:!1}},methods:{showEditImportEndDateModal(e,t){this.editImportEndDateIdSite=e,this.isGA4=t,be("#editImportEndDate").modal({dismissible:!1}).modal("open")},cancelEditImportEndDateModal(){this.editImportEndDateIdSite=null,this.isGA4=!1},manuallyResume(e,t){return a["AjaxHelper"].post({module:"GoogleAnalyticsImporter",action:"resumeImport",idSite:e,isGA4:t?1:0,nonce:this.resumeImportNonce},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})},deleteImportStatus(e,t){if(t)return a["AjaxHelper"].post({module:"GoogleAnalyticsImporter",action:"deleteImportStatus",idSite:e,nonce:this.stopImportNonce},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()});a["Matomo"].helper.modalConfirm("#confirmCancelJob",{yes:()=>{this.deleteImportStatus(e,!0)}})},openScheduleReimportModal(e,t){this.reimportDateRangeIdSite=e,this.isGA4=t,be("#openScheduleReimportModal").modal({dismissible:!1}).modal("open")},changeImportEndDateModal(){return a["AjaxHelper"].post({module:"GoogleAnalyticsImporter",action:"changeImportEndDate",idSite:this.editImportEndDateIdSite,nonce:this.changeImportEndDateNonce,endDate:this.newImportEndDate},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})},scheduleReimport(){return a["AjaxHelper"].post({module:"GoogleAnalyticsImporter",action:"scheduleReImport",idSite:this.reimportDateRangeIdSite,startDate:this.reimportStartDate,endDate:this.reimportEndDate,nonce:this.scheduleReImportNonce,isGA4:this.isGA4?1:0},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})}},computed:{tooltipContent(){return function(){const e=be(this).attr("title")||"";return window.vueSanitize(e.replace(/\n/g,"
"))}}}});Oe.render=_;var je=Oe;const ye={key:0,class:"form-group row"},he={class:"col s12 m12"},fe=["innerHTML"],Ce=["innerHTML"],Ae=["textContent"],Ie={class:"form-group row"},De=["action"],Ne={key:0,type:"hidden",name:"isNoDataPage",value:"1"},Se=["value"],ke=["disabled"],Ee=Object(c["createElementVNode"])("span",{class:"icon-upload"},null,-1),Ge=Object(c["createElementVNode"])("span",{class:"icon-upload"},null,-1),Ve={key:1,class:"system-success connected-message-successful"},_e=Object(c["createElementVNode"])("span",{class:"icon-ok"},null,-1),xe={key:2},ve=["innerHTML"],Be=["innerHTML"],Te=["action"],we=["value"],Pe=["disabled","textContent"],Me={key:0,class:"system-success connected-message-successful"},Ue=Object(c["createElementVNode"])("span",{class:"icon-ok"},null,-1),Fe=["innerHTML"],He=["textContent"],Le=["innerHTML"],Re=["innerHTML"],qe=["textContent"];function ze(e,t,o,n,r,a){return Object(c["openBlock"])(),Object(c["createElementBlock"])(c["Fragment"],null,[e.isNoDataPage?Object(c["createCommentVNode"])("",!0):(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",ye,[Object(c["createElementVNode"])("div",he,[Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ConfigureTheImporterLabel1")),1),Object(c["createElementVNode"])("p",null,[Object(c["createTextVNode"])(Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ConfigureTheImporterLabel2"))+"  ",1),Object(c["createElementVNode"])("span",{innerHTML:e.$sanitize(e.setupGoogleAnalyticsImportFaq)},null,8,fe)])])])),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:1,innerHTML:e.$sanitize(e.getAdvanceConnectStep01Text)},null,8,Ce)):Object(c["createCommentVNode"])("",!0),(Object(c["openBlock"])(),Object(c["createBlock"])(Object(c["resolveDynamicComponent"])(e.isNoDataPage?"li":"div"),null,{default:Object(c["withCtx"])(()=>[e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",{key:0,textContent:Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep02"))},null,8,Ae)):Object(c["createCommentVNode"])("",!0),Object(c["createElementVNode"])("div",Ie,[Object(c["createElementVNode"])("div",{class:Object(c["normalizeClass"])(e.getClass)},[Object(c["createElementVNode"])("form",{id:"configFileUploadForm",action:e.manualActionUrl,method:"POST",enctype:"multipart/form-data"},[Object(c["createElementVNode"])("input",{type:"file",id:"clientfile",name:"clientfile",accept:".json",onChange:t[0]||(t[0]=(...t)=>e.processFileChange&&e.processFileChange(...t)),style:{display:"none"}},null,32),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("input",Ne)):Object(c["createCommentVNode"])("",!0),Object(c["createElementVNode"])("input",{type:"hidden",name:"config_nonce",value:e.manualConfigNonce},null,8,Se),Object(c["createElementVNode"])("button",{type:"button",class:"btn advance-upload-button",onClick:t[1]||(t[1]=t=>e.selectConfigFile()),disabled:e.isUploadButtonDisabled},[Object(c["withDirectives"])(Object(c["createElementVNode"])("span",null,[Ee,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("General_Upload")),1)],512),[[c["vShow"],!e.isUploadButtonDisabled]]),Object(c["withDirectives"])(Object(c["createElementVNode"])("span",null,[Ge,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Uploading")),1)],512),[[c["vShow"],e.isUploadButtonDisabled]])],8,ke),e.isNoDataPage&&e.hasClientConfiguration?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",Ve,[_e,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_UploadSuccessful")),1)])):Object(c["createCommentVNode"])("",!0)],8,De)],2)])]),_:1})),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",xe,[Object(c["createElementVNode"])("span",{innerHTML:e.$sanitize(e.getAdvanceConnectStep03Text)},null,8,ve),Object(c["createElementVNode"])("div",{class:"complete-note-warning",innerHTML:e.$sanitize(e.getOauthCompleteWarningMessage)},null,8,Be),Object(c["createElementVNode"])("form",{target:"_blank",method:"post",action:e.authorizeUrl},[Object(c["createElementVNode"])("input",{type:"hidden",name:"auth_nonce",value:e.forwardToAuthNonce},null,8,we),Object(c["createElementVNode"])("button",{disabled:!1===e.hasClientConfiguration,textContent:Object(c["toDisplayString"])(e.getAuthorizeText),type:"submit",class:"btn btn-forward-to-Oauth"},null,8,Pe),e.isNoDataPage&&e.hasClientConfiguration&&e.isConfigured?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",Me,[Ue,Object(c["createTextVNode"])(" "+Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_AccountsConnectedSuccessfully")),1)])):Object(c["createCommentVNode"])("",!0)],8,Te)])):Object(c["createCommentVNode"])("",!0),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:3,innerHTML:e.$sanitize(e.getAdvanceConnectStep04Text)},null,8,Fe)):Object(c["createCommentVNode"])("",!0),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:4,textContent:Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep06GA4"))},null,8,He)):Object(c["createCommentVNode"])("",!0),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:5,innerHTML:e.$sanitize(e.getAdvanceConnectStep07Text)},null,8,Le)):Object(c["createCommentVNode"])("",!0),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:6,innerHTML:e.$sanitize(e.getAdvanceConnectStep08Text)},null,8,Re)):Object(c["createCommentVNode"])("",!0),e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createElementBlock"])("li",{key:7,textContent:Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep09"))},null,8,qe)):Object(c["createCommentVNode"])("",!0)],64)}var $e=Object(c["defineComponent"])({data(){return{isSelectingFile:!1,isUploading:!1}},props:{manualConfigNonce:{type:String,required:!0},manualActionUrl:{type:String,required:!0},isNoDataPage:Boolean,hasClientConfiguration:Boolean,indexActionUrl:{type:String,required:!0},authorizeUrl:String,forwardToAuthNonce:String,isConfigured:Boolean},methods:{selectConfigFile(){this.isSelectingFile=!0;const e=document.getElementById("clientfile");e&&e.click()},processFileChange(){const e=document.getElementById("clientfile"),t=document.getElementById("configFileUploadForm");e&&e.value&&t&&(this.isUploading=!0,t.submit())},checkForCancel(){if(!this.isSelectingFile||this.isUploading)return;const e=document.getElementById("clientfile");e&&!e.value&&(this.isSelectingFile=!1)}},computed:{setupGoogleAnalyticsImportFaq(){return Object(a["translate"])("GoogleAnalyticsImporter_ConfigureTheImporterLabel3",Object(a["externalLink"])("https://matomo.org/faq/general/set-up-google-analytics-import/"),"")},isUploadButtonDisabled(){return this.isSelectingFile||this.isUploading},getAdvanceConnectStep01Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep01",Object(a["externalLink"])("https://matomo.org/faq/general/set-up-google-analytics-import/"),"")},getAdvanceConnectStep03Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep03",this.translate("GoogleAnalyticsImporter_Authorize"))},getAdvanceConnectStep04Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep04",``,"",Object(a["externalLink"])("https://matomo.org/faq/general/running-the-google-analytics-import/"),"")},getAdvanceConnectStep05Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep05",Object(a["externalLink"])(this.indexActionUrl),"")},getAdvanceConnectStep07Text(){return`${this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep07",this.translate("GoogleAnalyticsImporter_Start"))}
${this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep07Note","","",this.translate("GoogleAnalyticsImporter_Start"))}
`},getAdvanceConnectStep08Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep08",``,"")},getOauthCompleteWarningMessage(){return this.translate("GoogleAnalyticsImporter_GoogleOauthCompleteWarning","","")},getClass(){let e="col s12";return this.isNoDataPage?e+=" p-half-point":e+=" m6",e},getAuthorizeText(){return this.isConfigured?this.translate("GoogleAnalyticsImporter_ReAuthorize"):this.translate("GoogleAnalyticsImporter_Authorize")}},mounted(){document.body.onfocus=this.checkForCancel}});$e.render=ze;var Ye=$e;const Je=["action"],We=["value"],Ke={key:0},Qe={type:"submit",class:"btn"},Xe={key:1},Ze={type:"submit",class:"btn"},et=["action"],tt=["value"],ot={type:"submit",class:"btn"};function nt(e,t,o,n,r,a){const l=Object(c["resolveComponent"])("ContentBlock");return Object(c["openBlock"])(),Object(c["createElementBlock"])("div",null,[e.hasClientConfiguration?(Object(c["openBlock"])(),Object(c["createBlock"])(l,{key:0,"content-title":e.translate("GoogleAnalyticsImporter_ConfigureTheImporter")},{default:Object(c["withCtx"])(()=>[Object(c["createElementVNode"])("form",{method:"post",action:e.forwardToAuthUrl,id:"clientauthform"},[Object(c["createElementVNode"])("input",{type:"hidden",name:"auth_nonce",value:e.authNonce},null,8,We),e.isConfigured?(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",Ke,[Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ImporterIsConfigured")),1),Object(c["createElementVNode"])("button",Qe,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ReAuthorize")),1)])):(Object(c["openBlock"])(),Object(c["createElementBlock"])("span",Xe,[Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ClientConfigSuccessfullyUpdated")),1),Object(c["createElementVNode"])("button",Ze,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_Authorize")),1)]))],8,Je)]),_:1},8,["content-title"])):Object(c["createCommentVNode"])("",!0),e.hasClientConfiguration?(Object(c["openBlock"])(),Object(c["createBlock"])(l,{key:1,"content-title":e.translate("GoogleAnalyticsImporter_RemoveClientConfiguration")},{default:Object(c["withCtx"])(()=>[Object(c["createElementVNode"])("form",{action:e.deleteClientCredentialsLink,method:"POST",enctype:"multipart/form-data",id:"removeConfigForm"},[Object(c["createElementVNode"])("p",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_DeleteUploadedClientConfig"))+":",1),Object(c["createElementVNode"])("input",{type:"hidden",name:"config_nonce",value:e.configNonce},null,8,tt),Object(c["createElementVNode"])("button",ot,Object(c["toDisplayString"])(e.translate("General_Remove")),1)],8,et)]),_:1},8,["content-title"])):Object(c["createCommentVNode"])("",!0)])}var rt=Object(c["defineComponent"])({props:{hasClientConfiguration:Boolean,isConfigured:Boolean,authNonce:String,configNonce:String},components:{ContentBlock:a["ContentBlock"]},data(){return{clientFileToSet:null,clientConfigTextToSet:""}},computed:{forwardToAuthUrl(){return"?"+a["MatomoUrl"].stringify(Object.assign(Object.assign({},a["MatomoUrl"].urlParsed.value),{},{action:"forwardToAuth"}))},configureClientLink(){return"?"+a["MatomoUrl"].stringify(Object.assign(Object.assign({},a["MatomoUrl"].urlParsed.value),{},{action:"configureClient"}))},configureClientDesc2(){const e="https://matomo.org/docs/google-analytics-importer/";return Object(a["translate"])("GoogleAnalyticsImporter_ConfigureClientDesc2",``,"")},deleteClientCredentialsLink(){return"?"+a["MatomoUrl"].stringify(Object.assign(Object.assign({},a["MatomoUrl"].urlParsed.value),{},{action:"deleteClientCredentials"}))}}});rt.render=nt;var at=rt;const lt={class:"hide-import-main-div ga-import-main-div ga4-main-div"},it={key:0},ct={key:3,class:"ui-confirm",id:"confirmCancelJob"},st=["value"],mt=["value"];function dt(e,t,o,n,r,a){const l=Object(c["resolveComponent"])("CommonConnect"),i=Object(c["resolveComponent"])("ClientConfig"),s=Object(c["resolveComponent"])("ImportSchedulerGA4"),m=Object(c["resolveComponent"])("ContentBlock"),d=Object(c["resolveComponent"])("ImportStatus");return Object(c["openBlock"])(),Object(c["createElementBlock"])("div",null,[Object(c["createVNode"])(l,{extensions:e.extensions,"configure-connection-props":e.configureConnectionProps},null,8,["extensions","configure-connection-props"]),e.isClientConfigurable?(Object(c["openBlock"])(),Object(c["createBlock"])(i,{key:0,"has-client-configuration":e.hasClientConfiguration,"is-configured":e.isConfigured,"auth-nonce":e.authNonce,"config-nonce":e.configNonce},null,8,["has-client-configuration","is-configured","auth-nonce","config-nonce"])):Object(c["createCommentVNode"])("",!0),e.hasClientConfiguration&&e.isConfigured?(Object(c["openBlock"])(),Object(c["createBlock"])(m,{key:1},{default:Object(c["withCtx"])(()=>[Object(c["createElementVNode"])("div",lt,[Object(c["createElementVNode"])("h2",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ScheduleAnImportGA4")),1),Object(c["createVNode"])(s,{"start-import-nonce":e.startImportNonce,"max-end-date-desc":e.maxEndDateDesc,"extra-custom-dimensions-field":e.extraCustomDimensionsFieldGa4,"stream-ids-field":e.streamIdsFieldGa4},null,8,["start-import-nonce","max-end-date-desc","extra-custom-dimensions-field","stream-ids-field"])])]),_:1})):Object(c["createCommentVNode"])("",!0),e.hasClientConfiguration&&e.isConfigured?(Object(c["openBlock"])(),Object(c["createBlock"])(m,{key:2,id:"importStatusContainer","content-title":e.translate("GoogleAnalyticsImporter_ImportJobs")},{default:Object(c["withCtx"])(()=>{var t,o;return[null!==(t=e.statuses)&&void 0!==t&&t.length?Object(c["createCommentVNode"])("",!0):(Object(c["openBlock"])(),Object(c["createElementBlock"])("p",it,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_ThereAreNoImportJobs")),1)),null!==(o=e.statuses)&&void 0!==o&&o.length?(Object(c["openBlock"])(),Object(c["createBlock"])(d,{key:1,statuses:e.statuses,"stop-import-nonce":e.stopImportNonce,"change-import-end-date-nonce":e.changeImportEndDateNonce,"resume-import-nonce":e.resumeImportNonce,"schedule-re-import-nonce":e.scheduleReImportNonce},null,8,["statuses","stop-import-nonce","change-import-end-date-nonce","resume-import-nonce","schedule-re-import-nonce"])):Object(c["createCommentVNode"])("",!0)]}),_:1},8,["content-title"])):Object(c["createCommentVNode"])("",!0),e.hasClientConfiguration&&e.isConfigured?(Object(c["openBlock"])(),Object(c["createElementBlock"])("div",ct,[Object(c["createElementVNode"])("h2",null,Object(c["toDisplayString"])(e.translate("GoogleAnalyticsImporter_CancelJobConfirm")),1),Object(c["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,st),Object(c["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,mt)])):Object(c["createCommentVNode"])("",!0)])}function pt(e,t,o,n,r,a){const l=Object(c["resolveComponent"])("ContentBlock");return Object(c["openBlock"])(!0),Object(c["createElementBlock"])(c["Fragment"],null,Object(c["renderList"])(e.componentExtensions,(t,o)=>(Object(c["openBlock"])(),Object(c["createElementBlock"])(c["Fragment"],{key:o},[e.isNoDataPage?(Object(c["openBlock"])(),Object(c["createBlock"])(Object(c["resolveDynamicComponent"])(t),{key:1,"manual-config-nonce":e.configConnectProps.manualConfigNonce,"base-domain":e.configConnectProps.baseDomain,"base-url":e.configConnectProps.baseUrl,"manual-action-url":e.configConnectProps.manualActionUrl,"primary-text":e.configConnectProps.primaryText,"radio-options":e.configConnectProps.radioOptions,"manual-config-text":e.configConnectProps.manualConfigText,"connect-accounts-url":e.configConnectProps.connectAccountsUrl,"connect-accounts-btn-text":e.configConnectProps.connectAccountsBtnText,"auth-url":e.configConnectProps.authUrl,"unlink-url":e.configConnectProps.unlinkUrl,strategy:e.configConnectProps.strategy,"connected-with":e.configConnectProps.connectedWith,"is-no-data-page":e.isNoDataPage,"has-client-configuration":e.hasClientConfiguration,"index-action-url":e.indexActionUrl,"authorize-url":e.authorizeUrl,"forward-to-auth-nonce":e.forwardToAuthNonce,"is-configured":e.isConfigured,"strategy-to-use":e.strategyToUse,"additional-help-text":e.configConnectProps.additionalHelpText},null,8,["manual-config-nonce","base-domain","base-url","manual-action-url","primary-text","radio-options","manual-config-text","connect-accounts-url","connect-accounts-btn-text","auth-url","unlink-url","strategy","connected-with","is-no-data-page","has-client-configuration","index-action-url","authorize-url","forward-to-auth-nonce","is-configured","strategy-to-use","additional-help-text"])):(Object(c["openBlock"])(),Object(c["createBlock"])(l,{key:0,"content-title":e.isNoDataPage?"":e.translate("GoogleAnalyticsImporter_AdminMenuTitle")},{default:Object(c["withCtx"])(()=>[(Object(c["openBlock"])(),Object(c["createBlock"])(Object(c["resolveDynamicComponent"])(t),{"manual-config-nonce":e.configConnectProps.manualConfigNonce,"base-domain":e.configConnectProps.baseDomain,"base-url":e.configConnectProps.baseUrl,"manual-action-url":e.configConnectProps.manualActionUrl,"primary-text":e.configConnectProps.primaryText,"radio-options":e.configConnectProps.radioOptions,"manual-config-text":e.configConnectProps.manualConfigText,"connect-accounts-url":e.configConnectProps.connectAccountsUrl,"connect-accounts-btn-text":e.configConnectProps.connectAccountsBtnText,"auth-url":e.configConnectProps.authUrl,"unlink-url":e.configConnectProps.unlinkUrl,strategy:e.configConnectProps.strategy,"connected-with":e.configConnectProps.connectedWith,"is-no-data-page":e.isNoDataPage,"has-client-configuration":e.hasClientConfiguration,"index-action-url":e.indexActionUrl,"authorize-url":e.authorizeUrl,"forward-to-auth-nonce":e.forwardToAuthNonce,"is-configured":e.isConfigured,"strategy-to-use":e.strategyToUse,"additional-help-text":e.configConnectProps.additionalHelpText},null,8,["manual-config-nonce","base-domain","base-url","manual-action-url","primary-text","radio-options","manual-config-text","connect-accounts-url","connect-accounts-btn-text","auth-url","unlink-url","strategy","connected-with","is-no-data-page","has-client-configuration","index-action-url","authorize-url","forward-to-auth-nonce","is-configured","strategy-to-use","additional-help-text"]))]),_:2},1032,["content-title"]))],64))),128)}var ut=Object(c["defineComponent"])({props:{extensions:Array,configureConnectionProps:{type:Object,required:!0},isNoDataPage:Boolean,hasClientConfiguration:Boolean,indexActionUrl:String,authorizeUrl:String,forwardToAuthNonce:String,strategyToUse:String,isConfigured:Boolean},components:{Notification:a["Notification"],ContentBlock:a["ContentBlock"]},computed:{componentExtensions(){const e=this.extensions;return Object(c["markRaw"])(e.map(e=>Object(a["useExternalPluginComponent"])(e.plugin,e.component)))},configConnectProps(){return this.configureConnectionProps}}});ut.render=pt;var gt=ut,bt=Object(c["defineComponent"])({props:{hasClientConfiguration:Boolean,isConfigured:Boolean,isClientConfigurable:Boolean,authNonce:String,configNonce:String,startImportNonce:{type:String,required:!0},maxEndDateDesc:String,extraCustomDimensionsField:{type:Object,required:!0},extraCustomDimensionsFieldGa4:{type:Object,required:!0},streamIdsFieldGa4:{type:Object,required:!0},statuses:{type:Array,required:!0},stopImportNonce:{type:String,required:!0},changeImportEndDateNonce:{type:String,required:!0},resumeImportNonce:{type:String,required:!0},scheduleReImportNonce:{type:String,required:!0},importOptionsUa:{type:Object,required:!0},importOptionsGa4:{type:Object,required:!0},extensions:Array,configureConnectionProps:{type:Object,required:!0}},components:{CommonConnect:gt,ImportSchedulerGA4:A,ContentBlock:a["ContentBlock"],ClientConfig:at,ImportStatus:je},data(){return{selectedImporter:""}},computed:{importerHelp2Text(){const e="https://matomo.org/docs/google-analytics-importer/";return Object(a["translate"])("GoogleAnalyticsImporter_ImporterHelp2",``,"")},importerHelp3Text(){return Object(a["translate"])("GoogleAnalyticsImporter_ImporterHelp3","

","")},componentExtensions(){const e=this.extensions;return Object(c["markRaw"])(e.map(e=>Object(a["useExternalPluginComponent"])(e.plugin,e.component)))},configConnectProps(){return this.configureConnectionProps}}});bt.render=dt;var Ot=bt; -/*! - * Matomo - free/libre analytics platform - * - * @link https://matomo.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */}})})); -//# sourceMappingURL=GoogleAnalyticsImporter.umd.min.js.map \ No newline at end of file + * Matomo - free/libre analytics platform + * + * @link https://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +const u=["Transitions.getTransitions","UsersFlow.getUsersFlow","UsersFlow.getUsersFlowPretty","UsersFlow.getInteractionActions"],{$:g}=window;t.Matomo.on("widget:loaded",({parameters:e,element:o})=>{const n=`${e.module}.${e.action}`;if(-1===u.indexOf(n))return;let{importedFromGoogleStartDate:a,importedFromGoogleEndDate:r}=t.Matomo;if(!a||!r)return;a=t.parseDate(a),r=t.parseDate(r);const l=t.MatomoUrl.parsed.value.period,i=t.MatomoUrl.parsed.value.date,s=t.Periods.parse(l,i).getDateRange();if(!!(a.getTime()>s[1].getTime()||r.getTime()
${t.translate("GoogleAnalyticsImporter_LogDataRequiredForReport")}
`;g(o).find(".card-content>div").append(c)});const y=o.defineComponent({props:{startImportNonce:{type:String,required:!0},maxEndDateDesc:String,extraCustomDimensionsField:{type:Object,required:!0},streamIdsField:{type:Object,required:!0}},components:{Field:n.Field},data:()=>({isStartingImport:!1,extraCustomDimensionsGA4:[],streamIds:[],isVerboseLoggingEnabledGA4:!1,ignoreCustomDimensionSlotCheckGA4:!1,startDateGA4:"",endDateGA4:"",propertyIdGA4:"",accountId:"",viewId:"",isMobileAppGA4:!1,timezoneGA4:""}),created(){return this},methods:{startImportGA4(){if(this.startDateGA4)try{t.parseDate(this.startDateGA4)}catch(o){const e=t.NotificationsStore.show({message:t.translate("GoogleAnalyticsImporter_InvalidDateFormat",["YYYY-MM-DD"]),context:"error",type:"transient"});return void t.NotificationsStore.scrollToNotification(e)}this.isStartingImport=!0;const e=!this.ignoreCustomDimensionSlotCheckGA4;return t.AjaxHelper.post({module:"GoogleAnalyticsImporter",action:"startImportGA4",startDate:this.startDateGA4,endDate:this.endDateGA4,propertyId:this.propertyIdGA4,viewId:this.viewId,nonce:this.startImportNonce,accountId:this.accountId,isMobileApp:this.isMobileAppGA4?"1":"0",timezone:this.timezoneGA4,extraCustomDimensions:this.extraCustomDimensionsGA4,streamIds:this.streamIds,isVerboseLoggingEnabled:this.isVerboseLoggingEnabledGA4?"1":"0",forceCustomDimensionSlotCheck:e?"1":"0"},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})}},computed:{endDateHelp(){return`${t.translate("GoogleAnalyticsImporter_EndDateHelpText")} ${this.maxEndDateDesc&&t.translate("

GoogleAnalyticsImporter_MaxEndDateHelp",this.maxEndDateDesc)||""}`},timezoneHelp:()=>t.translate("GoogleAnalyticsImporter_TimezoneGA4Help",'',""),extraCustomDimensionsHelp:()=>t.translate("GoogleAnalyticsImporter_ExtraCustomDimensionsGA4Help",'',""),streamIdsFilterHelp:()=>t.translate("GoogleAnalyticsImporter_StreamIdFilterHelpText",'',"","

",""),forceIgnoreOutOfCustomDimSlotErrorHelp:()=>t.translate("GoogleAnalyticsImporter_ForceCustomDimensionSlotCheckHelp",t.externalLink("https://matomo.org/docs/custom-dimensions/"),""),isVerboseLoggingEnabledHelp:()=>t.translate("GoogleAnalyticsImporter_IsVerboseLoggingEnabledHelp","/path/to/matomo/tmp/logs/","gaimportlog.$idSite.$matomoDomain.log")}}),h=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},f={name:"startDateGA4"},C={name:"endDateGA4"},A={name:"propertyIdGA4"},I={name:"streamIds"},D={name:"isMobileAppGA4"},N={name:"timezoneGA4"},S={name:"extraCustomDimensionsGA4"},k={name:"forceIgnoreOutOfCustomDimSlotErrorGA4"},E={name:"isVerboseLoggingEnabledGA4"},G=["disabled"];const V=h(y,[["render",function(e,t,n,a,r,l){const i=o.resolveComponent("Field");return o.openBlock(),o.createElementBlock("div",null,[o.createElementVNode("p",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ScheduleImportDescription")),1),o.createElementVNode("div",f,[o.createVNode(i,{uicontrol:"text",name:"startDateGA4",modelValue:e.startDateGA4,"onUpdate:modelValue":t[0]||(t[0]=t=>e.startDateGA4=t),title:e.translate("GoogleAnalyticsImporter_StartDate"),placeholder:`${e.translate("GoogleAnalyticsImporter_CreationDate")} (YYYY-MM-DD)`,"inline-help":e.translate("GoogleAnalyticsImporter_StartDateHelp")},null,8,["modelValue","title","placeholder","inline-help"])]),o.createElementVNode("div",C,[o.createVNode(i,{uicontrol:"text",name:"endDateGA4",modelValue:e.endDateGA4,"onUpdate:modelValue":t[1]||(t[1]=t=>e.endDateGA4=t),title:e.translate("GoogleAnalyticsImporter_EndDate"),placeholder:e.translate("GoogleAnalyticsImporter_None"),"inline-help":e.endDateHelp},null,8,["modelValue","title","placeholder","inline-help"])]),o.createElementVNode("div",A,[o.createVNode(i,{uicontrol:"text",name:"propertyIdGA4",modelValue:e.propertyIdGA4,"onUpdate:modelValue":t[2]||(t[2]=t=>e.propertyIdGA4=t),placeholder:"eg. properties/{PROPERTY_ID}",title:e.translate("GoogleAnalyticsImporter_PropertyIdGA4"),"inline-help":e.translate("GoogleAnalyticsImporter_PropertyIdGA4Help")},null,8,["modelValue","title","inline-help"])]),o.createElementVNode("div",I,[o.createVNode(i,{uicontrol:"multituple",name:"streamIds",modelValue:e.streamIds,"onUpdate:modelValue":t[3]||(t[3]=t=>e.streamIds=t),title:e.translate("GoogleAnalyticsImporter_StreamIdFilter"),"inline-help":e.streamIdsFilterHelp,"ui-control-attributes":e.streamIdsField},null,8,["modelValue","title","inline-help","ui-control-attributes"])]),o.createElementVNode("div",D,[o.createVNode(i,{uicontrol:"checkbox",name:"isMobileAppGA4",modelValue:e.isMobileAppGA4,"onUpdate:modelValue":t[4]||(t[4]=t=>e.isMobileAppGA4=t),title:e.translate("GoogleAnalyticsImporter_IsMobileApp"),"inline-help":e.translate("GoogleAnalyticsImporter_IsMobileAppHelp")},null,8,["modelValue","title","inline-help"])]),o.createElementVNode("div",N,[o.createVNode(i,{uicontrol:"text",name:"timezoneGA4",modelValue:e.timezoneGA4,"onUpdate:modelValue":t[5]||(t[5]=t=>e.timezoneGA4=t),title:e.translate("GoogleAnalyticsImporter_Timezone"),placeholder:e.translate("GoogleAnalyticsImporter_Optional"),"inline-help":e.timezoneHelp},null,8,["modelValue","title","placeholder","inline-help"])]),o.createElementVNode("div",S,[o.createVNode(i,{uicontrol:"multituple",name:"extraCustomDimensionsGA4",modelValue:e.extraCustomDimensionsGA4,"onUpdate:modelValue":t[6]||(t[6]=t=>e.extraCustomDimensionsGA4=t),title:e.translate("GoogleAnalyticsImporter_ExtraCustomDimensions"),"inline-help":e.extraCustomDimensionsHelp,"ui-control-attributes":e.extraCustomDimensionsField},null,8,["modelValue","title","inline-help","ui-control-attributes"])]),o.createElementVNode("div",k,[o.createVNode(i,{uicontrol:"checkbox",name:"forceIgnoreOutOfCustomDimSlotErrorGA4",modelValue:e.ignoreCustomDimensionSlotCheckGA4,"onUpdate:modelValue":t[7]||(t[7]=t=>e.ignoreCustomDimensionSlotCheckGA4=t),title:e.translate("GoogleAnalyticsImporter_ForceCustomDimensionSlotCheck"),"inline-help":e.forceIgnoreOutOfCustomDimSlotErrorHelp},null,8,["modelValue","title","inline-help"])]),o.createElementVNode("h3",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_Troubleshooting")),1),o.createElementVNode("div",E,[o.createVNode(i,{uicontrol:"checkbox",name:"isVerboseLoggingEnabledGA4",modelValue:e.isVerboseLoggingEnabledGA4,"onUpdate:modelValue":t[8]||(t[8]=t=>e.isVerboseLoggingEnabledGA4=t),title:e.translate("GoogleAnalyticsImporter_IsVerboseLoggingEnabled"),"inline-help":e.isVerboseLoggingEnabledHelp},null,8,["modelValue","title","inline-help"])]),o.createElementVNode("button",{type:"submit",id:"startImportSubmitGA4",class:"btn",onClick:t[9]||(t[9]=t=>e.startImportGA4()),disabled:e.isStartingImport},o.toDisplayString(e.translate("GoogleAnalyticsImporter_Start")),9,G)])}]]),b=o.defineComponent({props:{status:{type:Object,required:!0}},emits:["end-import","reimport","delete","manuallyResume"],computed:{isDone(){return"finished"===this.status.status},siteUrl(){return`?${t.MatomoUrl.stringify(p(d({period:"day",date:"today"},t.MatomoUrl.urlParsed.value),{idSite:this.status.idSite,module:"CoreHome",action:"index"}))}`},gaInfoPretty(){return(this.status.gaInfoPretty||"").replace(/\n/g,"
")},errorMessageBugReportRequest:()=>t.translate("GoogleAnalyticsImporter_ErrorMessageBugReportRequest",t.externalLink("https://forum.matomo.org/"),""),thisJobShouldFinishToday(){return 0===this.status.estimated_days_left_to_finish||"0"===this.status.estimated_days_left_to_finish},siteName(){var e;return t.Matomo.helper.htmlDecode(null==(e=this.status.site)?void 0:e.name)},noneText:()=>t.translate("GoogleAnalyticsImporter_None"),websiteCreationTime:()=>t.translate("GoogleAnalyticsImporter_CreationDate")}}),_=["data-idsite"],x={class:"sitename"},B=["href"],v={key:1,style:{"text-transform":"uppercase"}},T=["innerHTML"],w={class:"status"},P=["title"],U={key:1,style:{"word-wrap":"break-word"}},M={key:0},F=["innerHTML"],H={class:"last-date-imported"},L={key:0},R={class:"scheduled-reimports"},O={key:0},z={key:1},q={class:"import-start-finish-times"},$={key:0},j={key:1},Y={key:0},J={key:1},W={key:2},K={key:3},Q={class:"actions"},X=["title"],Z=["title"];const ee=h(b,[["render",function(e,t,n,a,r,l){var i;return o.openBlock(),o.createElementBlock("tr",{"data-idsite":e.status.idSite},[o.createElementVNode("td",x,[e.status.site?(o.openBlock(),o.createElementBlock("a",{key:0,target:"_blank",href:e.siteUrl},o.toDisplayString(e.siteName),9,B)):(o.openBlock(),o.createElementBlock("span",v,o.toDisplayString(e.translate("GoogleAnalyticsImporter_SiteDeleted")),1)),t[4]||(t[4]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_SiteID"))+": "+o.toDisplayString(e.status.idSite),1)]),o.createElementVNode("td",{class:"ga-info",innerHTML:e.$sanitize(e.gaInfoPretty)},null,8,T),o.createElementVNode("td",w,[o.createTextVNode(o.toDisplayString(e.status.statusName)+" ",1),e.status.statusDescription?(o.openBlock(),o.createElementBlock("span",{key:0,class:"icon icon-help",title:e.status.statusDescription},null,8,P)):o.createCommentVNode("",!0),e.status.errorDescription?(o.openBlock(),o.createElementBlock("div",U,[t[5]||(t[5]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_StatusErroredName")),1),e.status.errorCode?(o.openBlock(),o.createElementBlock("span",M," "+o.toDisplayString(e.status.errorCode),1)):o.createCommentVNode("",!0),t[6]||(t[6]=o.createTextVNode(": ",-1)),o.createElementVNode("span",{innerHTML:e.$sanitize(e.status.errorDescription)},null,8,F)])):o.createCommentVNode("",!0)]),o.createElementVNode("td",H,[o.createElementVNode("div",null,[o.createTextVNode(o.toDisplayString(e.translate("GoogleAnalyticsImporter_LastDayImported"))+": "+o.toDisplayString(e.status.last_date_imported||e.noneText),1),t[7]||(t[7]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_LastDayArchived"))+": "+o.toDisplayString(e.status.last_day_archived||e.noneText),1),t[8]||(t[8]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_ImportStartDate"))+": "+o.toDisplayString(e.status.import_range_start||e.websiteCreationTime)+" ",1),t[9]||(t[9]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_ImportEndDate"))+": "+o.toDisplayString(e.status.import_range_end||e.noneText)+" ",1),t[10]||(t[10]=o.createElementVNode("br",null,null,-1)),t[11]||(t[11]=o.createElementVNode("br",null,null,-1))]),"finished"!==e.status.status?(o.openBlock(),o.createElementBlock("div",L,[o.createElementVNode("a",{class:"edit-import-end-link table-command-link",href:"",onClick:t[0]||(t[0]=o.withModifiers(t=>e.$emit("end-import"),["prevent"]))},o.toDisplayString(e.translate("GoogleAnalyticsImporter_EditEndDate")),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",null,[e.status.isGA4?(o.openBlock(),o.createElementBlock("a",{key:0,id:"reimport-date-range",class:"table-command-link",href:"",onClick:t[1]||(t[1]=o.withModifiers(t=>e.$emit("reimport"),["prevent"]))},o.toDisplayString(e.translate("GoogleAnalyticsImporter_ReimportDate")),1)):o.createCommentVNode("",!0)])]),o.createElementVNode("td",R,[(null==(i=e.status.reimport_ranges)?void 0:i.length)?(o.openBlock(),o.createElementBlock("ul",O,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.status.reimport_ranges,(e,t)=>(o.openBlock(),o.createElementBlock("li",{key:t},o.toDisplayString(e[0])+","+o.toDisplayString(e[1]),1))),128))])):(o.openBlock(),o.createElementBlock("span",z,o.toDisplayString(e.translate("GoogleAnalyticsImporter_None")),1))]),o.createElementVNode("td",q,[o.createTextVNode(o.toDisplayString(e.translate("GoogleAnalyticsImporter_ImportStartTime"))+": "+o.toDisplayString(e.status.import_start_time||e.noneText),1),t[12]||(t[12]=o.createElementVNode("br",null,null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_LastResumeTime"))+": "+o.toDisplayString(e.status.last_job_start_time||e.noneText),1),t[13]||(t[13]=o.createElementVNode("br",null,null,-1)),"finished"===e.status.status?(o.openBlock(),o.createElementBlock("span",$,o.toDisplayString(e.translate("GoogleAnalyticsImporter_TimeFinished"))+": "+o.toDisplayString(e.status.import_end_time||e.noneText),1)):e.status.estimated_days_left_to_finish?(o.openBlock(),o.createElementBlock("span",j,[e.thisJobShouldFinishToday?(o.openBlock(),o.createElementBlock("span",Y,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ThisJobShouldFinishToday")),1)):(o.openBlock(),o.createElementBlock("span",J,o.toDisplayString(e.translate("GoogleAnalyticsImporter_EstimatedFinishIn",e.status.estimated_days_left_to_finish)),1))])):e.status.import_range_end?(o.openBlock(),o.createElementBlock("span",W,o.toDisplayString(e.translate("GoogleAnalyticsImporter_JobWillRunUntilManuallyCancelled")),1)):(o.openBlock(),o.createElementBlock("span",K,o.toDisplayString(e.translate("General_Unknown")),1))]),o.createElementVNode("td",Q,[o.createElementVNode("a",{class:o.normalizeClass(["table-action",{"icon-delete":e.isDone,"icon-close":!e.isDone}]),onClick:t[2]||(t[2]=o.withModifiers(t=>e.$emit("delete",{isDone:e.isDone}),["prevent"])),title:e.isDone?e.translate("General_Remove"):e.translate("General_Cancel")},null,10,X),-1===["finished","ongoing","started"].indexOf(e.status.status)?(o.openBlock(),o.createElementBlock("a",{key:0,class:"table-action icon-play",onClick:t[3]||(t[3]=o.withModifiers(t=>e.$emit("manuallyResume"),["prevent"])),title:e.translate("GoogleAnalyticsImporter_ResumeDesc")},null,8,Z)):o.createCommentVNode("",!0)])],8,_)}]]),{$:te}=window,oe=o.defineComponent({props:{statuses:{type:Array,required:!0},stopImportNonce:{type:String,required:!0},changeImportEndDateNonce:{type:String,required:!0},resumeImportNonce:{type:String,required:!0},scheduleReImportNonce:{type:String,required:!0}},components:{Field:n.Field,ImportStatusRow:ee},directives:{Tooltips:t.Tooltips},data:()=>({editImportEndDateIdSite:null,reimportDateRangeIdSite:null,reimportStartDate:"",reimportEndDate:"",newImportEndDate:"",isGA4:!1}),methods:{showEditImportEndDateModal(e,t){this.editImportEndDateIdSite=e,this.isGA4=t,te("#editImportEndDate").modal({dismissible:!1}).modal("open")},cancelEditImportEndDateModal(){this.editImportEndDateIdSite=null,this.isGA4=!1},manuallyResume(e,o){return t.AjaxHelper.post({module:"GoogleAnalyticsImporter",action:"resumeImport",idSite:e,isGA4:o?1:0,nonce:this.resumeImportNonce},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})},deleteImportStatus(e,o){if(o)return t.AjaxHelper.post({module:"GoogleAnalyticsImporter",action:"deleteImportStatus",idSite:e,nonce:this.stopImportNonce},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()});t.Matomo.helper.modalConfirm("#confirmCancelJob",{yes:()=>{this.deleteImportStatus(e,!0)}})},openScheduleReimportModal(e,t){this.reimportDateRangeIdSite=e,this.isGA4=t,te("#openScheduleReimportModal").modal({dismissible:!1}).modal("open")},changeImportEndDateModal(){return t.AjaxHelper.post({module:"GoogleAnalyticsImporter",action:"changeImportEndDate",idSite:this.editImportEndDateIdSite,nonce:this.changeImportEndDateNonce,endDate:this.newImportEndDate},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})},scheduleReimport(){return t.AjaxHelper.post({module:"GoogleAnalyticsImporter",action:"scheduleReImport",idSite:this.reimportDateRangeIdSite,startDate:this.reimportStartDate,endDate:this.reimportEndDate,nonce:this.scheduleReImportNonce,isGA4:this.isGA4?1:0},{},{withTokenInUrl:!0}).finally(()=>{window.location.reload()})}},computed:{tooltipContent:()=>function(){const e=te(this).attr("title")||"";return window.vueSanitize(e.replace(/\n/g,"
"))}}}),ne={ref:"root"},ae={class:"entityTable importStatusesTable"},re={class:"modal",id:"openScheduleReimportModal"},le={class:"modal-content"},ie={class:"modal-footer"},se={class:"modal",id:"editImportEndDate"},ce={class:"modal-content"},me={class:"modal-footer"};const de=h(oe,[["render",function(e,t,n,a,r,l){const i=o.resolveComponent("ImportStatusRow"),s=o.resolveComponent("Field"),c=o.resolveDirective("tooltips");return o.withDirectives((o.openBlock(),o.createElementBlock("div",ne,[o.createElementVNode("table",ae,[o.createElementVNode("thead",null,[o.createElementVNode("tr",null,[o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_MatomoSite")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_GoogleAnalyticsInfo")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_Status")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_LatestDayProcessed")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ScheduledReImports")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_StartFinishTimes")),1),o.createElementVNode("th",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_Actions")),1)])]),o.createElementVNode("tbody",null,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.statuses,(t,n)=>(o.openBlock(),o.createBlock(i,{status:t,key:n,onEndImport:o=>e.showEditImportEndDateModal(t.idSite,t.isGA4),onReimport:o=>e.openScheduleReimportModal(t.idSite,t.isGA4),onDelete:o=>e.deleteImportStatus(t.idSite,o.isDone),onManuallyResume:o=>e.manuallyResume(t.idSite,t.isGA4)},null,8,["status","onEndImport","onReimport","onDelete","onManuallyResume"]))),128))])]),o.createElementVNode("div",re,[o.createElementVNode("div",le,[o.createElementVNode("h3",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_EnterImportDateRange")),1),o.createElementVNode("div",null,[o.createVNode(s,{name:"re-import-start-date",uicontrol:"text",modelValue:e.reimportStartDate,"onUpdate:modelValue":t[0]||(t[0]=t=>e.reimportStartDate=t),placeholder:`${e.translate("GoogleAnalyticsImporter_StartDate")} (YYYY-MM-DD)`},null,8,["modelValue","placeholder"])]),o.createElementVNode("div",null,[o.createVNode(s,{name:"re-import-end-date",uicontrol:"text",modelValue:e.reimportEndDate,"onUpdate:modelValue":t[1]||(t[1]=t=>e.reimportEndDate=t),placeholder:`${e.translate("GoogleAnalyticsImporter_EndDate")} (YYYY-MM-DD)`},null,8,["modelValue","placeholder"])])]),o.createElementVNode("div",ie,[o.createElementVNode("a",{id:"scheduleReimportSubmit",href:"",class:"modal-action modal-close btn",onClick:t[2]||(t[2]=o.withModifiers(t=>e.scheduleReimport(),["prevent"])),style:{"margin-right":"3.5px"}},o.toDisplayString(e.translate("GoogleAnalyticsImporter_Schedule")),1),o.createElementVNode("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[3]||(t[3]=o.withModifiers(()=>{},["prevent"]))},o.toDisplayString(e.translate("General_Cancel")),1)])]),o.createElementVNode("div",se,[o.createElementVNode("div",ce,[o.createElementVNode("h3",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_EnterImportEndDate")),1),o.createElementVNode("p",null,[o.createElementVNode("em",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_LeaveEmptyToRemove")),1)]),o.createElementVNode("div",null,[o.createVNode(s,{name:"new-import-end-date",uicontrol:"text",modelValue:e.newImportEndDate,"onUpdate:modelValue":t[4]||(t[4]=t=>e.newImportEndDate=t),placeholder:`${e.translate("GoogleAnalyticsImporter_EndDate")} (YYYY-MM-DD)`},null,8,["modelValue","placeholder"])])]),o.createElementVNode("div",me,[o.createElementVNode("a",{href:"",class:"modal-action modal-close btn",onClick:t[5]||(t[5]=t=>e.changeImportEndDateModal()),style:{"margin-right":"3.5px"}},o.toDisplayString(e.translate("GoogleAnalyticsImporter_Change")),1),o.createElementVNode("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[6]||(t[6]=t=>e.cancelEditImportEndDateModal())},o.toDisplayString(e.translate("General_Cancel")),1)])])])),[[c,{content:e.tooltipContent,delay:500,duration:200}]])}]]),pe=o.defineComponent({data:()=>({isSelectingFile:!1,isUploading:!1}),props:{manualConfigNonce:{type:String,required:!0},manualActionUrl:{type:String,required:!0},isNoDataPage:Boolean,hasClientConfiguration:Boolean,indexActionUrl:{type:String,required:!0},authorizeUrl:String,forwardToAuthNonce:String,isConfigured:Boolean},methods:{selectConfigFile(){this.isSelectingFile=!0;const e=document.getElementById("clientfile");e&&e.click()},processFileChange(){const e=document.getElementById("clientfile"),t=document.getElementById("configFileUploadForm");e&&e.value&&t&&(this.isUploading=!0,t.submit())},checkForCancel(){if(!this.isSelectingFile||this.isUploading)return;const e=document.getElementById("clientfile");e&&!e.value&&(this.isSelectingFile=!1)}},computed:{setupGoogleAnalyticsImportFaq:()=>t.translate("GoogleAnalyticsImporter_ConfigureTheImporterLabel3",t.externalLink("https://matomo.org/faq/general/set-up-google-analytics-import/"),""),isUploadButtonDisabled(){return this.isSelectingFile||this.isUploading},getAdvanceConnectStep01Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep01",t.externalLink("https://matomo.org/faq/general/set-up-google-analytics-import/"),"")},getAdvanceConnectStep03Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep03",this.translate("GoogleAnalyticsImporter_Authorize"))},getAdvanceConnectStep04Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep04",``,"",t.externalLink("https://matomo.org/faq/general/running-the-google-analytics-import/"),"")},getAdvanceConnectStep05Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep05",t.externalLink(this.indexActionUrl),"")},getAdvanceConnectStep07Text(){return`${this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep07",this.translate("GoogleAnalyticsImporter_Start"))}
${this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep07Note","","",this.translate("GoogleAnalyticsImporter_Start"))}
`},getAdvanceConnectStep08Text(){return this.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep08",``,"")},getOauthCompleteWarningMessage(){return this.translate("GoogleAnalyticsImporter_GoogleOauthCompleteWarning","","")},getClass(){let e="col s12";return this.isNoDataPage?e+=" p-half-point":e+=" m6",e},getAuthorizeText(){return this.isConfigured?this.translate("GoogleAnalyticsImporter_ReAuthorize"):this.translate("GoogleAnalyticsImporter_Authorize")}},mounted(){document.body.onfocus=this.checkForCancel}}),ue={key:0,class:"form-group row"},ge={class:"col s12 m12"},ye=["innerHTML"],he=["innerHTML"],fe=["textContent"],Ce={class:"form-group row"},Ae=["action"],Ie={key:0,type:"hidden",name:"isNoDataPage",value:"1"},De=["value"],Ne=["disabled"],Se={key:1,class:"system-success connected-message-successful"},ke={key:2},Ee=["innerHTML"],Ge=["innerHTML"],Ve=["action"],be=["value"],_e=["disabled","textContent"],xe={key:0,class:"system-success connected-message-successful"},Be=["innerHTML"],ve=["textContent"],Te=["innerHTML"],we=["innerHTML"],Pe=["textContent"];const Ue=h(pe,[["render",function(e,t,n,a,r,l){return o.openBlock(),o.createElementBlock(o.Fragment,null,[e.isNoDataPage?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",ue,[o.createElementVNode("div",ge,[o.createElementVNode("p",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ConfigureTheImporterLabel1")),1),o.createElementVNode("p",null,[o.createTextVNode(o.toDisplayString(e.translate("GoogleAnalyticsImporter_ConfigureTheImporterLabel2"))+"  ",1),o.createElementVNode("span",{innerHTML:e.$sanitize(e.setupGoogleAnalyticsImportFaq)},null,8,ye)])])])),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:1,innerHTML:e.$sanitize(e.getAdvanceConnectStep01Text)},null,8,he)):o.createCommentVNode("",!0),(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.isNoDataPage?"li":"div"),null,{default:o.withCtx(()=>[e.isNoDataPage?(o.openBlock(),o.createElementBlock("span",{key:0,textContent:o.toDisplayString(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep02"))},null,8,fe)):o.createCommentVNode("",!0),o.createElementVNode("div",Ce,[o.createElementVNode("div",{class:o.normalizeClass(e.getClass)},[o.createElementVNode("form",{id:"configFileUploadForm",action:e.manualActionUrl,method:"POST",enctype:"multipart/form-data"},[o.createElementVNode("input",{type:"file",id:"clientfile",name:"clientfile",accept:".json",onChange:t[0]||(t[0]=(...t)=>e.processFileChange&&e.processFileChange(...t)),style:{display:"none"}},null,32),e.isNoDataPage?(o.openBlock(),o.createElementBlock("input",Ie)):o.createCommentVNode("",!0),o.createElementVNode("input",{type:"hidden",name:"config_nonce",value:e.manualConfigNonce},null,8,De),o.createElementVNode("button",{type:"button",class:"btn advance-upload-button",onClick:t[1]||(t[1]=t=>e.selectConfigFile()),disabled:e.isUploadButtonDisabled},[o.withDirectives(o.createElementVNode("span",null,[t[2]||(t[2]=o.createElementVNode("span",{class:"icon-upload"},null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("General_Upload")),1)],512),[[o.vShow,!e.isUploadButtonDisabled]]),o.withDirectives(o.createElementVNode("span",null,[t[3]||(t[3]=o.createElementVNode("span",{class:"icon-upload"},null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_Uploading")),1)],512),[[o.vShow,e.isUploadButtonDisabled]])],8,Ne),e.isNoDataPage&&e.hasClientConfiguration?(o.openBlock(),o.createElementBlock("span",Se,[t[4]||(t[4]=o.createElementVNode("span",{class:"icon-ok"},null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_UploadSuccessful")),1)])):o.createCommentVNode("",!0)],8,Ae)],2)])]),_:1})),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",ke,[o.createElementVNode("span",{innerHTML:e.$sanitize(e.getAdvanceConnectStep03Text)},null,8,Ee),o.createElementVNode("div",{class:"complete-note-warning",innerHTML:e.$sanitize(e.getOauthCompleteWarningMessage)},null,8,Ge),o.createElementVNode("form",{target:"_blank",method:"post",action:e.authorizeUrl},[o.createElementVNode("input",{type:"hidden",name:"auth_nonce",value:e.forwardToAuthNonce},null,8,be),o.createElementVNode("button",{disabled:!1===e.hasClientConfiguration,textContent:o.toDisplayString(e.getAuthorizeText),type:"submit",class:"btn btn-forward-to-Oauth"},null,8,_e),e.isNoDataPage&&e.hasClientConfiguration&&e.isConfigured?(o.openBlock(),o.createElementBlock("span",xe,[t[5]||(t[5]=o.createElementVNode("span",{class:"icon-ok"},null,-1)),o.createTextVNode(" "+o.toDisplayString(e.translate("GoogleAnalyticsImporter_AccountsConnectedSuccessfully")),1)])):o.createCommentVNode("",!0)],8,Ve)])):o.createCommentVNode("",!0),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:3,innerHTML:e.$sanitize(e.getAdvanceConnectStep04Text)},null,8,Be)):o.createCommentVNode("",!0),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:4,textContent:o.toDisplayString(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep06GA4"))},null,8,ve)):o.createCommentVNode("",!0),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:5,innerHTML:e.$sanitize(e.getAdvanceConnectStep07Text)},null,8,Te)):o.createCommentVNode("",!0),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:6,innerHTML:e.$sanitize(e.getAdvanceConnectStep08Text)},null,8,we)):o.createCommentVNode("",!0),e.isNoDataPage?(o.openBlock(),o.createElementBlock("li",{key:7,textContent:o.toDisplayString(e.translate("GoogleAnalyticsImporter_GAImportNoDataScreenStep09"))},null,8,Pe)):o.createCommentVNode("",!0)],64)}]]),Me=o.defineComponent({props:{hasClientConfiguration:Boolean,isConfigured:Boolean,authNonce:String,configNonce:String},components:{ContentBlock:t.ContentBlock},data:()=>({clientFileToSet:null,clientConfigTextToSet:""}),computed:{forwardToAuthUrl:()=>`?${t.MatomoUrl.stringify(p(d({},t.MatomoUrl.urlParsed.value),{action:"forwardToAuth"}))}`,configureClientLink:()=>`?${t.MatomoUrl.stringify(p(d({},t.MatomoUrl.urlParsed.value),{action:"configureClient"}))}`,configureClientDesc2:()=>t.translate("GoogleAnalyticsImporter_ConfigureClientDesc2",'',""),deleteClientCredentialsLink:()=>`?${t.MatomoUrl.stringify(p(d({},t.MatomoUrl.urlParsed.value),{action:"deleteClientCredentials"}))}`}}),Fe=["action"],He=["value"],Le={key:0},Re={type:"submit",class:"btn"},Oe={key:1},ze={type:"submit",class:"btn"},qe=["action"],$e=["value"],je={type:"submit",class:"btn"};const Ye=h(Me,[["render",function(e,t,n,a,r,l){const i=o.resolveComponent("ContentBlock");return o.openBlock(),o.createElementBlock("div",null,[e.hasClientConfiguration?(o.openBlock(),o.createBlock(i,{key:0,"content-title":e.translate("GoogleAnalyticsImporter_ConfigureTheImporter")},{default:o.withCtx(()=>[o.createElementVNode("form",{method:"post",action:e.forwardToAuthUrl,id:"clientauthform"},[o.createElementVNode("input",{type:"hidden",name:"auth_nonce",value:e.authNonce},null,8,He),e.isConfigured?(o.openBlock(),o.createElementBlock("span",Le,[o.createElementVNode("p",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ImporterIsConfigured")),1),o.createElementVNode("button",Re,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ReAuthorize")),1)])):(o.openBlock(),o.createElementBlock("span",Oe,[o.createElementVNode("p",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ClientConfigSuccessfullyUpdated")),1),o.createElementVNode("button",ze,o.toDisplayString(e.translate("GoogleAnalyticsImporter_Authorize")),1)]))],8,Fe)]),_:1},8,["content-title"])):o.createCommentVNode("",!0),e.hasClientConfiguration?(o.openBlock(),o.createBlock(i,{key:1,"content-title":e.translate("GoogleAnalyticsImporter_RemoveClientConfiguration")},{default:o.withCtx(()=>[o.createElementVNode("form",{action:e.deleteClientCredentialsLink,method:"POST",enctype:"multipart/form-data",id:"removeConfigForm"},[o.createElementVNode("p",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_DeleteUploadedClientConfig"))+":",1),o.createElementVNode("input",{type:"hidden",name:"config_nonce",value:e.configNonce},null,8,$e),o.createElementVNode("button",je,o.toDisplayString(e.translate("General_Remove")),1)],8,qe)]),_:1},8,["content-title"])):o.createCommentVNode("",!0)])}]]);const Je=h(o.defineComponent({props:{extensions:Array,configureConnectionProps:{type:Object,required:!0},isNoDataPage:Boolean,hasClientConfiguration:Boolean,indexActionUrl:String,authorizeUrl:String,forwardToAuthNonce:String,strategyToUse:String,isConfigured:Boolean},components:{Notification:t.Notification,ContentBlock:t.ContentBlock},computed:{componentExtensions(){const e=this.extensions;return o.markRaw(e.map(e=>t.useExternalPluginComponent(e.plugin,e.component)))},configConnectProps(){return this.configureConnectionProps}}}),[["render",function(e,t,n,a,r,l){const i=o.resolveComponent("ContentBlock");return o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.componentExtensions,(t,n)=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:n},[e.isNoDataPage?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(t),{key:1,"manual-config-nonce":e.configConnectProps.manualConfigNonce,"base-domain":e.configConnectProps.baseDomain,"base-url":e.configConnectProps.baseUrl,"manual-action-url":e.configConnectProps.manualActionUrl,"primary-text":e.configConnectProps.primaryText,"radio-options":e.configConnectProps.radioOptions,"manual-config-text":e.configConnectProps.manualConfigText,"connect-accounts-url":e.configConnectProps.connectAccountsUrl,"connect-accounts-btn-text":e.configConnectProps.connectAccountsBtnText,"auth-url":e.configConnectProps.authUrl,"unlink-url":e.configConnectProps.unlinkUrl,strategy:e.configConnectProps.strategy,"connected-with":e.configConnectProps.connectedWith,"is-no-data-page":e.isNoDataPage,"has-client-configuration":e.hasClientConfiguration,"index-action-url":e.indexActionUrl,"authorize-url":e.authorizeUrl,"forward-to-auth-nonce":e.forwardToAuthNonce,"is-configured":e.isConfigured,"strategy-to-use":e.strategyToUse,"additional-help-text":e.configConnectProps.additionalHelpText},null,8,["manual-config-nonce","base-domain","base-url","manual-action-url","primary-text","radio-options","manual-config-text","connect-accounts-url","connect-accounts-btn-text","auth-url","unlink-url","strategy","connected-with","is-no-data-page","has-client-configuration","index-action-url","authorize-url","forward-to-auth-nonce","is-configured","strategy-to-use","additional-help-text"])):(o.openBlock(),o.createBlock(i,{key:0,"content-title":e.isNoDataPage?"":e.translate("GoogleAnalyticsImporter_AdminMenuTitle")},{default:o.withCtx(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(t),{"manual-config-nonce":e.configConnectProps.manualConfigNonce,"base-domain":e.configConnectProps.baseDomain,"base-url":e.configConnectProps.baseUrl,"manual-action-url":e.configConnectProps.manualActionUrl,"primary-text":e.configConnectProps.primaryText,"radio-options":e.configConnectProps.radioOptions,"manual-config-text":e.configConnectProps.manualConfigText,"connect-accounts-url":e.configConnectProps.connectAccountsUrl,"connect-accounts-btn-text":e.configConnectProps.connectAccountsBtnText,"auth-url":e.configConnectProps.authUrl,"unlink-url":e.configConnectProps.unlinkUrl,strategy:e.configConnectProps.strategy,"connected-with":e.configConnectProps.connectedWith,"is-no-data-page":e.isNoDataPage,"has-client-configuration":e.hasClientConfiguration,"index-action-url":e.indexActionUrl,"authorize-url":e.authorizeUrl,"forward-to-auth-nonce":e.forwardToAuthNonce,"is-configured":e.isConfigured,"strategy-to-use":e.strategyToUse,"additional-help-text":e.configConnectProps.additionalHelpText},null,8,["manual-config-nonce","base-domain","base-url","manual-action-url","primary-text","radio-options","manual-config-text","connect-accounts-url","connect-accounts-btn-text","auth-url","unlink-url","strategy","connected-with","is-no-data-page","has-client-configuration","index-action-url","authorize-url","forward-to-auth-nonce","is-configured","strategy-to-use","additional-help-text"]))]),_:2},1032,["content-title"]))],64))),128)}]]),We=o.defineComponent({props:{hasClientConfiguration:Boolean,isConfigured:Boolean,isClientConfigurable:Boolean,authNonce:String,configNonce:String,startImportNonce:{type:String,required:!0},maxEndDateDesc:String,extraCustomDimensionsField:{type:Object,required:!0},extraCustomDimensionsFieldGa4:{type:Object,required:!0},streamIdsFieldGa4:{type:Object,required:!0},statuses:{type:Array,required:!0},stopImportNonce:{type:String,required:!0},changeImportEndDateNonce:{type:String,required:!0},resumeImportNonce:{type:String,required:!0},scheduleReImportNonce:{type:String,required:!0},importOptionsUa:{type:Object,required:!0},importOptionsGa4:{type:Object,required:!0},extensions:Array,configureConnectionProps:{type:Object,required:!0}},components:{CommonConnect:Je,ImportSchedulerGA4:V,ContentBlock:t.ContentBlock,ClientConfig:Ye,ImportStatus:de},data:()=>({selectedImporter:""}),computed:{importerHelp2Text:()=>t.translate("GoogleAnalyticsImporter_ImporterHelp2",'',""),importerHelp3Text:()=>t.translate("GoogleAnalyticsImporter_ImporterHelp3","

",""),componentExtensions(){const e=this.extensions;return o.markRaw(e.map(e=>t.useExternalPluginComponent(e.plugin,e.component)))},configConnectProps(){return this.configureConnectionProps}}}),Ke={class:"hide-import-main-div ga-import-main-div ga4-main-div"},Qe={key:0},Xe={key:3,class:"ui-confirm",id:"confirmCancelJob"},Ze=["value"],et=["value"];const tt=h(We,[["render",function(e,t,n,a,r,l){const i=o.resolveComponent("CommonConnect"),s=o.resolveComponent("ClientConfig"),c=o.resolveComponent("ImportSchedulerGA4"),m=o.resolveComponent("ContentBlock"),d=o.resolveComponent("ImportStatus");return o.openBlock(),o.createElementBlock("div",null,[o.createVNode(i,{extensions:e.extensions,"configure-connection-props":e.configureConnectionProps},null,8,["extensions","configure-connection-props"]),e.isClientConfigurable?(o.openBlock(),o.createBlock(s,{key:0,"has-client-configuration":e.hasClientConfiguration,"is-configured":e.isConfigured,"auth-nonce":e.authNonce,"config-nonce":e.configNonce},null,8,["has-client-configuration","is-configured","auth-nonce","config-nonce"])):o.createCommentVNode("",!0),e.hasClientConfiguration&&e.isConfigured?(o.openBlock(),o.createBlock(m,{key:1},{default:o.withCtx(()=>[o.createElementVNode("div",Ke,[o.createElementVNode("h2",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ScheduleAnImportGA4")),1),o.createVNode(c,{"start-import-nonce":e.startImportNonce,"max-end-date-desc":e.maxEndDateDesc,"extra-custom-dimensions-field":e.extraCustomDimensionsFieldGa4,"stream-ids-field":e.streamIdsFieldGa4},null,8,["start-import-nonce","max-end-date-desc","extra-custom-dimensions-field","stream-ids-field"])])]),_:1})):o.createCommentVNode("",!0),e.hasClientConfiguration&&e.isConfigured?(o.openBlock(),o.createBlock(m,{key:2,id:"importStatusContainer","content-title":e.translate("GoogleAnalyticsImporter_ImportJobs")},{default:o.withCtx(()=>{var t,n;return[(null==(t=e.statuses)?void 0:t.length)?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("p",Qe,o.toDisplayString(e.translate("GoogleAnalyticsImporter_ThereAreNoImportJobs")),1)),(null==(n=e.statuses)?void 0:n.length)?(o.openBlock(),o.createBlock(d,{key:1,statuses:e.statuses,"stop-import-nonce":e.stopImportNonce,"change-import-end-date-nonce":e.changeImportEndDateNonce,"resume-import-nonce":e.resumeImportNonce,"schedule-re-import-nonce":e.scheduleReImportNonce},null,8,["statuses","stop-import-nonce","change-import-end-date-nonce","resume-import-nonce","schedule-re-import-nonce"])):o.createCommentVNode("",!0)]}),_:1},8,["content-title"])):o.createCommentVNode("",!0),e.hasClientConfiguration&&e.isConfigured?(o.openBlock(),o.createElementBlock("div",Xe,[o.createElementVNode("h2",null,o.toDisplayString(e.translate("GoogleAnalyticsImporter_CancelJobConfirm")),1),o.createElementVNode("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,Ze),o.createElementVNode("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,et)])):o.createCommentVNode("",!0)])}]]);e.AdminPage=tt,e.ClientConfig=Ye,e.ConfigureConnection=Ue,e.Connect=Je,e.ImportSchedulerGA4=V,e.ImportStatus=de,e.ImportStatusRow=ee,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}); diff --git a/vue/dist/umd.metadata.json b/vue/dist/umd.metadata.json index dce4477a..662eca65 100644 --- a/vue/dist/umd.metadata.json +++ b/vue/dist/umd.metadata.json @@ -3,4 +3,4 @@ "CoreHome", "CorePluginsAdmin" ] -} \ No newline at end of file +} diff --git a/vue/src/AdminPage/AdminPage.vue b/vue/src/AdminPage/AdminPage.vue index 38d37527..15ecaf97 100644 --- a/vue/src/AdminPage/AdminPage.vue +++ b/vue/src/AdminPage/AdminPage.vue @@ -70,6 +70,7 @@ import { defineComponent, markRaw, + PropType, } from 'vue'; import { ContentBlock, @@ -77,7 +78,7 @@ import { useExternalPluginComponent, } from 'CoreHome'; import ClientConfig from '../ClientConfig/ClientConfig.vue'; -import ImportStatus from '../ImportStatus/ImportStatus.vue'; +import ImportStatus, { ImportStatusEntry } from '../ImportStatus/ImportStatus.vue'; import ImportSchedulerGA4 from '../ImportScheduler/ImportSchedulerGA4.vue'; import CommonConnect from './CommonConnect.vue'; @@ -95,7 +96,7 @@ interface ConfigureConnectionRadioOption { manual: string; } -interface ConfigureConnectionProps { +export interface ConfigureConnectionProps { baseDomain: string; baseUrl: string; manualConfigNonce: string; @@ -137,7 +138,7 @@ export default defineComponent({ required: true, }, statuses: { - type: Array, + type: Array as PropType, required: true, }, stopImportNonce: { diff --git a/vue/src/AdminPage/CommonConnect.vue b/vue/src/AdminPage/CommonConnect.vue index 1b75f9ed..1a3cfcac 100644 --- a/vue/src/AdminPage/CommonConnect.vue +++ b/vue/src/AdminPage/CommonConnect.vue @@ -72,7 +72,7 @@ interface ConfigureConnectionRadioOption { connectAccounts: string; manual: string; } -interface ConfigureConnectionProps { +export interface ConfigureConnectionProps { baseDomain: string; baseUrl: string; manualConfigNonce: string; diff --git a/vue/src/ClientConfig/ClientConfig.vue b/vue/src/ClientConfig/ClientConfig.vue index 1cd8aa19..b2a5520e 100644 --- a/vue/src/ClientConfig/ClientConfig.vue +++ b/vue/src/ClientConfig/ClientConfig.vue @@ -59,7 +59,7 @@ import { translate, } from 'CoreHome'; -interface ClientConfigState { +export interface ClientConfigState { clientFileToSet: unknown; clientConfigTextToSet: string; } diff --git a/vue/src/ImportScheduler/ImportSchedulerGA4.vue b/vue/src/ImportScheduler/ImportSchedulerGA4.vue index b41725bc..2319ba5d 100644 --- a/vue/src/ImportScheduler/ImportSchedulerGA4.vue +++ b/vue/src/ImportScheduler/ImportSchedulerGA4.vue @@ -130,7 +130,7 @@ interface ExtraCustomDimension { dimensionScope: string; } -interface ImportSchedulerState { +export interface ImportSchedulerState { isStartingImport: boolean; extraCustomDimensionsGA4: ExtraCustomDimension[]; streamIds: []; diff --git a/vue/src/ImportStatus/ImportStatus.vue b/vue/src/ImportStatus/ImportStatus.vue index 4d3f1cd1..9afe0ad9 100644 --- a/vue/src/ImportStatus/ImportStatus.vue +++ b/vue/src/ImportStatus/ImportStatus.vue @@ -58,13 +58,13 @@