diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Widgetize/Widgetize.php | 9 | ||||
-rw-r--r-- | plugins/Widgetize/lang/en.json | 10 | ||||
-rw-r--r-- | plugins/Widgetize/vue/dist/Widgetize.umd.js | 148 | ||||
-rw-r--r-- | plugins/Widgetize/vue/dist/Widgetize.umd.min.js | 2 | ||||
-rw-r--r-- | plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue | 104 | ||||
-rw-r--r-- | plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue | 10 |
6 files changed, 145 insertions, 138 deletions
diff --git a/plugins/Widgetize/Widgetize.php b/plugins/Widgetize/Widgetize.php index 6cec8acb83..c7bb2b5969 100644 --- a/plugins/Widgetize/Widgetize.php +++ b/plugins/Widgetize/Widgetize.php @@ -45,5 +45,14 @@ class Widgetize extends \Piwik\Plugin { $translations[] = 'Widgetize_OpenInNewWindow'; $translations[] = 'Dashboard_LoadingWidget'; + $translations[] = 'Widgetize_TooHighAccessLevel'; + $translations[] = 'Widgetize_SelectAReport'; + $translations[] = 'Widgetize_Reports'; + $translations[] = 'Widgetize_Intro'; + $translations[] = 'Widgetize_DisplayDashboardInIframe'; + $translations[] = 'Widgetize_DisplayDashboardInIframeAllSites'; + $translations[] = 'Widgetize_ViewableAnonymously'; + $translations[] = 'Widgetize_EmbedIframe'; + $translations[] = 'Widgetize_DirectLink'; } } diff --git a/plugins/Widgetize/lang/en.json b/plugins/Widgetize/lang/en.json index 9adfbcefc7..01bd2b8e4e 100644 --- a/plugins/Widgetize/lang/en.json +++ b/plugins/Widgetize/lang/en.json @@ -4,6 +4,14 @@ "PluginDescription": "Display any Matomo report in your website or app with a simple \"embed\" HTML tag.", "ViewAccessRequired": "This user has at least some write access. Only tokens of users who have only view access can be used. Check %1$s for more info.", "TopLinkTooltip": "Export Matomo reports as widgets and embed the dashboard in your app as an iframe.", - "TooHighAccessLevel": "This user has super-user access. Embedding widgets with super-user token authentication is not allowed. %1$sCheck the FAQ for more info.%2$s" + "TooHighAccessLevel": "This user has super-user access. Embedding widgets with super-user token authentication is not allowed. %1$sCheck the FAQ for more info.%2$s", + "SelectAReport": "Select a report, and copy paste in your page the embed code below the widget:", + "Reports": "Widgetize reports", + "Intro": "With Matomo, you can %1$sexport your Web Analytics reports%2$s on your blog, website, or intranet dashboard… in one click.", + "DisplayDashboardInIframe": "You can also display the full Matomo dashboard in your application or website in an IFRAME (%1$ssee example%2$s). The date parameter can be set to a specific calendar date, \"today\", or \"yesterday\". The period parameter can be set to \"day\", \"week\", \"month\", or\n \"year\". The language parameter can be set to the language code of a translation, such as language=fr. For example, for idSite=1 and date=yesterday, you can write:", + "DisplayDashboardInIframeAllSites": "You can also widgetize the all websites dashboard in an IFRAME (%1$ssee example%2$s)", + "ViewableAnonymously": "If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions to the anonymous user in the %1$sUsers Management section%2$s. <br />Alternatively, if you are publishing widgets on a password protected or private page, you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret <code>token_auth</code> parameter in the widget URL. You can manage your auth tokens on your %3$sSecurity page%4$s.", + "EmbedIframe": "› Embed Iframe", + "DirectLink": "› Direct Link" } } diff --git a/plugins/Widgetize/vue/dist/Widgetize.umd.js b/plugins/Widgetize/vue/dist/Widgetize.umd.js index 57bfa210f6..c994b13ef9 100644 --- a/plugins/Widgetize/vue/dist/Widgetize.umd.js +++ b/plugins/Widgetize/vue/dist/Widgetize.umd.js @@ -141,16 +141,12 @@ if (typeof window !== 'undefined') { // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue?vue&type=template&id=c3436116 +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue?vue&type=template&id=83407632 var _hoisted_1 = { id: "embedThisWidgetIframe" }; - -var _hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", { - for: "embedThisWidgetIframeInput" -}, "› Embed Iframe", -1); - +var _hoisted_2 = ["innerHTML"]; var _hoisted_3 = { id: "embedThisWidgetIframeInput" }; @@ -158,11 +154,7 @@ var _hoisted_4 = { readonly: "true", id: "iframeEmbed" }; - -var _hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", { - for: "embedThisWidgetDirectLink" -}, "› Direct Link", -1); - +var _hoisted_5 = ["innerHTML"]; var _hoisted_6 = { id: "embedThisWidgetDirectLink" }; @@ -177,13 +169,19 @@ var _hoisted_9 = ["href"]; function render(_ctx, _cache, $props, $setup, $data, $options) { var _directive_select_on_focus = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("select-on-focus"); - 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, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_1, [_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.widgetIframeHtml), 1)], 512), [[_directive_select_on_focus, {}]])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", _hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.urlIframe), 1)], 512), [[_directive_select_on_focus, {}]]), _hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { + 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, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", { + for: "embedThisWidgetIframeInput", + innerHTML: _ctx.$sanitize(_ctx.translate('Widgetize_EmbedIframe')) + }, null, 8, _hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", _hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.widgetIframeHtml), 1)], 512), [[_directive_select_on_focus, {}]])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", { + for: "embedThisWidgetDirectLink", + innerHTML: _ctx.$sanitize(_ctx.translate('Widgetize_DirectLink')) + }, null, 8, _hoisted_5), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", _hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.urlIframe), 1)], 512), [[_directive_select_on_focus, {}]]), _hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { href: _ctx.urlIframe, rel: "noreferrer noopener", target: "_blank" }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Widgetize_OpenInNewWindow')), 9, _hoisted_9)])])], 64); } -// CONCATENATED MODULE: ./plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue?vue&type=template&id=c3436116 +// CONCATENATED MODULE: ./plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue?vue&type=template&id=83407632 // EXTERNAL MODULE: external "CoreHome" var external_CoreHome_ = __webpack_require__("19dc"); @@ -292,69 +290,32 @@ var _window = window, WidgetPreviewvue_type_script_lang_ts.render = WidgetPreviewvue_type_template_id_73d2ef45_render /* harmony default export */ var WidgetPreview = (WidgetPreviewvue_type_script_lang_ts); -// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue?vue&type=template&id=6a596dc6 +// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue?vue&type=template&id=394de794 -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_1 = { +var ExportWidgetvue_type_template_id_394de794_hoisted_1 = { class: "widgetize" }; +var ExportWidgetvue_type_template_id_394de794_hoisted_2 = ["innerHTML"]; +var ExportWidgetvue_type_template_id_394de794_hoisted_3 = ["innerHTML"]; +var ExportWidgetvue_type_template_id_394de794_hoisted_4 = ["innerHTML"]; -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [/*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])("With Matomo, you can "), /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - rel: "noreferrer noopener", - target: "_blank", - href: "https://matomo.org/docs/embed-piwik-report/" -}, "export your Web Analytics reports"), /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" on your blog, website, or intranet dashboard... in one click.")], -1); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_3 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions to the anonymous user in the "); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_4 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - href: "index.php?module=UsersManager", - rel: "noreferrer noopener", - target: "_blank" -}, "Users Management section", -1); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(". "); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_6 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_7 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])("Alternatively, if you are publishing widgets on a password protected or private page, you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret "); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_8 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("code", null, "token_auth", -1); - -var ExportWidgetvue_type_template_id_6a596dc6_hoisted_9 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" parameter in the widget URL. You can manage your auth tokens on your "); - -var _hoisted_10 = ["href"]; +var ExportWidgetvue_type_template_id_394de794_hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_11 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(". "); +var ExportWidgetvue_type_template_id_394de794_hoisted_6 = ["textContent"]; -var _hoisted_12 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" You can also display the full Matomo dashboard in your application or website in an IFRAME ("); +var ExportWidgetvue_type_template_id_394de794_hoisted_7 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_13 = ["href"]; +var ExportWidgetvue_type_template_id_394de794_hoisted_8 = ["innerHTML"]; -var _hoisted_14 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])("). The date parameter can be set to a specific calendar date, \"today\", or \"yesterday\". The period parameter can be set to \"day\", \"week\", \"month\", or \"year\". The language parameter can be set to the language code of a translation, such as language=fr. For example, for idSite=1 and date=yesterday, you can write: "); +var ExportWidgetvue_type_template_id_394de794_hoisted_9 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_15 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var _hoisted_10 = ["textContent"]; -var _hoisted_16 = ["textContent"]; - -var _hoisted_17 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_18 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" You can also widgetize the all websites dashboard in an IFRAME ("); - -var _hoisted_19 = ["href"]; - -var _hoisted_20 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(") "); - -var _hoisted_21 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_22 = ["textContent"]; - -var _hoisted_23 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, "Select a report, and copy paste in your page the embed code below the widget:", -1); - -var _hoisted_24 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", { +var _hoisted_11 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", { class: "clearfix" }, null, -1); -function ExportWidgetvue_type_template_id_6a596dc6_render(_ctx, _cache, $props, $setup, $data, $options) { +function ExportWidgetvue_type_template_id_394de794_render(_ctx, _cache, $props, $setup, $data, $options) { var _component_EnrichedHeadline = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("EnrichedHeadline"); var _component_ContentBlock = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ContentBlock"); @@ -365,55 +326,47 @@ function ExportWidgetvue_type_template_id_6a596dc6_render(_ctx, _cache, $props, var _directive_select_on_focus = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("select-on-focus"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", ExportWidgetvue_type_template_id_6a596dc6_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, null, { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", ExportWidgetvue_type_template_id_394de794_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_EnrichedHeadline, null, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.title), 1)]; }), _: 1 - })]), ExportWidgetvue_type_template_id_6a596dc6_hoisted_2], 512), [[_directive_content_intro]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { + })]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", { + innerHTML: _ctx.$sanitize(_ctx.intro) + }, null, 8, ExportWidgetvue_type_template_id_394de794_hoisted_2)], 512), [[_directive_content_intro]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { "content-title": "Authentication" }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [ExportWidgetvue_type_template_id_6a596dc6_hoisted_3, ExportWidgetvue_type_template_id_6a596dc6_hoisted_4, ExportWidgetvue_type_template_id_6a596dc6_hoisted_5, ExportWidgetvue_type_template_id_6a596dc6_hoisted_6, ExportWidgetvue_type_template_id_6a596dc6_hoisted_7, ExportWidgetvue_type_template_id_6a596dc6_hoisted_8, ExportWidgetvue_type_template_id_6a596dc6_hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - rel: "noreferrer noopener", - target: "_blank", - href: _ctx.linkTo({ - 'module': 'UsersManager', - 'action': 'userSecurity' - }) - }, "Security page", 8, _hoisted_10), _hoisted_11])]; + return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", { + innerHTML: _ctx.$sanitize(_ctx.viewableAnonymously) + }, null, 8, ExportWidgetvue_type_template_id_394de794_hoisted_3)]; }), _: 1 }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { "content-title": "Widgetize dashboards" }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [_hoisted_12, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - rel: "noreferrer noopener", - target: "_blank", - href: _ctx.dashboardUrl - }, "see example", 8, _hoisted_13), _hoisted_14, _hoisted_15]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", { + return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + innerHTML: _ctx.$sanitize(_ctx.displayInIframe) + }, null, 8, ExportWidgetvue_type_template_id_394de794_hoisted_4), ExportWidgetvue_type_template_id_394de794_hoisted_5]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", { textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.dashboardCode) - }, null, 8, _hoisted_16), [[_directive_select_on_focus, {}]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [_hoisted_17, _hoisted_18, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { - rel: "noreferrer noopener", - target: "_blank", - id: "linkAllWebsitesDashboardUrl", - href: _ctx.allWebsitesDashboardUrl - }, "see example", 8, _hoisted_19), _hoisted_20, _hoisted_21]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", { + }, null, 8, ExportWidgetvue_type_template_id_394de794_hoisted_6), [[_directive_select_on_focus, {}]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, [ExportWidgetvue_type_template_id_394de794_hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + innerHTML: _ctx.$sanitize(_ctx.displayInIframeAllSites) + }, null, 8, ExportWidgetvue_type_template_id_394de794_hoisted_8), ExportWidgetvue_type_template_id_394de794_hoisted_9]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("pre", { textContent: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.allWebsitesDashboardCode) - }, null, 8, _hoisted_22), [[_directive_select_on_focus, {}]])])]; + }, null, 8, _hoisted_10), [[_directive_select_on_focus, {}]])])]; }), _: 1 }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { - "content-title": "Widgetize reports" + "content-title": _ctx.translate('Widgetize_Reports') }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [_hoisted_23, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_WidgetPreview)]), _hoisted_24])]; + return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("p", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Widgetize_SelectAReport')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_WidgetPreview)]), _hoisted_11])]; }), _: 1 - })]); + }, 8, ["content-title"])]); } -// CONCATENATED MODULE: ./plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue?vue&type=template&id=6a596dc6 +// CONCATENATED MODULE: ./plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue?vue&type=template&id=394de794 // CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue?vue&type=script&lang=ts @@ -472,6 +425,21 @@ function getIframeCode(iframeUrl) { }, allWebsitesDashboardCode: function allWebsitesDashboardCode() { return getIframeCode(this.allWebsitesDashboardUrl); + }, + intro: function intro() { + return Object(external_CoreHome_["translate"])('Widgetize_Intro', "<a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n href=\"https://matomo.org/docs/embed-piwik-report/\"\n >", '</a>'); + }, + viewableAnonymously: function viewableAnonymously() { + return Object(external_CoreHome_["translate"])('Widgetize_ViewableAnonymously', "<a\n href=\"index.php?module=UsersManager\"\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n >", '</a>', "<a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n href=\"".concat(this.linkTo({ + module: 'UsersManager', + action: 'userSecurity' + }), "\"\n >"), '</a>'); + }, + displayInIframe: function displayInIframe() { + return Object(external_CoreHome_["translate"])('Widgetize_DisplayDashboardInIframe', "<a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n href=\"".concat(this.dashboardUrl, "\"\n >"), '</a>'); + }, + displayInIframeAllSites: function displayInIframeAllSites() { + return Object(external_CoreHome_["translate"])('Widgetize_DisplayDashboardInIframeAllSites', "<a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n id=\"linkAllWebsitesDashboardUrl\"\n href=\"".concat(this.allWebsitesDashboardUrl, "\"\n >"), '</a>'); } }, methods: { @@ -488,7 +456,7 @@ function getIframeCode(iframeUrl) { -ExportWidgetvue_type_script_lang_ts.render = ExportWidgetvue_type_template_id_6a596dc6_render +ExportWidgetvue_type_script_lang_ts.render = ExportWidgetvue_type_template_id_394de794_render /* harmony default export */ var ExportWidget = (ExportWidgetvue_type_script_lang_ts); // CONCATENATED MODULE: ./plugins/Widgetize/vue/src/index.ts diff --git a/plugins/Widgetize/vue/dist/Widgetize.umd.min.js b/plugins/Widgetize/vue/dist/Widgetize.umd.min.js index d6b95c9b20..597e06bc60 100644 --- a/plugins/Widgetize/vue/dist/Widgetize.umd.min.js +++ b/plugins/Widgetize/vue/dist/Widgetize.umd.min.js @@ -1,4 +1,4 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["Widgetize"]=t(require("CoreHome"),require("vue")):e["Widgetize"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="plugins/Widgetize/vue/dist/",r(r.s="fae3")}({"19dc":function(t,r){t.exports=e},"8bbf":function(e,r){e.exports=t},fae3:function(e,t,r){"use strict";if(r.r(t),r.d(t,"WidgetPreviewIframe",(function(){return h})),r.d(t,"WidgetPreview",(function(){return E})),r.d(t,"ExportWidget",(function(){return Z})),"undefined"!==typeof window){var o=window.document.currentScript,n=o&&o.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);n&&(r.p=n[1])}var i=r("8bbf"),a={id:"embedThisWidgetIframe"},c=Object(i["createElementVNode"])("label",{for:"embedThisWidgetIframeInput"},"› Embed Iframe",-1),d={id:"embedThisWidgetIframeInput"},l={readonly:"true",id:"iframeEmbed"},u=Object(i["createElementVNode"])("label",{for:"embedThisWidgetDirectLink"},"› Direct Link",-1),s={id:"embedThisWidgetDirectLink"},b={readonly:"true",id:"directLinkEmbed"},m=Object(i["createTextVNode"])(" - "),f=["href"];function p(e,t,r,o,n,p){var g=Object(i["resolveDirective"])("select-on-focus");return Object(i["openBlock"])(),Object(i["createElementBlock"])(i["Fragment"],null,[Object(i["createElementVNode"])("div",a,[c,Object(i["createElementVNode"])("div",d,[Object(i["withDirectives"])(Object(i["createElementVNode"])("pre",l,[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.widgetIframeHtml),1)],512),[[g,{}]])])]),Object(i["createElementVNode"])("div",null,[u,Object(i["createElementVNode"])("div",s,[Object(i["withDirectives"])(Object(i["createElementVNode"])("pre",b,[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.urlIframe),1)],512),[[g,{}]]),m,Object(i["createElementVNode"])("a",{href:e.urlIframe,rel:"noreferrer noopener",target:"_blank"},Object(i["toDisplayString"])(e.translate("Widgetize_OpenInNewWindow")),9,f)])])],64)}var g=r("19dc"),O=Object(i["defineComponent"])({props:{urlIframe:{type:String,required:!0},widgetIframeHtml:{type:String,required:!0}},inheritAttrs:!1,directives:{SelectOnFocus:g["SelectOnFocus"]}});O.render=p;var h=O,j={ref:"root"};function y(e,t,r,o,n,a){return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",j,null,512)}var v=window,w=v.$,N=v.widgetsHelper,V=Object(i["defineComponent"])({mounted:function(){var e=this,t=this.$refs.root;w(t).widgetPreview({onPreviewLoaded:function(t,r){e.callbackAddExportButtonsUnderWidget(t,r)}})},methods:{callbackAddExportButtonsUnderWidget:function(e,t){var r=this;N.getWidgetObjectFromUniqueId(e,(function(e){var o=e.parameters,n=w('<div id="exportButtons">'),i=r.getEmbedUrl(o,"iframe"),a='<div id="widgetIframe"><iframe width="100%" height="350" '+'src="'.concat(i,'" scrolling="yes" frameborder="0" marginheight="0" marginwidth="0">')+"</iframe></div>",c=w("<div>").attr("vue-entry","Widgetize.WidgetPreviewIframe").attr("widget-iframe-html",JSON.stringify(a)).attr("url-iframe",JSON.stringify(i));w(n).append(c),w(t).parent().append(n),g["Matomo"].helper.compileVueEntryComponents(n)}))},getEmbedUrl:function(e,t){var r=Object.assign(Object.assign({},e),{},{moduleToWidgetize:e.module,actionToWidgetize:e.action,module:"Widgetize",action:t,idSite:g["Matomo"].idSite,period:g["Matomo"].period,date:g["MatomoUrl"].urlParsed.value.date,disableLink:1,widget:1}),o=window.location,n=o.protocol,i=o.hostname,a=""===window.location.port?"":":".concat(window.location.port),c=window.location.pathname,d=g["MatomoUrl"].stringify(r);return"".concat(n,"//").concat(i).concat(a).concat(c,"?").concat(d)}}});V.render=y;var E=V,x={class:"widgetize"},W=Object(i["createElementVNode"])("p",null,[Object(i["createTextVNode"])("With Matomo, you can "),Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:"https://matomo.org/docs/embed-piwik-report/"},"export your Web Analytics reports"),Object(i["createTextVNode"])(" on your blog, website, or intranet dashboard... in one click.")],-1),T=Object(i["createTextVNode"])(" If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions to the anonymous user in the "),k=Object(i["createElementVNode"])("a",{href:"index.php?module=UsersManager",rel:"noreferrer noopener",target:"_blank"},"Users Management section",-1),S=Object(i["createTextVNode"])(". "),C=Object(i["createElementVNode"])("br",null,null,-1),D=Object(i["createTextVNode"])("Alternatively, if you are publishing widgets on a password protected or private page, you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret "),M=Object(i["createElementVNode"])("code",null,"token_auth",-1),I=Object(i["createTextVNode"])(" parameter in the widget URL. You can manage your auth tokens on your "),U=["href"],z=Object(i["createTextVNode"])(". "),_=Object(i["createTextVNode"])(" You can also display the full Matomo dashboard in your application or website in an IFRAME ("),P=["href"],B=Object(i["createTextVNode"])('). The date parameter can be set to a specific calendar date, "today", or "yesterday". The period parameter can be set to "day", "week", "month", or "year". The language parameter can be set to the language code of a translation, such as language=fr. For example, for idSite=1 and date=yesterday, you can write: '),H=Object(i["createElementVNode"])("br",null,null,-1),q=["textContent"],A=Object(i["createElementVNode"])("br",null,null,-1),F=Object(i["createTextVNode"])(" You can also widgetize the all websites dashboard in an IFRAME ("),L=["href"],R=Object(i["createTextVNode"])(") "),Y=Object(i["createElementVNode"])("br",null,null,-1),$=["textContent"],J=Object(i["createElementVNode"])("p",null,"Select a report, and copy paste in your page the embed code below the widget:",-1),G=Object(i["createElementVNode"])("br",{class:"clearfix"},null,-1);function K(e,t,r,o,n,a){var c=Object(i["resolveComponent"])("EnrichedHeadline"),d=Object(i["resolveComponent"])("ContentBlock"),l=Object(i["resolveComponent"])("WidgetPreview"),u=Object(i["resolveDirective"])("content-intro"),s=Object(i["resolveDirective"])("select-on-focus");return Object(i["openBlock"])(),Object(i["createElementBlock"])("div",x,[Object(i["withDirectives"])(Object(i["createElementVNode"])("div",null,[Object(i["createElementVNode"])("h2",null,[Object(i["createVNode"])(c,null,{default:Object(i["withCtx"])((function(){return[Object(i["createTextVNode"])(Object(i["toDisplayString"])(e.title),1)]})),_:1})]),W],512),[[u]]),Object(i["createVNode"])(d,{"content-title":"Authentication"},{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("p",null,[T,k,S,C,D,M,I,Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.linkTo({module:"UsersManager",action:"userSecurity"})},"Security page",8,U),z])]})),_:1}),Object(i["createVNode"])(d,{"content-title":"Widgetize dashboards"},{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("div",null,[Object(i["createElementVNode"])("p",null,[_,Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",href:e.dashboardUrl},"see example",8,P),B,H]),Object(i["withDirectives"])(Object(i["createElementVNode"])("pre",{textContent:Object(i["toDisplayString"])(e.dashboardCode)},null,8,q),[[s,{}]]),Object(i["createElementVNode"])("p",null,[A,F,Object(i["createElementVNode"])("a",{rel:"noreferrer noopener",target:"_blank",id:"linkAllWebsitesDashboardUrl",href:e.allWebsitesDashboardUrl},"see example",8,L),R,Y]),Object(i["withDirectives"])(Object(i["createElementVNode"])("pre",{textContent:Object(i["toDisplayString"])(e.allWebsitesDashboardCode)},null,8,$),[[s,{}]])])]})),_:1}),Object(i["createVNode"])(d,{"content-title":"Widgetize reports"},{default:Object(i["withCtx"])((function(){return[Object(i["createElementVNode"])("div",null,[J,Object(i["createElementVNode"])("div",null,[Object(i["createVNode"])(l)]),G])]})),_:1})])}function Q(e){var t=e.replace(/"/g,""");return'<iframe src="'.concat(t,'" frameborder="0" marginheight="0" marginwidth="0" width="100%" ')+'height="100%"></iframe>'}var X=Object(i["defineComponent"])({props:{title:{type:String,required:!0}},components:{EnrichedHeadline:g["EnrichedHeadline"],ContentBlock:g["ContentBlock"],WidgetPreview:E},directives:{ContentIntro:g["ContentIntro"],SelectOnFocus:g["SelectOnFocus"]},data:function(){var e=""===window.location.port?"":":".concat(window.location.port),t=window.location.pathname,r="".concat(window.location.protocol,"//").concat(window.location.hostname).concat(e).concat(t);return{dashboardUrl:"".concat(r,"?").concat(g["MatomoUrl"].stringify({module:"Widgetize",action:"iframe",moduleToWidgetize:"Dashboard",actionToWidgetize:"index",idSite:g["Matomo"].idSite,period:"week",date:"yesterday"})),allWebsitesDashboardUrl:"".concat(r,"?").concat(g["MatomoUrl"].stringify({module:"Widgetize",action:"iframe",moduleToWidgetize:"MultiSites",actionToWidgetize:"standalone",idSite:g["Matomo"].idSite,period:"week",date:"yesterday"}))}},computed:{dashboardCode:function(){return Q(this.dashboardUrl)},allWebsitesDashboardCode:function(){return Q(this.allWebsitesDashboardUrl)}},methods:{linkTo:function(e){return"?".concat(g["MatomoUrl"].stringify(Object.assign(Object.assign({},g["MatomoUrl"].urlParsed.value),{},{params:e})))}}});X.render=K;var Z=X; +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["Widgetize"]=t(require("CoreHome"),require("vue")):e["Widgetize"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/Widgetize/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"WidgetPreviewIframe",(function(){return j})),n.d(t,"WidgetPreview",(function(){return N})),n.d(t,"ExportWidget",(function(){return P})),"undefined"!==typeof window){var r=window.document.currentScript,i=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);i&&(n.p=i[1])}var o=n("8bbf"),a={id:"embedThisWidgetIframe"},c=["innerHTML"],l={id:"embedThisWidgetIframeInput"},d={readonly:"true",id:"iframeEmbed"},u=["innerHTML"],s={id:"embedThisWidgetDirectLink"},b={readonly:"true",id:"directLinkEmbed"},m=Object(o["createTextVNode"])(" - "),f=["href"];function p(e,t,n,r,i,p){var g=Object(o["resolveDirective"])("select-on-focus");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("div",a,[Object(o["createElementVNode"])("label",{for:"embedThisWidgetIframeInput",innerHTML:e.$sanitize(e.translate("Widgetize_EmbedIframe"))},null,8,c),Object(o["createElementVNode"])("div",l,[Object(o["withDirectives"])(Object(o["createElementVNode"])("pre",d,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.widgetIframeHtml),1)],512),[[g,{}]])])]),Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("label",{for:"embedThisWidgetDirectLink",innerHTML:e.$sanitize(e.translate("Widgetize_DirectLink"))},null,8,u),Object(o["createElementVNode"])("div",s,[Object(o["withDirectives"])(Object(o["createElementVNode"])("pre",b,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.urlIframe),1)],512),[[g,{}]]),m,Object(o["createElementVNode"])("a",{href:e.urlIframe,rel:"noreferrer noopener",target:"_blank"},Object(o["toDisplayString"])(e.translate("Widgetize_OpenInNewWindow")),9,f)])])],64)}var g=n("19dc"),O=Object(o["defineComponent"])({props:{urlIframe:{type:String,required:!0},widgetIframeHtml:{type:String,required:!0}},inheritAttrs:!1,directives:{SelectOnFocus:g["SelectOnFocus"]}});O.render=p;var j=O,h={ref:"root"};function v(e,t,n,r,i,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",h,null,512)}var w=window,y=w.$,W=w.widgetsHelper,E=Object(o["defineComponent"])({mounted:function(){var e=this,t=this.$refs.root;y(t).widgetPreview({onPreviewLoaded:function(t,n){e.callbackAddExportButtonsUnderWidget(t,n)}})},methods:{callbackAddExportButtonsUnderWidget:function(e,t){var n=this;W.getWidgetObjectFromUniqueId(e,(function(e){var r=e.parameters,i=y('<div id="exportButtons">'),o=n.getEmbedUrl(r,"iframe"),a='<div id="widgetIframe"><iframe width="100%" height="350" '+'src="'.concat(o,'" scrolling="yes" frameborder="0" marginheight="0" marginwidth="0">')+"</iframe></div>",c=y("<div>").attr("vue-entry","Widgetize.WidgetPreviewIframe").attr("widget-iframe-html",JSON.stringify(a)).attr("url-iframe",JSON.stringify(o));y(i).append(c),y(t).parent().append(i),g["Matomo"].helper.compileVueEntryComponents(i)}))},getEmbedUrl:function(e,t){var n=Object.assign(Object.assign({},e),{},{moduleToWidgetize:e.module,actionToWidgetize:e.action,module:"Widgetize",action:t,idSite:g["Matomo"].idSite,period:g["Matomo"].period,date:g["MatomoUrl"].urlParsed.value.date,disableLink:1,widget:1}),r=window.location,i=r.protocol,o=r.hostname,a=""===window.location.port?"":":".concat(window.location.port),c=window.location.pathname,l=g["MatomoUrl"].stringify(n);return"".concat(i,"//").concat(o).concat(a).concat(c,"?").concat(l)}}});E.render=v;var N=E,V={class:"widgetize"},S=["innerHTML"],I=["innerHTML"],T=["innerHTML"],x=Object(o["createElementVNode"])("br",null,null,-1),z=["textContent"],M=Object(o["createElementVNode"])("br",null,null,-1),D=["innerHTML"],k=Object(o["createElementVNode"])("br",null,null,-1),C=["textContent"],_=Object(o["createElementVNode"])("br",{class:"clearfix"},null,-1);function H(e,t,n,r,i,a){var c=Object(o["resolveComponent"])("EnrichedHeadline"),l=Object(o["resolveComponent"])("ContentBlock"),d=Object(o["resolveComponent"])("WidgetPreview"),u=Object(o["resolveDirective"])("content-intro"),s=Object(o["resolveDirective"])("select-on-focus");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",V,[Object(o["withDirectives"])(Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("h2",null,[Object(o["createVNode"])(c,null,{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.title),1)]})),_:1})]),Object(o["createElementVNode"])("p",{innerHTML:e.$sanitize(e.intro)},null,8,S)],512),[[u]]),Object(o["createVNode"])(l,{"content-title":"Authentication"},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("p",{innerHTML:e.$sanitize(e.viewableAnonymously)},null,8,I)]})),_:1}),Object(o["createVNode"])(l,{"content-title":"Widgetize dashboards"},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("p",null,[Object(o["createElementVNode"])("span",{innerHTML:e.$sanitize(e.displayInIframe)},null,8,T),x]),Object(o["withDirectives"])(Object(o["createElementVNode"])("pre",{textContent:Object(o["toDisplayString"])(e.dashboardCode)},null,8,z),[[s,{}]]),Object(o["createElementVNode"])("p",null,[M,Object(o["createElementVNode"])("span",{innerHTML:e.$sanitize(e.displayInIframeAllSites)},null,8,D),k]),Object(o["withDirectives"])(Object(o["createElementVNode"])("pre",{textContent:Object(o["toDisplayString"])(e.allWebsitesDashboardCode)},null,8,C),[[s,{}]])])]})),_:1}),Object(o["createVNode"])(l,{"content-title":e.translate("Widgetize_Reports")},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("div",null,[Object(o["createElementVNode"])("p",null,Object(o["toDisplayString"])(e.translate("Widgetize_SelectAReport")),1),Object(o["createElementVNode"])("div",null,[Object(o["createVNode"])(d)]),_])]})),_:1},8,["content-title"])])}function U(e){var t=e.replace(/"/g,""");return'<iframe src="'.concat(t,'" frameborder="0" marginheight="0" marginwidth="0" width="100%" ')+'height="100%"></iframe>'}var L=Object(o["defineComponent"])({props:{title:{type:String,required:!0}},components:{EnrichedHeadline:g["EnrichedHeadline"],ContentBlock:g["ContentBlock"],WidgetPreview:N},directives:{ContentIntro:g["ContentIntro"],SelectOnFocus:g["SelectOnFocus"]},data:function(){var e=""===window.location.port?"":":".concat(window.location.port),t=window.location.pathname,n="".concat(window.location.protocol,"//").concat(window.location.hostname).concat(e).concat(t);return{dashboardUrl:"".concat(n,"?").concat(g["MatomoUrl"].stringify({module:"Widgetize",action:"iframe",moduleToWidgetize:"Dashboard",actionToWidgetize:"index",idSite:g["Matomo"].idSite,period:"week",date:"yesterday"})),allWebsitesDashboardUrl:"".concat(n,"?").concat(g["MatomoUrl"].stringify({module:"Widgetize",action:"iframe",moduleToWidgetize:"MultiSites",actionToWidgetize:"standalone",idSite:g["Matomo"].idSite,period:"week",date:"yesterday"}))}},computed:{dashboardCode:function(){return U(this.dashboardUrl)},allWebsitesDashboardCode:function(){return U(this.allWebsitesDashboardUrl)},intro:function(){return Object(g["translate"])("Widgetize_Intro",'<a\n rel="noreferrer noopener"\n target="_blank"\n href="https://matomo.org/docs/embed-piwik-report/"\n >',"</a>")},viewableAnonymously:function(){return Object(g["translate"])("Widgetize_ViewableAnonymously",'<a\n href="index.php?module=UsersManager"\n rel="noreferrer noopener"\n target="_blank"\n >',"</a>",'<a\n rel="noreferrer noopener"\n target="_blank"\n href="'.concat(this.linkTo({module:"UsersManager",action:"userSecurity"}),'"\n >'),"</a>")},displayInIframe:function(){return Object(g["translate"])("Widgetize_DisplayDashboardInIframe",'<a\n rel="noreferrer noopener"\n target="_blank"\n href="'.concat(this.dashboardUrl,'"\n >'),"</a>")},displayInIframeAllSites:function(){return Object(g["translate"])("Widgetize_DisplayDashboardInIframeAllSites",'<a\n rel="noreferrer noopener"\n target="_blank"\n id="linkAllWebsitesDashboardUrl"\n href="'.concat(this.allWebsitesDashboardUrl,'"\n >'),"</a>")}},methods:{linkTo:function(e){return"?".concat(g["MatomoUrl"].stringify(Object.assign(Object.assign({},g["MatomoUrl"].urlParsed.value),{},{params:e})))}}});L.render=H;var P=L; /*! * Matomo - free/libre analytics platform * diff --git a/plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue b/plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue index 3ced9730a1..2953b3a5fc 100644 --- a/plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue +++ b/plugins/Widgetize/vue/src/ExportWidget/ExportWidget.vue @@ -10,46 +10,16 @@ <h2> <EnrichedHeadline>{{ title }}</EnrichedHeadline> </h2> - <p>With Matomo, you can <a - rel="noreferrer noopener" - target="_blank" - href="https://matomo.org/docs/embed-piwik-report/" - >export your Web Analytics reports</a> on your blog, website, or intranet dashboard... - in one click.</p> + <p v-html="$sanitize(intro)"></p> </div> <ContentBlock content-title="Authentication"> - <p> - If you want your widgets to be viewable by everybody, you first have to set the 'view' - permissions to the anonymous user in the <a - href="index.php?module=UsersManager" - rel="noreferrer noopener" - target="_blank" - >Users Management section</a>. - <br />Alternatively, if you are publishing widgets on a password protected or private page, - you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can - add the secret <code>token_auth</code> parameter in the widget URL. - You can manage your auth tokens on your <a - rel="noreferrer noopener" - target="_blank" - :href="linkTo({'module': 'UsersManager', 'action': 'userSecurity'})" - >Security page</a>. - </p> + <p v-html="$sanitize(viewableAnonymously)"></p> </ContentBlock> <ContentBlock content-title="Widgetize dashboards"> <div> <p> - You can also display the full Matomo dashboard in your application or website in an - IFRAME (<a - rel="noreferrer noopener" - target="_blank" - :href="dashboardUrl" - >see example</a>). - The date parameter can be set to a specific calendar date, "today", or "yesterday". The - period parameter can be set to "day", "week", "month", or - "year". - The language parameter can be set to the language code of a translation, such as - language=fr. For example, for idSite=1 and date=yesterday, you can write: - <br /> + <span v-html="$sanitize(displayInIframe)"></span> + <br/> </p> <pre v-text="dashboardCode" @@ -57,13 +27,7 @@ ></pre> <p> <br /> - You can also widgetize the all websites dashboard in an IFRAME - (<a - rel="noreferrer noopener" - target="_blank" - id="linkAllWebsitesDashboardUrl" - :href="allWebsitesDashboardUrl" - >see example</a>) + <span v-html="$sanitize(displayInIframeAllSites)"></span> <br /> </p> <pre @@ -72,9 +36,9 @@ ></pre> </div> </ContentBlock> - <ContentBlock content-title="Widgetize reports"> + <ContentBlock :content-title="translate('Widgetize_Reports')"> <div> - <p>Select a report, and copy paste in your page the embed code below the widget:</p> + <p>{{ translate('Widgetize_SelectAReport') }}</p> <div> <WidgetPreview /> </div> @@ -87,6 +51,7 @@ <script lang="ts"> import { defineComponent } from 'vue'; import { + translate, Matomo, ContentIntro, EnrichedHeadline, @@ -156,12 +121,63 @@ export default defineComponent({ allWebsitesDashboardCode() { return getIframeCode(this.allWebsitesDashboardUrl); }, + intro() { + return translate( + 'Widgetize_Intro', + `<a + rel="noreferrer noopener" + target="_blank" + href="https://matomo.org/docs/embed-piwik-report/" + >`, + '</a>', + ); + }, + viewableAnonymously() { + return translate( + 'Widgetize_ViewableAnonymously', + `<a + href="index.php?module=UsersManager" + rel="noreferrer noopener" + target="_blank" + >`, + '</a>', + `<a + rel="noreferrer noopener" + target="_blank" + href="${this.linkTo({ module: 'UsersManager', action: 'userSecurity' })}" + >`, + '</a>', + ); + }, + displayInIframe() { + return translate( + 'Widgetize_DisplayDashboardInIframe', + `<a + rel="noreferrer noopener" + target="_blank" + href="${this.dashboardUrl}" + >`, + '</a>', + ); + }, + displayInIframeAllSites() { + return translate( + 'Widgetize_DisplayDashboardInIframeAllSites', + `<a + rel="noreferrer noopener" + target="_blank" + id="linkAllWebsitesDashboardUrl" + href="${this.allWebsitesDashboardUrl}" + >`, + '</a>', + ); + }, }, methods: { linkTo(params: QueryParameters) { return `?${MatomoUrl.stringify({ ...MatomoUrl.urlParsed.value, - params, + ...params, })}`; }, }, diff --git a/plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue b/plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue index c26be1b533..fe4149ee25 100644 --- a/plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue +++ b/plugins/Widgetize/vue/src/WidgetPreview/WidgetPreviewIframe.vue @@ -6,14 +6,20 @@ <template> <div id="embedThisWidgetIframe"> - <label for="embedThisWidgetIframeInput">› Embed Iframe</label> + <label + for="embedThisWidgetIframeInput" + v-html="$sanitize(translate('Widgetize_EmbedIframe'))" + ></label> <div id="embedThisWidgetIframeInput"> <pre v-select-on-focus="{}" readonly="true" id="iframeEmbed">{{ widgetIframeHtml }}</pre> </div> </div> <div> - <label for="embedThisWidgetDirectLink">› Direct Link</label> + <label + for="embedThisWidgetDirectLink" + v-html="$sanitize(translate('Widgetize_DirectLink'))" + ></label> <div id="embedThisWidgetDirectLink"> <pre v-select-on-focus="{}" readonly="true" id="directLinkEmbed">{{ urlIframe }}</pre> - |