diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml
index 1331411..9cbc3eb 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="Slack" --php-versions="matomo5_min_php,matomo5_max_php" --dependent-plugins="matomo-org/plugin-CustomAlerts" --schedule-cron="0 5 * * 6"
+# ./console generate:test-action --plugin="Slack" --php-versions="matomo6_min_php,matomo6_max_php" --dependent-plugins="matomo-org/plugin-CustomAlerts" --schedule-cron="0 5 * * 6"
name: Plugin Slack 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,9 +56,11 @@ jobs:
php-version: ${{ matrix.php }}
test-type: 'PluginTests'
matomo-test-branch: ${{ matrix.target }}
+ mysql-engine: ${{ matrix.database.engine }}
+ mysql-version: ${{ matrix.database.version }}
redis-service: true
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' }}
artifacts-protected: true
dependent-plugins: 'matomo-org/plugin-CustomAlerts'
github-token: ${{ secrets.TESTS_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}
@@ -72,8 +77,10 @@ jobs:
plugin-name: 'Slack'
matomo-test-branch: 'maximum_supported_matomo'
test-type: 'UI'
- php-version: 'matomo5_min_php'
- node-version: '16'
+ php-version: 'matomo6_min_php'
+ node-version: '24'
+ mysql-engine: 'Mysql'
+ mysql-version: '8.0'
redis-service: true
artifacts-pass: ${{ secrets.ARTIFACTS_PASS }}
upload-artifacts: true
diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml
index 9df218c..5fd20a0 100644
--- a/.github/workflows/phpcs.yml
+++ b/.github/workflows/phpcs.yml
@@ -26,7 +26,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '7.4'
+ php-version: '8.1'
tools: cs2pr
- name: Install dependencies
run:
diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml
index acb9bf9..e6e0791 100644
--- a/.github/workflows/phpstan.yml
+++ b/.github/workflows/phpstan.yml
@@ -29,7 +29,7 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '7.2'
+ php-version: '8.1'
- name: Check out github-action-tests repository
uses: actions/checkout@v4
diff --git a/.gitignore b/.gitignore
index 1d2be6c..b7931b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
/tests/System/processed/
/tests/Integration/Importers/processed/
-/tests/UI/processed-ui-screenshots/
\ No newline at end of file
+/tests/UI/processed-ui-screenshots/
+/vue/dist/*.umd.js
+/vue/dist/*.map
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a268ed2..e137ed9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
## Changelog
+6.0.0 - 2026-08-10
+- Compatibility with Matomo 6
+
5.1.0 - 2026-07-13
- Added code to encrypt sensitive values in database to improve security
diff --git a/Settings/EncryptedSlackOauthTokenSetting.php b/Settings/EncryptedSlackOauthTokenSetting.php
index ef6c962..7873f9a 100644
--- a/Settings/EncryptedSlackOauthTokenSetting.php
+++ b/Settings/EncryptedSlackOauthTokenSetting.php
@@ -60,7 +60,7 @@ public function setValue($value)
$encryptedValue = $this->encryption->encryptString($normalizedValue);
$this->storage->setValue($this->name, $encryptedValue);
$backend = $this->storage->getBackend();
- if ($backend instanceof PluginSettingsTable && method_exists($backend, 'saveValue')) {
+ if ($backend instanceof PluginSettingsTable) {
$backend->saveValue($this->name, $encryptedValue);
return;
}
diff --git a/phpstan.neon b/phpstan.neon
index fbc5b99..88712e9 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,12 +1,12 @@
parameters:
level: 5
- phpVersion: 70200
+ phpVersion: 80100
tmpDir: /tmp/phpstan/Slack/main
paths:
- .
excludePaths:
- tests/*
- - github-action-tests
+ - github-action-tests/ (?)
bootstrapFiles:
- ../../bootstrap-phpstan.php
universalObjectCratesClasses:
diff --git a/plugin.json b/plugin.json
index 5027835..7d8e01d 100644
--- a/plugin.json
+++ b/plugin.json
@@ -1,10 +1,10 @@
{
"name": "Slack",
"description": "Send Matomo reports and alerts to Slack channels, keeping your team informed and ready to act in real time.",
- "version": "5.1.0",
+ "version": "6.0.0",
"theme": false,
"require": {
- "matomo": ">=5.0.0,<6.0.0-b1"
+ "matomo": ">=6.0.0-b1,<7.0.0-b1"
},
"authors": [
{
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_empty_report.png b/tests/UI/expected-ui-screenshots/CustomAlerts_empty_report.png
index 34fcdc5..1df0825 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_empty_report.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_empty_report.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_new_custom_alert.png b/tests/UI/expected-ui-screenshots/CustomAlerts_new_custom_alert.png
index c46a563..6aaed94 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_new_custom_alert.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_new_custom_alert.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_send_via_slack_new.png b/tests/UI/expected-ui-screenshots/CustomAlerts_send_via_slack_new.png
index e140f75..37ab021 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_send_via_slack_new.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_send_via_slack_new.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_alert_report_save_success.png b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_alert_report_save_success.png
index 27b50f7..4317f27 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_alert_report_save_success.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_alert_report_save_success.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_disabled.png b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_disabled.png
index bc63f6f..576c756 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_disabled.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_disabled.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_enabled.png b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_enabled.png
index 5665153..cacefb1 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_enabled.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_enabled.png differ
diff --git a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_error.png b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_error.png
index a6f8eb9..5245d35 100644
Binary files a/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_error.png and b/tests/UI/expected-ui-screenshots/CustomAlerts_slack_report_error.png differ
diff --git a/tests/UI/expected-ui-screenshots/SlackSystemSetting_settings_page.png b/tests/UI/expected-ui-screenshots/SlackSystemSetting_settings_page.png
index 99afab3..90053ac 100644
Binary files a/tests/UI/expected-ui-screenshots/SlackSystemSetting_settings_page.png and b/tests/UI/expected-ui-screenshots/SlackSystemSetting_settings_page.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_empty_report.png b/tests/UI/expected-ui-screenshots/Slack_empty_report.png
index 62e2a23..c5b2b8c 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_empty_report.png and b/tests/UI/expected-ui-screenshots/Slack_empty_report.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_new_scheduled_reports.png b/tests/UI/expected-ui-screenshots/Slack_new_scheduled_reports.png
index 229e973..e75f040 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_new_scheduled_reports.png and b/tests/UI/expected-ui-screenshots/Slack_new_scheduled_reports.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_send_via_slack.png b/tests/UI/expected-ui-screenshots/Slack_send_via_slack.png
index 74d4ebb..90cd3b8 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_send_via_slack.png and b/tests/UI/expected-ui-screenshots/Slack_send_via_slack.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_send_via_slack_new.png b/tests/UI/expected-ui-screenshots/Slack_send_via_slack_new.png
index 4d83282..9a32fff 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_send_via_slack_new.png and b/tests/UI/expected-ui-screenshots/Slack_send_via_slack_new.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_disabled.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_disabled.png
index 74d4ebb..90cd3b8 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_disabled.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_disabled.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_enabled.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_enabled.png
index 61f677b..1bbbd2c 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_enabled.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_enabled.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_error.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_error.png
index e497ad3..50bc464 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_error.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_error.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_save.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_save.png
index 2c9ff82..d7d15fa 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_save.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_save.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_view.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_view.png
index 5c5fa0e..40e83d5 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_view.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_pdf_view.png differ
diff --git a/tests/UI/expected-ui-screenshots/Slack_slack_report_save_report.png b/tests/UI/expected-ui-screenshots/Slack_slack_report_save_report.png
index fb96f04..a053b36 100644
Binary files a/tests/UI/expected-ui-screenshots/Slack_slack_report_save_report.png and b/tests/UI/expected-ui-screenshots/Slack_slack_report_save_report.png differ
diff --git a/vue/dist/Slack.umd.js b/vue/dist/Slack.umd.js
deleted file mode 100644
index 700ced4..0000000
--- a/vue/dist/Slack.umd.js
+++ /dev/null
@@ -1,348 +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["Slack"] = factory(require("CoreHome"), require("vue"), require("CorePluginsAdmin"));
- else
- root["Slack"] = 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/Slack/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__, "ReportParameters", function() { return /* reexport */ ReportParameters; });
-__webpack_require__.d(__webpack_exports__, "SelectSlackChannel", function() { return /* reexport */ SelectSlackChannel; });
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
-// This file is imported into lib/wc client bundles.
-
-if (typeof window !== 'undefined') {
- var currentScript = window.document.currentScript
- if (false) { var getCurrentScript; }
-
- var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
- if (src) {
- __webpack_require__.p = src[1] // eslint-disable-line
- }
-}
-
-// Indicate to webpack that this file can be concatenated
-/* harmony default export */ var setPublicPath = (null);
-
-// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
-var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--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/Slack/vue/src/ReportParameters/ReportParameters.vue?vue&type=template&id=5f5d6546
-
-const _hoisted_1 = {
- key: 0
-};
-function render(_ctx, _cache, $props, $setup, $data, $options) {
- var _ctx$report;
- const _component_SelectSlackChannel = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SelectSlackChannel");
- return _ctx.report && _ctx.report.type === 'slack' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SelectSlackChannel, {
- "is-slack-oauth-token-added": _ctx.isSlackOauthTokenAdded,
- "with-introduction": true,
- "model-value": (_ctx$report = _ctx.report) === null || _ctx$report === void 0 ? void 0 : _ctx$report.slackChannelID,
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.$emit('change', 'slackChannelID', $event))
- }, null, 8, ["is-slack-oauth-token-added", "model-value"])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true);
-}
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?vue&type=template&id=5f5d6546
-
-// 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/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?vue&type=template&id=3a73ae18
-
-const SelectSlackChannelvue_type_template_id_3a73ae18_hoisted_1 = {
- class: "slack"
-};
-const _hoisted_2 = {
- id: "slackChannelIDHelp",
- class: "inline-help-node"
-};
-const _hoisted_3 = ["innerHTML"];
-const _hoisted_4 = ["innerHTML"];
-function SelectSlackChannelvue_type_template_id_3a73ae18_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", SelectSlackChannelvue_type_template_id_3a73ae18_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
- uicontrol: "text",
- name: "channelID",
- title: _ctx.translate('Slack_ChannelId'),
- class: "slack",
- "model-value": _ctx.modelValue,
- disabled: !_ctx.isSlackOauthTokenAdded,
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', $event))
- }, {
- "inline-help": Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(() => [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [!_ctx.isSlackOauthTokenAdded ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
- key: 0,
- style: {
- "margin-right": "3.5px"
- },
- innerHTML: _ctx.$sanitize(_ctx.getSlackOAuthTokenNotAddedHelpText)
- }, null, 8, _hoisted_3)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", {
- key: 1,
- innerHTML: _ctx.$sanitize(_ctx.getSlackChannelHelpText)
- }, null, 8, _hoisted_4))])]),
- _: 1
- }, 8, ["title", "model-value", "disabled"])]);
-}
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?vue&type=template&id=3a73ae18
-
-// EXTERNAL MODULE: external "CoreHome"
-var external_CoreHome_ = __webpack_require__("19dc");
-
-// EXTERNAL MODULE: external "CorePluginsAdmin"
-var external_CorePluginsAdmin_ = __webpack_require__("a5a2");
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--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/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?vue&type=script&lang=ts
-
-
-
-/* harmony default export */ var SelectSlackChannelvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
- props: {
- modelValue: String,
- isSlackOauthTokenAdded: {
- type: Boolean,
- default: false
- },
- withIntroduction: Boolean
- },
- emits: ['update:modelValue'],
- components: {
- Field: external_CorePluginsAdmin_["Field"]
- },
- methods: {
- linkTo(params) {
- return `?${external_CoreHome_["MatomoUrl"].stringify(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].urlParsed.value), params))}`;
- }
- },
- computed: {
- getSlackOAuthTokenNotAddedHelpText() {
- const link = this.linkTo({
- module: 'CoreAdminHome',
- action: 'generalSettings',
- updated: null
- });
- return Object(external_CoreHome_["translate"])('Slack_NoOauthTokenAdded', ``, '');
- },
- getSlackChannelHelpText() {
- return Object(external_CoreHome_["translate"])('Slack_SlackEnterYourSlackChannelIdHelpText', Object(external_CoreHome_["externalLink"])('https://matomo.org/faq/reports/how-to-integrate-slack-for-scheduled-reports/#step-2-set-up-slack-in-matomo'), '');
- }
- }
-}));
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?vue&type=script&lang=ts
-
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue
-
-
-
-SelectSlackChannelvue_type_script_lang_ts.render = SelectSlackChannelvue_type_template_id_3a73ae18_render
-
-/* harmony default export */ var SelectSlackChannel = (SelectSlackChannelvue_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/Slack/vue/src/ReportParameters/ReportParameters.vue?vue&type=script&lang=ts
-
-
-const REPORT_TYPE = 'slack';
-/* harmony default export */ var ReportParametersvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
- props: {
- report: {
- type: Object,
- required: true
- },
- isSlackOauthTokenAdded: {
- type: Boolean,
- default: false
- },
- defaultFormat: {
- type: String,
- required: true
- },
- defaultDisplayFormat: {
- type: Number,
- required: true
- },
- defaultEvolutionGraph: {
- type: Boolean,
- required: true
- }
- },
- components: {
- SelectSlackChannel: SelectSlackChannel
- },
- emits: ['change'],
- setup(props) {
- const {
- resetReportParametersFunctions,
- updateReportParametersFunctions,
- getReportParametersFunctions
- } = window;
- if (!resetReportParametersFunctions[REPORT_TYPE]) {
- resetReportParametersFunctions[REPORT_TYPE] = report => {
- report.displayFormat = props.defaultDisplayFormat;
- report.evolutionGraph = props.defaultEvolutionGraph;
- report.formatslack = props.defaultFormat;
- report.slackChannelID = '';
- };
- }
- if (!updateReportParametersFunctions[REPORT_TYPE]) {
- updateReportParametersFunctions[REPORT_TYPE] = report => {
- if (!(report !== null && report !== void 0 && report.parameters)) {
- return;
- }
- ['displayFormat', 'evolutionGraph', 'slackChannelID'].forEach(field => {
- if (field in report.parameters) {
- report[field] = report.parameters[field];
- }
- });
- };
- }
- if (!getReportParametersFunctions[REPORT_TYPE]) {
- getReportParametersFunctions[REPORT_TYPE] = report => ({
- displayFormat: report.displayFormat,
- evolutionGraph: report.evolutionGraph,
- slackChannelID: report.slackChannelID
- });
- }
- }
-}));
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?vue&type=script&lang=ts
-
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue
-
-
-
-ReportParametersvue_type_script_lang_ts.render = render
-
-/* harmony default export */ var ReportParameters = (ReportParametersvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./plugins/Slack/vue/src/index.ts
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */
-
-
-// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
-
-
-
-
-/***/ })
-
-/******/ });
-});
-//# sourceMappingURL=Slack.umd.js.map
\ No newline at end of file
diff --git a/vue/dist/Slack.umd.js.map b/vue/dist/Slack.umd.js.map
deleted file mode 100644
index 94c3af4..0000000
--- a/vue/dist/Slack.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack://Slack/webpack/universalModuleDefinition","webpack://Slack/webpack/bootstrap","webpack://Slack/external \"CoreHome\"","webpack://Slack/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://Slack/external \"CorePluginsAdmin\"","webpack://Slack/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?3bdf","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?d10e","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?2e22","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?d296","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?91d4","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?0a5f","webpack://Slack/./plugins/Slack/vue/src/index.ts","webpack://Slack/./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js"],"names":[],"mappings":"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","file":"Slack.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"CoreHome\"), require(\"vue\"), require(\"CorePluginsAdmin\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"CoreHome\", , \"CorePluginsAdmin\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slack\"] = factory(require(\"CoreHome\"), require(\"vue\"), require(\"CorePluginsAdmin\"));\n\telse\n\t\troot[\"Slack\"] = factory(root[\"CoreHome\"], root[\"Vue\"], root[\"CorePluginsAdmin\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"plugins/Slack/vue/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__;","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","\n\n\n \n \n
\n\n\n\n","\n\n\n \n
\n \n \n \n \n \n \n
\n \n \n
\n\n\n\n","\nimport { defineComponent } from 'vue';\nimport { MatomoUrl, translate, externalLink } from 'CoreHome';\nimport { Field } from 'CorePluginsAdmin';\n\nexport default defineComponent({\n props: {\n modelValue: String,\n isSlackOauthTokenAdded: {\n type: Boolean,\n default: false,\n },\n withIntroduction: Boolean,\n },\n emits: ['update:modelValue'],\n components: {\n Field,\n },\n methods: {\n linkTo(params: QueryParameters) {\n return `?${MatomoUrl.stringify({\n ...MatomoUrl.urlParsed.value,\n ...params,\n })}`;\n },\n },\n computed: {\n getSlackOAuthTokenNotAddedHelpText() {\n const link = this.linkTo({ module: 'CoreAdminHome', action: 'generalSettings', updated: null });\n return translate(\n 'Slack_NoOauthTokenAdded',\n ``,\n '',\n );\n },\n getSlackChannelHelpText() {\n return translate(\n 'Slack_SlackEnterYourSlackChannelIdHelpText',\n externalLink('https://matomo.org/faq/reports/how-to-integrate-slack-for-scheduled-reports/#step-2-set-up-slack-in-matomo'),\n '',\n );\n },\n },\n});\n","export { default } from \"-!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??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/index.js??ref--1-1!./SelectSlackChannel.vue?vue&type=script&lang=ts\"; export * from \"-!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??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/index.js??ref--1-1!./SelectSlackChannel.vue?vue&type=script&lang=ts\"","import { render } from \"./SelectSlackChannel.vue?vue&type=template&id=3a73ae18\"\nimport script from \"./SelectSlackChannel.vue?vue&type=script&lang=ts\"\nexport * from \"./SelectSlackChannel.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport { defineComponent } from 'vue';\nimport { Report } from 'ScheduledReports';\nimport SelectSlackChannel from '../SelectSlackChannel/SelectSlackChannel.vue';\n\nconst REPORT_TYPE = 'slack';\n\nexport default defineComponent({\n props: {\n report: {\n type: Object,\n required: true,\n },\n isSlackOauthTokenAdded: {\n type: Boolean,\n default: false,\n },\n defaultFormat: {\n type: String,\n required: true,\n },\n defaultDisplayFormat: {\n type: Number,\n required: true,\n },\n defaultEvolutionGraph: {\n type: Boolean,\n required: true,\n },\n },\n components: {\n SelectSlackChannel,\n },\n emits: ['change'],\n setup(props) {\n const {\n resetReportParametersFunctions,\n updateReportParametersFunctions,\n getReportParametersFunctions,\n } = window;\n\n if (!resetReportParametersFunctions[REPORT_TYPE]) {\n resetReportParametersFunctions[REPORT_TYPE] = (report: Report) => {\n report.displayFormat = props.defaultDisplayFormat;\n report.evolutionGraph = props.defaultEvolutionGraph;\n report.formatslack = props.defaultFormat;\n report.slackChannelID = '';\n };\n }\n\n if (!updateReportParametersFunctions[REPORT_TYPE]) {\n updateReportParametersFunctions[REPORT_TYPE] = (report: Report) => {\n if (!report?.parameters) {\n return;\n }\n\n ['displayFormat', 'evolutionGraph', 'slackChannelID'].forEach((field) => {\n if (field in report.parameters) {\n report[field] = report.parameters[field];\n }\n });\n };\n }\n\n if (!getReportParametersFunctions[REPORT_TYPE]) {\n getReportParametersFunctions[REPORT_TYPE] = (report: Report) => ({\n displayFormat: report.displayFormat,\n evolutionGraph: report.evolutionGraph,\n slackChannelID: report.slackChannelID,\n });\n }\n },\n});\n","export { default } from \"-!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??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/index.js??ref--1-1!./ReportParameters.vue?vue&type=script&lang=ts\"; export * from \"-!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??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/index.js??ref--1-1!./ReportParameters.vue?vue&type=script&lang=ts\"","import { render } from \"./ReportParameters.vue?vue&type=template&id=5f5d6546\"\nimport script from \"./ReportParameters.vue?vue&type=script&lang=ts\"\nexport * from \"./ReportParameters.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","/*!\n * Matomo - free/libre analytics platform\n *\n * @link https://matomo.org\n * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later\n */\n\nexport { default as ReportParameters } from './ReportParameters/ReportParameters.vue';\nexport { default as SelectSlackChannel } from './SelectSlackChannel/SelectSlackChannel.vue';\n","import './setPublicPath'\nexport * from '~entry'\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/vue/dist/Slack.umd.min.js b/vue/dist/Slack.umd.min.js
index 83bd754..a64d177 100644
--- a/vue/dist/Slack.umd.min.js
+++ b/vue/dist/Slack.umd.min.js
@@ -1,8 +1 @@
-(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):"function"===typeof define&&define.amd?define(["CoreHome",,"CorePluginsAdmin"],t):"object"===typeof exports?exports["Slack"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["Slack"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,n){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/Slack/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},a5a2:function(e,t){e.exports=n},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"ReportParameters",(function(){return v})),n.d(t,"SelectSlackChannel",(function(){return h})),"undefined"!==typeof window){var o=window.document.currentScript,r=o&&o.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);r&&(n.p=r[1])}var a=n("8bbf");const l={key:0};function c(e,t,n,o,r,c){var i;const u=Object(a["resolveComponent"])("SelectSlackChannel");return e.report&&"slack"===e.report.type?(Object(a["openBlock"])(),Object(a["createElementBlock"])("div",l,[Object(a["createVNode"])(u,{"is-slack-oauth-token-added":e.isSlackOauthTokenAdded,"with-introduction":!0,"model-value":null===(i=e.report)||void 0===i?void 0:i.slackChannelID,"onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("change","slackChannelID",t))},null,8,["is-slack-oauth-token-added","model-value"])])):Object(a["createCommentVNode"])("",!0)}const i={class:"slack"},u={id:"slackChannelIDHelp",class:"inline-help-node"},d=["innerHTML"],s=["innerHTML"];function p(e,t,n,o,r,l){const c=Object(a["resolveComponent"])("Field");return Object(a["openBlock"])(),Object(a["createElementBlock"])("div",i,[Object(a["createVNode"])(c,{uicontrol:"text",name:"channelID",title:e.translate("Slack_ChannelId"),class:"slack","model-value":e.modelValue,disabled:!e.isSlackOauthTokenAdded,"onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("update:modelValue",t))},{"inline-help":Object(a["withCtx"])(()=>[Object(a["createElementVNode"])("div",u,[e.isSlackOauthTokenAdded?(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",{key:1,innerHTML:e.$sanitize(e.getSlackChannelHelpText)},null,8,s)):(Object(a["openBlock"])(),Object(a["createElementBlock"])("span",{key:0,style:{"margin-right":"3.5px"},innerHTML:e.$sanitize(e.getSlackOAuthTokenNotAddedHelpText)},null,8,d))])]),_:1},8,["title","model-value","disabled"])])}var m=n("19dc"),f=n("a5a2"),k=Object(a["defineComponent"])({props:{modelValue:String,isSlackOauthTokenAdded:{type:Boolean,default:!1},withIntroduction:Boolean},emits:["update:modelValue"],components:{Field:f["Field"]},methods:{linkTo(e){return"?"+m["MatomoUrl"].stringify(Object.assign(Object.assign({},m["MatomoUrl"].urlParsed.value),e))}},computed:{getSlackOAuthTokenNotAddedHelpText(){const e=this.linkTo({module:"CoreAdminHome",action:"generalSettings",updated:null});return Object(m["translate"])("Slack_NoOauthTokenAdded",``,"")},getSlackChannelHelpText(){return Object(m["translate"])("Slack_SlackEnterYourSlackChannelIdHelpText",Object(m["externalLink"])("https://matomo.org/faq/reports/how-to-integrate-slack-for-scheduled-reports/#step-2-set-up-slack-in-matomo"),"")}}});k.render=p;var h=k;const b="slack";var O=Object(a["defineComponent"])({props:{report:{type:Object,required:!0},isSlackOauthTokenAdded:{type:Boolean,default:!1},defaultFormat:{type:String,required:!0},defaultDisplayFormat:{type:Number,required:!0},defaultEvolutionGraph:{type:Boolean,required:!0}},components:{SelectSlackChannel:h},emits:["change"],setup(e){const{resetReportParametersFunctions:t,updateReportParametersFunctions:n,getReportParametersFunctions:o}=window;t[b]||(t[b]=t=>{t.displayFormat=e.defaultDisplayFormat,t.evolutionGraph=e.defaultEvolutionGraph,t.formatslack=e.defaultFormat,t.slackChannelID=""}),n[b]||(n[b]=e=>{null!==e&&void 0!==e&&e.parameters&&["displayFormat","evolutionGraph","slackChannelID"].forEach(t=>{t in e.parameters&&(e[t]=e.parameters[t])})}),o[b]||(o[b]=e=>({displayFormat:e.displayFormat,evolutionGraph:e.evolutionGraph,slackChannelID:e.slackChannelID}))}});O.render=c;var v=O;
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */}})}));
-//# sourceMappingURL=Slack.umd.min.js.map
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("CoreHome"),require("CorePluginsAdmin")):"function"==typeof define&&define.amd?define(["exports","vue","CoreHome","CorePluginsAdmin"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Slack={},e.Vue,e.CoreHome,e.CorePluginsAdmin)}(this,function(e,t,o,n){"use strict";var a=Object.defineProperty,l=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,i=(e,t,o)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,s=(e,t)=>{for(var o in t||(t={}))r.call(t,o)&&i(e,o,t[o]);if(l)for(var o of l(t))d.call(t,o)&&i(e,o,t[o]);return e};const c=t.defineComponent({props:{modelValue:String,isSlackOauthTokenAdded:{type:Boolean,default:!1},withIntroduction:Boolean},emits:["update:modelValue"],components:{Field:n.Field},methods:{linkTo:e=>`?${o.MatomoUrl.stringify(s(s({},o.MatomoUrl.urlParsed.value),e))}`},computed:{getSlackOAuthTokenNotAddedHelpText(){const e=this.linkTo({module:"CoreAdminHome",action:"generalSettings",updated:null});return o.translate("Slack_NoOauthTokenAdded",``,"")},getSlackChannelHelpText:()=>o.translate("Slack_SlackEnterYourSlackChannelIdHelpText",o.externalLink("https://matomo.org/faq/reports/how-to-integrate-slack-for-scheduled-reports/#step-2-set-up-slack-in-matomo"),"")}}),u=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},p={class:"slack"},m={id:"slackChannelIDHelp",class:"inline-help-node"},k=["innerHTML"],h=["innerHTML"];const f=u(c,[["render",function(e,o,n,a,l,r){const d=t.resolveComponent("Field");return t.openBlock(),t.createElementBlock("div",p,[t.createVNode(d,{uicontrol:"text",name:"channelID",title:e.translate("Slack_ChannelId"),class:"slack","model-value":e.modelValue,disabled:!e.isSlackOauthTokenAdded,"onUpdate:modelValue":o[0]||(o[0]=t=>e.$emit("update:modelValue",t))},{"inline-help":t.withCtx(()=>[t.createElementVNode("div",m,[e.isSlackOauthTokenAdded?(t.openBlock(),t.createElementBlock("span",{key:1,innerHTML:e.$sanitize(e.getSlackChannelHelpText)},null,8,h)):(t.openBlock(),t.createElementBlock("span",{key:0,style:{"margin-right":"3.5px"},innerHTML:e.$sanitize(e.getSlackOAuthTokenNotAddedHelpText)},null,8,k))])]),_:1},8,["title","model-value","disabled"])])}]]),y="slack",S=t.defineComponent({props:{report:{type:Object,required:!0},isSlackOauthTokenAdded:{type:Boolean,default:!1},defaultFormat:{type:String,required:!0},defaultDisplayFormat:{type:Number,required:!0},defaultEvolutionGraph:{type:Boolean,required:!0}},components:{SelectSlackChannel:f},emits:["change"],setup(e){const{resetReportParametersFunctions:t,updateReportParametersFunctions:o,getReportParametersFunctions:n}=window;t[y]||(t[y]=t=>{t.displayFormat=e.defaultDisplayFormat,t.evolutionGraph=e.defaultEvolutionGraph,t.formatslack=e.defaultFormat,t.slackChannelID=""}),o[y]||(o[y]=e=>{(null==e?void 0:e.parameters)&&["displayFormat","evolutionGraph","slackChannelID"].forEach(t=>{t in e.parameters&&(e[t]=e.parameters[t])})}),n[y]||(n[y]=e=>({displayFormat:e.displayFormat,evolutionGraph:e.evolutionGraph,slackChannelID:e.slackChannelID}))}}),v={key:0};const C=u(S,[["render",function(e,o,n,a,l,r){var d;const i=t.resolveComponent("SelectSlackChannel");return e.report&&"slack"===e.report.type?(t.openBlock(),t.createElementBlock("div",v,[t.createVNode(i,{"is-slack-oauth-token-added":e.isSlackOauthTokenAdded,"with-introduction":!0,"model-value":null==(d=e.report)?void 0:d.slackChannelID,"onUpdate:modelValue":o[0]||(o[0]=t=>e.$emit("change","slackChannelID",t))},null,8,["is-slack-oauth-token-added","model-value"])])):t.createCommentVNode("",!0)}]]);e.ReportParameters=C,e.SelectSlackChannel=f,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
diff --git a/vue/dist/Slack.umd.min.js.map b/vue/dist/Slack.umd.min.js.map
deleted file mode 100644
index 9fb837d..0000000
--- a/vue/dist/Slack.umd.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack://Slack/webpack/universalModuleDefinition","webpack://Slack/webpack/bootstrap","webpack://Slack/external \"CoreHome\"","webpack://Slack/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://Slack/external \"CorePluginsAdmin\"","webpack://Slack/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?3bdf","webpack://Slack/./plugins/Slack/vue/src/SelectSlackChannel/SelectSlackChannel.vue?2e22","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?d296","webpack://Slack/./plugins/Slack/vue/src/ReportParameters/ReportParameters.vue?0a5f"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__19dc__","__WEBPACK_EXTERNAL_MODULE__8bbf__","__WEBPACK_EXTERNAL_MODULE_a5a2__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","currentScript","document","src","match","report","type","is-slack-oauth-token-added","isSlackOauthTokenAdded","with-introduction","model-value","slackChannelID","$emit","$event","class","id","uicontrol","title","translate","modelValue","disabled","inline-help","$sanitize","getSlackChannelHelpText","style","getSlackOAuthTokenNotAddedHelpText","props","String","Boolean","default","withIntroduction","emits","components","Field","methods","params","stringify","urlParsed","computed","link","linkTo","action","updated","render","REPORT_TYPE","required","defaultFormat","defaultDisplayFormat","Number","defaultEvolutionGraph","SelectSlackChannel","resetReportParametersFunctions","updateReportParametersFunctions","getReportParametersFunctions","displayFormat","evolutionGraph","formatslack","parameters","forEach","field"],"mappings":"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","file":"Slack.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"CoreHome\"), require(\"vue\"), require(\"CorePluginsAdmin\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"CoreHome\", , \"CorePluginsAdmin\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Slack\"] = factory(require(\"CoreHome\"), require(\"vue\"), require(\"CorePluginsAdmin\"));\n\telse\n\t\troot[\"Slack\"] = factory(root[\"CoreHome\"], root[\"Vue\"], root[\"CorePluginsAdmin\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__19dc__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_a5a2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"plugins/Slack/vue/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = __WEBPACK_EXTERNAL_MODULE__19dc__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","module.exports = __WEBPACK_EXTERNAL_MODULE_a5a2__;","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","\n\n\n \n \n
\n\n\n\n","\n\n\n \n
\n \n \n \n \n \n \n
\n \n \n
\n\n\n\n","\nimport { defineComponent } from 'vue';\nimport { MatomoUrl, translate, externalLink } from 'CoreHome';\nimport { Field } from 'CorePluginsAdmin';\n\nexport default defineComponent({\n props: {\n modelValue: String,\n isSlackOauthTokenAdded: {\n type: Boolean,\n default: false,\n },\n withIntroduction: Boolean,\n },\n emits: ['update:modelValue'],\n components: {\n Field,\n },\n methods: {\n linkTo(params: QueryParameters) {\n return `?${MatomoUrl.stringify({\n ...MatomoUrl.urlParsed.value,\n ...params,\n })}`;\n },\n },\n computed: {\n getSlackOAuthTokenNotAddedHelpText() {\n const link = this.linkTo({ module: 'CoreAdminHome', action: 'generalSettings', updated: null });\n return translate(\n 'Slack_NoOauthTokenAdded',\n ``,\n '',\n );\n },\n getSlackChannelHelpText() {\n return translate(\n 'Slack_SlackEnterYourSlackChannelIdHelpText',\n externalLink('https://matomo.org/faq/reports/how-to-integrate-slack-for-scheduled-reports/#step-2-set-up-slack-in-matomo'),\n '',\n );\n },\n },\n});\n","import { render } from \"./SelectSlackChannel.vue?vue&type=template&id=3a73ae18\"\nimport script from \"./SelectSlackChannel.vue?vue&type=script&lang=ts\"\nexport * from \"./SelectSlackChannel.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\nimport { defineComponent } from 'vue';\nimport { Report } from 'ScheduledReports';\nimport SelectSlackChannel from '../SelectSlackChannel/SelectSlackChannel.vue';\n\nconst REPORT_TYPE = 'slack';\n\nexport default defineComponent({\n props: {\n report: {\n type: Object,\n required: true,\n },\n isSlackOauthTokenAdded: {\n type: Boolean,\n default: false,\n },\n defaultFormat: {\n type: String,\n required: true,\n },\n defaultDisplayFormat: {\n type: Number,\n required: true,\n },\n defaultEvolutionGraph: {\n type: Boolean,\n required: true,\n },\n },\n components: {\n SelectSlackChannel,\n },\n emits: ['change'],\n setup(props) {\n const {\n resetReportParametersFunctions,\n updateReportParametersFunctions,\n getReportParametersFunctions,\n } = window;\n\n if (!resetReportParametersFunctions[REPORT_TYPE]) {\n resetReportParametersFunctions[REPORT_TYPE] = (report: Report) => {\n report.displayFormat = props.defaultDisplayFormat;\n report.evolutionGraph = props.defaultEvolutionGraph;\n report.formatslack = props.defaultFormat;\n report.slackChannelID = '';\n };\n }\n\n if (!updateReportParametersFunctions[REPORT_TYPE]) {\n updateReportParametersFunctions[REPORT_TYPE] = (report: Report) => {\n if (!report?.parameters) {\n return;\n }\n\n ['displayFormat', 'evolutionGraph', 'slackChannelID'].forEach((field) => {\n if (field in report.parameters) {\n report[field] = report.parameters[field];\n }\n });\n };\n }\n\n if (!getReportParametersFunctions[REPORT_TYPE]) {\n getReportParametersFunctions[REPORT_TYPE] = (report: Report) => ({\n displayFormat: report.displayFormat,\n evolutionGraph: report.evolutionGraph,\n slackChannelID: report.slackChannelID,\n });\n }\n },\n});\n","import { render } from \"./ReportParameters.vue?vue&type=template&id=5f5d6546\"\nimport script from \"./ReportParameters.vue?vue&type=script&lang=ts\"\nexport * from \"./ReportParameters.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/vue/dist/umd.metadata.json b/vue/dist/umd.metadata.json
index b0a1ba0..662eca6 100644
--- a/vue/dist/umd.metadata.json
+++ b/vue/dist/umd.metadata.json
@@ -1,7 +1,6 @@
{
"dependsOn": [
"CoreHome",
- "CorePluginsAdmin",
- "ScheduledReports"
+ "CorePluginsAdmin"
]
-}
\ No newline at end of file
+}