diff options
author | diosmosis <diosmosis@users.noreply.github.com> | 2022-03-11 03:11:01 +0300 |
---|---|---|
committer | diosmosis <diosmosis@users.noreply.github.com> | 2022-03-11 03:11:01 +0300 |
commit | 0b1eb4cc47041b41708c67c4b9687dd3a0c1dcff (patch) | |
tree | a0a767c97812fa9dd79c38c3f1f04ca6a4b4a23c | |
parent | 1700a95f2f64557b80605c186c05819555a62434 (diff) |
switch back to angularjs adapter and using dynamic components for twig events since piwik-manage-goals is selected for in plugins and because angularjs directives are sometimes pre-compiled, sometimes notvue-manage-goals
-rw-r--r-- | plugins/Goals/Controller.php | 13 | ||||
-rw-r--r-- | plugins/Goals/templates/_addEditGoal.twig | 16 | ||||
-rw-r--r-- | plugins/Goals/vue/dist/Goals.umd.js | 285 | ||||
-rw-r--r-- | plugins/Goals/vue/dist/Goals.umd.min.js | 8 | ||||
-rw-r--r-- | plugins/Goals/vue/src/ManageGoals/ManageGoals.adapter.ts | 8 | ||||
-rw-r--r-- | plugins/Goals/vue/src/ManageGoals/ManageGoals.vue | 707 |
6 files changed, 570 insertions, 467 deletions
diff --git a/plugins/Goals/Controller.php b/plugins/Goals/Controller.php index 584c9f6a1f..09dd7d5f04 100644 --- a/plugins/Goals/Controller.php +++ b/plugins/Goals/Controller.php @@ -80,6 +80,7 @@ class Controller extends \Piwik\Plugin\Controller $this->setGeneralVariablesView($view); $this->setEditGoalsViewVariables($view); $this->setGoalOptions($view); + $this->execAndSetResultsForTwigEvents($view); return $view->render(); } @@ -125,6 +126,7 @@ class Controller extends \Piwik\Plugin\Controller $this->setGeneralVariablesView($view); $this->setGoalOptions($view); $view->onlyShowAddNewGoal = true; + $this->execAndSetResultsForTwigEvents($view); return $view->render(); } @@ -149,6 +151,17 @@ class Controller extends \Piwik\Plugin\Controller $beforeGoalListActionsBody[$goal['idgoal']] = $str; } $view->beforeGoalListActionsBodyEventResult = $beforeGoalListActionsBody; + + $str = ''; + Piwik::postEvent('Template.beforeGoalListActionsHead', [&$str]); + $view->beforeGoalListActionsHead = $str; + } + + if (!empty($view->userCanEditGoals)) { + $str = ''; + Piwik::postEvent('Template.endGoalEditTable', [&$str]); + + $view->endEditTable = $str; } } diff --git a/plugins/Goals/templates/_addEditGoal.twig b/plugins/Goals/templates/_addEditGoal.twig index 39768282ad..ab1a57acf6 100644 --- a/plugins/Goals/templates/_addEditGoal.twig +++ b/plugins/Goals/templates/_addEditGoal.twig @@ -14,12 +14,12 @@ </script> <div - vue-entry="Goals.ManageGoals" + piwik-manage-goals user-can-edit-goals="{{ userCanEditGoals|json_encode|e('html_attr') }}" only-show-add-new-goal="{{ onlyShowAddNewGoal|default(false)|json_encode|e('html_attr') }}" ecommerce-enabled="{{ ecommerceEnabled|json_encode|e('html_attr') }}" {% if userCanEditGoals %} - {% if onlyShowAddNewGoal is not defined %} + {% if onlyShowAddNewGoal is not defined or not onlyShowAddNewGoal %} goals="{{ goals|json_encode|e('html_attr') }}" {% if idGoal %} show-goal="{{ idGoal|e('js') }}" @@ -38,15 +38,7 @@ numeric-comparison-type-options="{{ numericComparisonTypeOptions|json_encode|e('html_attr') }}" allow-multiple-options="{{ allowMultipleOptions|json_encode|e('html_attr') }}" before-goal-list-actions-body="{{ beforeGoalListActionsBodyEventResult|default(null)|json_encode|e('html_attr') }}" + end-edit-table="{{ endEditTable|default(null)|json_encode|e('html_attr') }}" + before-goal-list-actions-head="{{ beforeGoalListActionsHead|default(null)|json_encode|e('html_attr') }}" > - {% if not onlyShowAddNewGoal|default %} - <template v-slot:thead> - {{ postEvent("Template.beforeGoalListActionsHead") }} - </template> - {% endif %} - {% if userCanEditGoals %} - <template v-slot:endedittable> - {{ postEvent("Template.endGoalEditTable") }} - </template> - {% endif %} </div> diff --git a/plugins/Goals/vue/dist/Goals.umd.js b/plugins/Goals/vue/dist/Goals.umd.js index f430d27022..c87161e4da 100644 --- a/plugins/Goals/vue/dist/Goals.umd.js +++ b/plugins/Goals/vue/dist/Goals.umd.js @@ -156,7 +156,7 @@ var external_CoreHome_ = __webpack_require__("19dc"); */ var _window = window, - $ = _window.$; // usage v-goal-page-link="{ idGoal: 5 }" + GoalPageLink_$ = _window.$; // usage v-goal-page-link="{ idGoal: 5 }" var GoalPageLink = { mounted: function mounted(el, binding) { @@ -164,8 +164,8 @@ var GoalPageLink = { return; } - var title = $(el).text(); - var link = $('<a></a>'); + var title = GoalPageLink_$(el).text(); + var link = GoalPageLink_$('<a></a>'); link.text(title); link.attr('title', Object(external_CoreHome_["translate"])('Goals_ClickToViewThisGoal')); link.click(function (e) { @@ -175,7 +175,7 @@ var GoalPageLink = { subcategory: binding.value.idGoal })); }); - $(el).html(link[0]); + GoalPageLink_$(el).html(link[0]); } }; /* harmony default export */ var GoalPageLink_GoalPageLink = (GoalPageLink); // manually handle occurrence of goal-page-link on datatable html attributes since dataTable.js is @@ -184,11 +184,11 @@ var GoalPageLink = { external_CoreHome_["Matomo"].on('Matomo.processDynamicHtml', function ($element) { $element.find('[goal-page-link]').each(function (i, e) { - if ($(e).attr('goal-page-link-handled')) { + if (GoalPageLink_$(e).attr('goal-page-link-handled')) { return; } - var idGoal = $(e).attr('goal-page-link'); + var idGoal = GoalPageLink_$(e).attr('goal-page-link'); if (idGoal) { GoalPageLink.mounted(e, { @@ -202,7 +202,7 @@ external_CoreHome_["Matomo"].on('Matomo.processDynamicHtml', function ($element) }); } - $(e).attr('goal-page-link-handled', '1'); + GoalPageLink_$(e).attr('goal-page-link-handled', '1'); }); }); // CONCATENATED MODULE: ./plugins/Goals/vue/src/GoalPageLink/GoalPageLink.adapter.ts @@ -234,162 +234,158 @@ window.angular.module('piwikApp').directive('piwikGoalPageLink', piwikGoalPageLi // 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/Goals/vue/src/ManageGoals/ManageGoals.vue?vue&type=template&id=b862957c +// 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/Goals/vue/src/ManageGoals/ManageGoals.vue?vue&type=template&id=065a1b7c var _hoisted_1 = { - key: 0 -}; -var _hoisted_2 = { id: "entityEditContainer", feature: "true", class: "managegoals" }; -var _hoisted_3 = { +var _hoisted_2 = { class: "contentHelp" }; -var _hoisted_4 = ["innerHTML"]; -var _hoisted_5 = { +var _hoisted_3 = ["innerHTML"]; +var _hoisted_4 = { key: 0 }; -var _hoisted_6 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_7 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var _hoisted_5 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_8 = ["innerHTML"]; +var _hoisted_6 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_9 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", { +var _hoisted_7 = ["innerHTML"]; +var _hoisted_8 = { class: "first" -}, "Id", -1); - -var _hoisted_10 = { - key: 0 }; -var _hoisted_11 = { +var _hoisted_9 = { key: 1 }; -var _hoisted_12 = { +var _hoisted_10 = { + key: 2 +}; +var _hoisted_11 = { key: 0 }; -var _hoisted_13 = { +var _hoisted_12 = { colspan: "8" }; +var _hoisted_13 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); + var _hoisted_14 = /*#__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_16 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_17 = ["id"]; -var _hoisted_18 = { +var _hoisted_16 = ["id"]; +var _hoisted_17 = { class: "first" }; -var _hoisted_19 = { +var _hoisted_18 = { class: "matchAttribute" }; -var _hoisted_20 = { +var _hoisted_19 = { key: 0 }; -var _hoisted_21 = { +var _hoisted_20 = { key: 1 }; -var _hoisted_22 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var _hoisted_21 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_23 = ["innerHTML"]; -var _hoisted_24 = { +var _hoisted_22 = ["innerHTML"]; +var _hoisted_23 = { key: 1, style: { "padding-top": "2px" } }; -var _hoisted_25 = ["onClick", "title"]; +var _hoisted_24 = ["onClick", "title"]; -var _hoisted_26 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { +var _hoisted_25 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { class: "icon-edit" }, null, -1); -var _hoisted_27 = [_hoisted_26]; -var _hoisted_28 = { +var _hoisted_26 = [_hoisted_25]; +var _hoisted_27 = { key: 2, style: { "padding-top": "2px" } }; -var _hoisted_29 = ["onClick", "title"]; +var _hoisted_28 = ["onClick", "title"]; -var _hoisted_30 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { +var _hoisted_29 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { class: "icon-delete" }, null, -1); -var _hoisted_31 = [_hoisted_30]; -var _hoisted_32 = { +var _hoisted_30 = [_hoisted_29]; +var _hoisted_31 = { key: 0, class: "tableActionBar" }; -var _hoisted_33 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { +var _hoisted_32 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { class: "icon-add" }, null, -1); -var _hoisted_34 = { +var _hoisted_33 = { class: "ui-confirm", ref: "confirm" }; +var _hoisted_34 = ["value"]; var _hoisted_35 = ["value"]; -var _hoisted_36 = ["value"]; -var _hoisted_37 = { - key: 1 -}; -var _hoisted_38 = { +var _hoisted_36 = { class: "addEditGoal" }; -var _hoisted_39 = ["innerHTML"]; -var _hoisted_40 = { +var _hoisted_37 = ["innerHTML"]; +var _hoisted_38 = { class: "row goalIsTriggeredWhen" }; -var _hoisted_41 = { +var _hoisted_39 = { class: "col s12" }; -var _hoisted_42 = { +var _hoisted_40 = { class: "row" }; -var _hoisted_43 = { +var _hoisted_41 = { class: "col s12 m6 goalTriggerType" }; -var _hoisted_44 = { +var _hoisted_42 = { class: "col s12 m6" }; -var _hoisted_45 = ["innerHTML"]; -var _hoisted_46 = { +var _hoisted_43 = ["innerHTML"]; +var _hoisted_44 = { class: "row whereTheMatchAttrbiute" }; -var _hoisted_47 = { +var _hoisted_45 = { class: "col s12" }; -var _hoisted_48 = { +var _hoisted_46 = { class: "row" }; -var _hoisted_49 = { +var _hoisted_47 = { class: "col s12 m6 l4" }; -var _hoisted_50 = { +var _hoisted_48 = { key: 0, class: "col s12 m6 l4" }; -var _hoisted_51 = { +var _hoisted_49 = { key: 1, class: "col s12 m6 l4" }; -var _hoisted_52 = { +var _hoisted_50 = { class: "col s12 m6 l4" }; -var _hoisted_53 = { +var _hoisted_51 = { id: "examples_pattern", class: "col s12" }; +var _hoisted_52 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); + +var _hoisted_53 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); + var _hoisted_54 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); var _hoisted_55 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); @@ -402,22 +398,22 @@ var _hoisted_58 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_V var _hoisted_59 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); -var _hoisted_60 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); - -var _hoisted_61 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("br", null, null, -1); +var _hoisted_60 = { + ref: "endedittable" +}; -var _hoisted_62 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { +var _hoisted_61 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { type: "hidden", name: "goalIdUpdate", value: "" }, null, -1); -var _hoisted_63 = { +var _hoisted_62 = { key: 0 }; -var _hoisted_64 = ["innerHTML"]; +var _hoisted_63 = ["innerHTML"]; -var _hoisted_65 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { +var _hoisted_64 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", { id: "bottom" }, null, -1); @@ -438,61 +434,63 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { var _directive_form = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("form"); - return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [!_ctx.onlyShowAddNewGoal ? (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_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { "content-title": _ctx.translate('Goals_ManageGoals') }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, { loading: _ctx.isLoading - }, null, 8, ["loading"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + }, null, 8, ["loading"]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { innerHTML: _ctx.learnMoreAboutGoalTracking - }, null, 8, _hoisted_4), !_ctx.ecommerceEnabled ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_5, [_hoisted_6, _hoisted_7, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Optional')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Ecommerce')) + ": ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { + }, null, 8, _hoisted_3), !_ctx.ecommerceEnabled ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_4, [_hoisted_5, _hoisted_6, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Optional')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Ecommerce')) + ": ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { innerHTML: _ctx.youCanEnableEcommerceReports - }, null, 8, _hoisted_8)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [_hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalName')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Description')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalIsTriggeredWhen')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "thead"), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", _hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Edit')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", _hoisted_11, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Delete')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [!Object.keys(_ctx.goals || {}).length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", _hoisted_12, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_13, [_hoisted_14, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_ThereIsNoGoalToManage', _ctx.siteName)) + " ", 1), _hoisted_15, _hoisted_16])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.goals || [], function (goal) { + }, null, 8, _hoisted_7)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("table", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("thead", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tr", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", _hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Id')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalName')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Description')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalIsTriggeredWhen')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("th", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ColumnRevenue')), 1), _ctx.beforeGoalListActionsHeadComponent ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.beforeGoalListActionsHeadComponent), { + key: 0 + })) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", _hoisted_9, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Edit')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("th", _hoisted_10, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Delete')), 1)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("tbody", null, [!Object.keys(_ctx.goals || {}).length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", _hoisted_11, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_12, [_hoisted_13, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_ThereIsNoGoalToManage', _ctx.siteName)) + " ", 1), _hoisted_14, _hoisted_15])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(_ctx.goals || [], function (goal) { return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("tr", { id: goal.idgoal, key: goal.idgoal - }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_18, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.idgoal), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.name), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.description), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_19, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.goalMatchAttributeTranslations[goal.match_attribute] || goal.match_attribute), 1), goal.match_attribute === 'visit_duration' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_20, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.lcfirst(_ctx.translate('General_OperationGreaterThan'))) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Intl_NMinutes', goal.pattern)), 1)) : !!goal.pattern_type ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_21, [_hoisted_22, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Pattern')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.pattern_type) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.pattern), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { + }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", _hoisted_17, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.idgoal), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.name), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.description), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", _hoisted_18, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.goalMatchAttributeTranslations[goal.match_attribute] || goal.match_attribute), 1), goal.match_attribute === 'visit_duration' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_19, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.lcfirst(_ctx.translate('General_OperationGreaterThan'))) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Intl_NMinutes', goal.pattern)), 1)) : !!goal.pattern_type ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_20, [_hoisted_21, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Pattern')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.pattern_type) + ": " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(goal.pattern), 1)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("td", { class: "center", innerHTML: goal.revenue === 0 || goal.revenue === '0' ? '-' : _ctx.$sanitize(goal.revenue_pretty) - }, null, 8, _hoisted_23), _ctx.beforeGoalListActionsBodyComponent[goal.idgoal] ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.beforeGoalListActionsBodyComponent[goal.idgoal]), { + }, null, 8, _hoisted_22), _ctx.beforeGoalListActionsBodyComponent[goal.idgoal] ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.beforeGoalListActionsBodyComponent[goal.idgoal]), { key: 0 - })) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", _hoisted_24, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { + })) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", _hoisted_23, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { onClick: function onClick($event) { return _ctx.editGoal(goal.idgoal); }, class: "table-action", title: _ctx.translate('General_Edit') - }, _hoisted_27, 8, _hoisted_25)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", _hoisted_28, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { + }, _hoisted_26, 8, _hoisted_24)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("td", _hoisted_27, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { onClick: function onClick($event) { return _ctx.deleteGoal(goal.idgoal); }, class: "table-action", title: _ctx.translate('General_Delete') - }, _hoisted_31, 8, _hoisted_29)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 8, _hoisted_17); - }), 128))])], 512), [[_directive_content_table]]), _ctx.userCanEditGoals && !_ctx.onlyShowAddNewGoal ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_32, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { + }, _hoisted_30, 8, _hoisted_28)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 8, _hoisted_16); + }), 128))])], 512), [[_directive_content_table]]), _ctx.userCanEditGoals && !_ctx.onlyShowAddNewGoal ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_31, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", { id: "add-goal", onClick: _cache[0] || (_cache[0] = function ($event) { return _ctx.createGoal(); }) - }, [_hoisted_33, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_AddNewGoal')), 1)])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]; + }, [_hoisted_32, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_AddNewGoal')), 1)])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)]; }), - _: 3 - }, 8, ["content-title"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showGoalList]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_34, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_DeleteGoalConfirm', "\"".concat((_ctx$goalToDelete = _ctx.goalToDelete) === null || _ctx$goalToDelete === void 0 ? void 0 : _ctx$goalToDelete.name, "\""))), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + _: 1 + }, 8, ["content-title"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showGoalList]]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_33, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_DeleteGoalConfirm', "\"".concat((_ctx$goalToDelete = _ctx.goalToDelete) === null || _ctx$goalToDelete === void 0 ? void 0 : _ctx$goalToDelete.name, "\""))), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { role: "yes", type: "button", value: _ctx.translate('General_Yes') - }, null, 8, _hoisted_35), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { + }, null, 8, _hoisted_34), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", { role: "no", type: "button", value: _ctx.translate('General_No') - }, null, 8, _hoisted_36)], 512)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.userCanEditGoals ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_37, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_38, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { + }, null, 8, _hoisted_35)], 512)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], !_ctx.onlyShowAddNewGoal]]), 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_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_36, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ContentBlock, { "content-title": _ctx.goal.idgoal ? _ctx.translate('Goals_UpdateGoal') : _ctx.translate('Goals_AddNewGoal') }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { innerHTML: _ctx.$sanitize(_ctx.addNewGoalIntro) - }, null, 8, _hoisted_39), 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"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, _hoisted_37), 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"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "text", name: "goal_name", modelValue: _ctx.goal.name, @@ -510,7 +508,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), maxlength: 255, title: _ctx.translate('General_Description') - }, null, 8, ["modelValue", "title"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_40, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_41, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalIsTriggered')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_42, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_43, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, ["modelValue", "title"])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_38, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_39, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_GoalIsTriggered')), 1)])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_40, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_41, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "select", name: "trigger_type", "model-value": _ctx.triggerType, @@ -521,13 +519,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), "full-width": true, options: _ctx.goalTriggerTypeOptions - }, null, 8, ["model-value", "options"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_44, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { + }, null, 8, ["model-value", "options"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_42, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { severity: "info" }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", { innerHTML: _ctx.whereVisitedPageManuallyCallsJsTrackerText - }, null, 8, _hoisted_45)]; + }, null, 8, _hoisted_43)]; }), _: 1 }, 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType === 'manually']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { @@ -541,7 +539,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { _ctx.initPatternType(); }), options: _ctx.goalMatchAttributeOptions - }, null, 8, ["model-value", "options"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType !== 'manually']])])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_46, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", _hoisted_47, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_WhereThe')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_URL')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'url']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_PageTitle')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'title']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Filename')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'file']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_ExternalWebsiteUrl')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'external_website']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_VisitDuration')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'visit_duration']])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType !== 'manually']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_48, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_49, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, ["model-value", "options"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType !== 'manually']])])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_44, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h3", _hoisted_45, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_WhereThe')) + " ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_URL')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'url']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_PageTitle')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'title']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Filename')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'file']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_ExternalWebsiteUrl')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'external_website']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_VisitDuration')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'visit_duration']])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType !== 'manually']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_46, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_47, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "select", name: "event_type", modelValue: _ctx.eventType, @@ -550,7 +548,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), "full-width": true, options: _ctx.eventTypeOptions - }, null, 8, ["modelValue", "options"])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']]), !_ctx.isMatchAttributeNumeric ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_50, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, ["modelValue", "options"])])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']]), !_ctx.isMatchAttributeNumeric ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_48, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "select", name: "pattern_type", modelValue: _ctx.goal.pattern_type, @@ -559,7 +557,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), "full-width": true, options: _ctx.patternTypeOptions - }, null, 8, ["modelValue", "options"])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isMatchAttributeNumeric ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_51, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, ["modelValue", "options"])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _ctx.isMatchAttributeNumeric ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_49, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "select", name: "pattern_type", modelValue: _ctx.goal.pattern_type, @@ -568,7 +566,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), "full-width": true, options: _ctx.numericComparisonTypeOptions - }, null, 8, ["modelValue", "options"])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_52, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { + }, null, 8, ["modelValue", "options"])])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_50, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { uicontrol: "text", name: "pattern", modelValue: _ctx.goal.pattern, @@ -578,11 +576,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { maxlength: 255, title: _ctx.patternFieldLabel, "full-width": true - }, null, 8, ["modelValue", "title"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_53, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { + }, null, 8, ["modelValue", "title"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_51, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Alert, { severity: "info" }, { default: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withCtx"])(function () { - return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'checkout/confirmation'")) + " ", 1), _hoisted_54, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://example.com/thank-you.html'")) + " ", 1), _hoisted_55, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)\\\/demo\\\/(.*)'")), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'url']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'Order confirmation'")), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'title']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'files/brochure.pdf'")) + " ", 1), _hoisted_56, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://example.com/files/brochure.pdf'")) + " ", 1), _hoisted_57, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)\\\.zip'")), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'file']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'amazon.com'")) + " ", 1), _hoisted_58, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://mypartner.com/landing.html'")) + " ", 1), _hoisted_59, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.matchesExpressionExternal), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'external_website']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'video'")) + " ", 1), _hoisted_60, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'click'")) + " ", 1), _hoisted_61, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)_banner'")) + "\" ", 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_AtLeastMinutes', '5', '0.5')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'visit_duration']])]; + return [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'checkout/confirmation'")) + " ", 1), _hoisted_52, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://example.com/thank-you.html'")) + " ", 1), _hoisted_53, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)\\\/demo\\\/(.*)'")), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'url']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'Order confirmation'")), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'title']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'files/brochure.pdf'")) + " ", 1), _hoisted_54, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://example.com/files/brochure.pdf'")) + " ", 1), _hoisted_55, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)\\\.zip'")), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'file']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'amazon.com'")) + " ", 1), _hoisted_56, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'http://mypartner.com/landing.html'")) + " ", 1), _hoisted_57, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.matchesExpressionExternal), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'external_website']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_Contains', "'video'")) + " ", 1), _hoisted_58, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_IsExactly', "'click'")) + " ", 1), _hoisted_59, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_MatchesExpression', "'(.*)_banner'")) + "\" ", 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_ForExampleShort')) + " " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('Goals_AtLeastMinutes', '5', '0.5')), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'visit_duration']])]; }), _: 1 })])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.triggerType !== 'manually']]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, { @@ -622,24 +620,26 @@ function render(_ctx, _cache, $props, $setup, $data, $options) { }), title: _ctx.translate('Goals_UseEventValueAsRevenue'), "inline-help": _ctx.useEventValueAsRevenueHelp - }, null, 8, ["modelValue", "title", "inline-help"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "endedittable"), _hoisted_62, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SaveButton, { + }, null, 8, ["modelValue", "title", "inline-help"]), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.goal.match_attribute === 'event']])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", _hoisted_60, [_ctx.endEditTableComponent ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDynamicComponent"])(_ctx.endEditTableComponent), { + key: 0 + })) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512), _hoisted_61, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SaveButton, { saving: _ctx.isLoading, onConfirm: _cache[13] || (_cache[13] = function ($event) { return _ctx.save(); }), value: _ctx.submitText - }, null, 8, ["saving", "value"]), !_ctx.onlyShowAddNewGoal ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_63, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { + }, null, 8, ["saving", "value"]), !_ctx.onlyShowAddNewGoal ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", _hoisted_62, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", { class: "entityCancel", onClick: _cache[14] || (_cache[14] = function ($event) { return _ctx.showListOfReports(); }), innerHTML: _ctx.cancelText - }, null, 8, _hoisted_64), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showEditGoal]])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512), [[_directive_form]])]; + }, null, 8, _hoisted_63), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showEditGoal]])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512), [[_directive_form]])]; }), - _: 3 - }, 8, ["content-title"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showEditGoal]])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), _hoisted_65], 64); + _: 1 + }, 8, ["content-title"])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showEditGoal]])], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.userCanEditGoals]]), _hoisted_64]); } -// CONCATENATED MODULE: ./plugins/Goals/vue/src/ManageGoals/ManageGoals.vue?vue&type=template&id=b862957c +// CONCATENATED MODULE: ./plugins/Goals/vue/src/ManageGoals/ManageGoals.vue?vue&type=template&id=065a1b7c // EXTERNAL MODULE: external "CorePluginsAdmin" var external_CorePluginsAdmin_ = __webpack_require__("a5a2"); @@ -714,6 +714,7 @@ var PiwikApiMock = /*#__PURE__*/function () { /* harmony default export */ var ManageGoalsvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({ + inheritAttrs: false, props: { onlyShowAddNewGoal: Boolean, userCanEditGoals: Boolean, @@ -731,7 +732,9 @@ var PiwikApiMock = /*#__PURE__*/function () { allowMultipleOptions: Array, showAddGoal: Boolean, showGoal: Number, - beforeGoalListActionsBody: Object + beforeGoalListActionsBody: Object, + endEditTable: String, + beforeGoalListActionsHead: String }, data: function data() { return { @@ -743,7 +746,8 @@ var PiwikApiMock = /*#__PURE__*/function () { triggerType: 'visitors', apiMethod: '', submitText: '', - goalToDelete: null + goalToDelete: null, + addEditTableComponent: false }; }, components: { @@ -757,14 +761,35 @@ var PiwikApiMock = /*#__PURE__*/function () { ContentTable: external_CoreHome_["ContentTable"], Form: external_CorePluginsAdmin_["Form"] }, - created: function created() { + mounted: function mounted() { + var _this = this; + if (this.showAddGoal) { this.createGoal(); } else if (this.showGoal) { this.editGoal(this.showGoal); } - this.showListOfReports(); + this.showListOfReports(); // this component can be used in multiple places, one where + // Matomo.helper.compileAngularComponents() is already called, one where it's not. + // to make sure this function is only applied once to the slot data, we explicitly do not + // add it to vue, then on the next update, add it and call compileAngularComponents() + + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { + _this.addEditTableComponent = true; + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])(function () { + var el = _this.$refs.endedittable; + var scope = external_CoreHome_["Matomo"].helper.getAngularDependency('$rootScope').$new(true); + $(el).data('scope', scope); + external_CoreHome_["Matomo"].helper.compileAngularComponents(el, { + scope: scope + }); + }); + }); + }, + beforeUnmount: function beforeUnmount() { + var el = this.$refs.endedittable; + $(el).data('scope').$destroy(); }, methods: { scrollToTop: function scrollToTop() { @@ -835,25 +860,25 @@ var PiwikApiMock = /*#__PURE__*/function () { this.scrollToTop(); }, deleteGoal: function deleteGoal(goalId) { - var _this = this; + var _this2 = this; this.goalToDelete = this.goals["".concat(goalId)]; external_CoreHome_["Matomo"].helper.modalConfirm(this.$refs.confirm, { yes: function yes() { - _this.isLoading = true; + _this2.isLoading = true; external_CoreHome_["AjaxHelper"].fetch({ idGoal: goalId, method: 'Goals.deleteGoal' }).then(function () { window.location.reload(); }).finally(function () { - _this.isLoading = false; + _this2.isLoading = false; }); } }); }, save: function save() { - var _this2 = this; + var _this3 = this; var parameters = {}; // TODO: test removal of encoding, should be handled by ajax request @@ -907,15 +932,15 @@ var PiwikApiMock = /*#__PURE__*/function () { external_CoreHome_["MatomoUrl"].updateHash(Object.assign(Object.assign({}, external_CoreHome_["MatomoUrl"].hashParsed.value), {}, { subcategory: 'Goals_ManageGoals' })); - _this2.isLoading = false; + _this3.isLoading = false; }); } else { window.location.reload(); } }).catch(function () { - _this2.scrollToTop(); + _this3.scrollToTop(); - _this2.isLoading = false; + _this3.isLoading = false; }); }, changedTriggerType: function changedTriggerType() { @@ -986,7 +1011,7 @@ var PiwikApiMock = /*#__PURE__*/function () { }; }, beforeGoalListActionsBodyComponent: function beforeGoalListActionsBodyComponent() { - var _this3 = this; + var _this4 = this; if (!this.beforeGoalListActionsBody) { return {}; @@ -995,11 +1020,29 @@ var PiwikApiMock = /*#__PURE__*/function () { var componentsByIdGoal = {}; Object.values(this.goals).forEach(function (g) { componentsByIdGoal[g.idgoal] = { - template: _this3.beforeGoalListActionsBody[g.idgoal] + template: _this4.beforeGoalListActionsBody[g.idgoal] }; }); return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["markRaw"])(componentsByIdGoal); }, + endEditTableComponent: function endEditTableComponent() { + if (!this.endEditTable || !this.addEditTableComponent) { + return null; + } + + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["markRaw"])({ + template: this.endEditTable + }); + }, + beforeGoalListActionsHeadComponent: function beforeGoalListActionsHeadComponent() { + if (!this.beforeGoalListActionsHead) { + return null; + } + + return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["markRaw"])({ + template: this.beforeGoalListActionsHead + }); + }, isManuallyTriggered: function isManuallyTriggered() { return this.triggerType === 'manually'; }, @@ -1040,9 +1083,6 @@ ManageGoalsvue_type_script_lang_ts.render = render ecommerceEnabled: { angularJsBind: '<' }, - beforeGoalListActionsHead: { - angularJsBind: '<' - }, goals: { angularJsBind: '<' }, @@ -1076,7 +1116,10 @@ ManageGoalsvue_type_script_lang_ts.render = render beforeGoalListActionsBody: { angularJsBind: '<' }, - endGoalEditTable: { + endEditTable: { + angularJsBind: '<' + }, + beforeGoalListActionsHead: { angularJsBind: '<' } } diff --git a/plugins/Goals/vue/dist/Goals.umd.min.js b/plugins/Goals/vue/dist/Goals.umd.min.js index 208c9ef04a..beedb32148 100644 --- a/plugins/Goals/vue/dist/Goals.umd.min.js +++ b/plugins/Goals/vue/dist/Goals.umd.min.js @@ -1,21 +1,21 @@ -(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["Goals"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["Goals"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,a){return function(e){var t={};function a(n){if(t[n])return t[n].exports;var l=t[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,a),l.l=!0,l.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)a.d(n,l,function(t){return e[t]}.bind(null,l));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="plugins/Goals/vue/dist/",a(a.s="fae3")}({"19dc":function(t,a){t.exports=e},"8bbf":function(e,a){e.exports=t},a5a2:function(e,t){e.exports=a},fae3:function(e,t,a){"use strict";if(a.r(t),a.d(t,"GoalPageLink",(function(){return s})),a.d(t,"ManageGoals",(function(){return De})),"undefined"!==typeof window){var n=window.document.currentScript,l=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);l&&(a.p=l[1])}var o=a("19dc"),r=window,i=r.$,c={mounted:function(e,t){if(o["Matomo"].helper.isAngularRenderingThePage()){var a=i(e).text(),n=i("<a></a>");n.text(a),n.attr("title",Object(o["translate"])("Goals_ClickToViewThisGoal")),n.click((function(e){e.preventDefault(),o["MatomoUrl"].updateHash(Object.assign(Object.assign({},o["MatomoUrl"].hashParsed.value),{},{category:"Goals_Goals",subcategory:t.value.idGoal}))})),i(e).html(n[0])}}},s=c; +(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["Goals"]=t(require("CoreHome"),require("vue"),require("CorePluginsAdmin")):e["Goals"]=t(e["CoreHome"],e["Vue"],e["CorePluginsAdmin"])})("undefined"!==typeof self?self:this,(function(e,t,a){return function(e){var t={};function a(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(n,o,function(t){return e[t]}.bind(null,o));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="plugins/Goals/vue/dist/",a(a.s="fae3")}({"19dc":function(t,a){t.exports=e},"8bbf":function(e,a){e.exports=t},a5a2:function(e,t){e.exports=a},fae3:function(e,t,a){"use strict";if(a.r(t),a.d(t,"GoalPageLink",(function(){return s})),a.d(t,"ManageGoals",(function(){return De})),"undefined"!==typeof window){var n=window.document.currentScript,o=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(a.p=o[1])}var l=a("19dc"),r=window,i=r.$,c={mounted:function(e,t){if(l["Matomo"].helper.isAngularRenderingThePage()){var a=i(e).text(),n=i("<a></a>");n.text(a),n.attr("title",Object(l["translate"])("Goals_ClickToViewThisGoal")),n.click((function(e){e.preventDefault(),l["MatomoUrl"].updateHash(Object.assign(Object.assign({},l["MatomoUrl"].hashParsed.value),{},{category:"Goals_Goals",subcategory:t.value.idGoal}))})),i(e).html(n[0])}}},s=c; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ -function u(){return{restrict:"A",link:function(e,t,a){var n={instance:null,value:{idGoal:a.piwikGoalPageLink},oldValue:null,modifiers:{},dir:{}};s.mounted(t[0],n)}}}o["Matomo"].on("Matomo.processDynamicHtml",(function(e){e.find("[goal-page-link]").each((function(e,t){if(!i(t).attr("goal-page-link-handled")){var a=i(t).attr("goal-page-link");a&&c.mounted(t,{instance:null,value:{idGoal:a},oldValue:null,modifiers:{},dir:{}}),i(t).attr("goal-page-link-handled","1")}}))})),window.angular.module("piwikApp").directive("piwikGoalPageLink",u);var d=a("8bbf"),b={key:0},p={id:"entityEditContainer",feature:"true",class:"managegoals"},m={class:"contentHelp"},O=["innerHTML"],g={key:0},j=Object(d["createElementVNode"])("br",null,null,-1),h=Object(d["createElementVNode"])("br",null,null,-1),v=["innerHTML"],y=Object(d["createElementVNode"])("th",{class:"first"},"Id",-1),f={key:0},_={key:1},G={key:0},E={colspan:"8"},V=Object(d["createElementVNode"])("br",null,null,-1),N=Object(d["createElementVNode"])("br",null,null,-1),w=Object(d["createElementVNode"])("br",null,null,-1),T=["id"],S={class:"first"},k={class:"matchAttribute"},D={key:0},x={key:1},C=Object(d["createElementVNode"])("br",null,null,-1),M=["innerHTML"],A={key:1,style:{"padding-top":"2px"}},B=["onClick","title"],L=Object(d["createElementVNode"])("span",{class:"icon-edit"},null,-1),P=[L],F={key:2,style:{"padding-top":"2px"}},U=["onClick","title"],H=Object(d["createElementVNode"])("span",{class:"icon-delete"},null,-1),I=[H],R={key:0,class:"tableActionBar"},J=Object(d["createElementVNode"])("span",{class:"icon-add"},null,-1),q={class:"ui-confirm",ref:"confirm"},W=["value"],$=["value"],z={key:1},Y={class:"addEditGoal"},K=["innerHTML"],Q={class:"row goalIsTriggeredWhen"},X={class:"col s12"},Z={class:"row"},ee={class:"col s12 m6 goalTriggerType"},te={class:"col s12 m6"},ae=["innerHTML"],ne={class:"row whereTheMatchAttrbiute"},le={class:"col s12"},oe={class:"row"},re={class:"col s12 m6 l4"},ie={key:0,class:"col s12 m6 l4"},ce={key:1,class:"col s12 m6 l4"},se={class:"col s12 m6 l4"},ue={id:"examples_pattern",class:"col s12"},de=Object(d["createElementVNode"])("br",null,null,-1),be=Object(d["createElementVNode"])("br",null,null,-1),pe=Object(d["createElementVNode"])("br",null,null,-1),me=Object(d["createElementVNode"])("br",null,null,-1),Oe=Object(d["createElementVNode"])("br",null,null,-1),ge=Object(d["createElementVNode"])("br",null,null,-1),je=Object(d["createElementVNode"])("br",null,null,-1),he=Object(d["createElementVNode"])("br",null,null,-1),ve=Object(d["createElementVNode"])("input",{type:"hidden",name:"goalIdUpdate",value:""},null,-1),ye={key:0},fe=["innerHTML"],_e=Object(d["createElementVNode"])("a",{id:"bottom"},null,-1);function Ge(e,t,a,n,l,o){var r,i=Object(d["resolveComponent"])("ActivityIndicator"),c=Object(d["resolveComponent"])("ContentBlock"),s=Object(d["resolveComponent"])("Field"),u=Object(d["resolveComponent"])("Alert"),L=Object(d["resolveComponent"])("SaveButton"),H=Object(d["resolveDirective"])("content-table"),Ge=Object(d["resolveDirective"])("form");return Object(d["openBlock"])(),Object(d["createElementBlock"])(d["Fragment"],null,[e.onlyShowAddNewGoal?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",b,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",p,[Object(d["createVNode"])(c,{"content-title":e.translate("Goals_ManageGoals")},{default:Object(d["withCtx"])((function(){return[Object(d["createVNode"])(i,{loading:e.isLoading},null,8,["loading"]),Object(d["createElementVNode"])("div",m,[Object(d["createElementVNode"])("span",{innerHTML:e.learnMoreAboutGoalTracking},null,8,O),e.ecommerceEnabled?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",g,[j,h,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_Optional"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Ecommerce"))+": ",1),Object(d["createElementVNode"])("span",{innerHTML:e.youCanEnableEcommerceReports},null,8,v)]))]),Object(d["withDirectives"])(Object(d["createElementVNode"])("table",null,[Object(d["createElementVNode"])("thead",null,[Object(d["createElementVNode"])("tr",null,[y,Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("Goals_GoalName")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("General_Description")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("Goals_GoalIsTriggeredWhen")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("General_ColumnRevenue")),1),Object(d["renderSlot"])(e.$slots,"thead"),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("th",f,Object(d["toDisplayString"])(e.translate("General_Edit")),1)):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("th",_,Object(d["toDisplayString"])(e.translate("General_Delete")),1)):Object(d["createCommentVNode"])("",!0)])]),Object(d["createElementVNode"])("tbody",null,[Object.keys(e.goals||{}).length?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("tr",G,[Object(d["createElementVNode"])("td",E,[V,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_ThereIsNoGoalToManage",e.siteName))+" ",1),N,w])])),(Object(d["openBlock"])(!0),Object(d["createElementBlock"])(d["Fragment"],null,Object(d["renderList"])(e.goals||[],(function(t){return Object(d["openBlock"])(),Object(d["createElementBlock"])("tr",{id:t.idgoal,key:t.idgoal},[Object(d["createElementVNode"])("td",S,Object(d["toDisplayString"])(t.idgoal),1),Object(d["createElementVNode"])("td",null,Object(d["toDisplayString"])(t.name),1),Object(d["createElementVNode"])("td",null,Object(d["toDisplayString"])(t.description),1),Object(d["createElementVNode"])("td",null,[Object(d["createElementVNode"])("span",k,Object(d["toDisplayString"])(e.goalMatchAttributeTranslations[t.match_attribute]||t.match_attribute),1),"visit_duration"===t.match_attribute?(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",D,Object(d["toDisplayString"])(e.lcfirst(e.translate("General_OperationGreaterThan")))+" "+Object(d["toDisplayString"])(e.translate("Intl_NMinutes",t.pattern)),1)):t.pattern_type?(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",x,[C,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_Pattern"))+" "+Object(d["toDisplayString"])(t.pattern_type)+": "+Object(d["toDisplayString"])(t.pattern),1)])):Object(d["createCommentVNode"])("",!0)]),Object(d["createElementVNode"])("td",{class:"center",innerHTML:0===t.revenue||"0"===t.revenue?"-":e.$sanitize(t.revenue_pretty)},null,8,M),e.beforeGoalListActionsBodyComponent[t.idgoal]?(Object(d["openBlock"])(),Object(d["createBlock"])(Object(d["resolveDynamicComponent"])(e.beforeGoalListActionsBodyComponent[t.idgoal]),{key:0})):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("td",A,[Object(d["createElementVNode"])("button",{onClick:function(a){return e.editGoal(t.idgoal)},class:"table-action",title:e.translate("General_Edit")},P,8,B)])):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("td",F,[Object(d["createElementVNode"])("button",{onClick:function(a){return e.deleteGoal(t.idgoal)},class:"table-action",title:e.translate("General_Delete")},I,8,U)])):Object(d["createCommentVNode"])("",!0)],8,T)})),128))])],512),[[H]]),e.userCanEditGoals&&!e.onlyShowAddNewGoal?(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",R,[Object(d["createElementVNode"])("button",{id:"add-goal",onClick:t[0]||(t[0]=function(t){return e.createGoal()})},[J,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_AddNewGoal")),1)])])):Object(d["createCommentVNode"])("",!0)]})),_:3},8,["content-title"])],512),[[d["vShow"],e.showGoalList]]),Object(d["createElementVNode"])("div",q,[Object(d["createElementVNode"])("h2",null,Object(d["toDisplayString"])(e.translate("Goals_DeleteGoalConfirm",'"'.concat(null===(r=e.goalToDelete)||void 0===r?void 0:r.name,'"'))),1),Object(d["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,W),Object(d["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,$)],512)])),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",z,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",Y,[Object(d["createVNode"])(c,{"content-title":e.goal.idgoal?e.translate("Goals_UpdateGoal"):e.translate("Goals_AddNewGoal")},{default:Object(d["withCtx"])((function(){return[Object(d["createElementVNode"])("div",{innerHTML:e.$sanitize(e.addNewGoalIntro)},null,8,K),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",null,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"goal_name",modelValue:e.goal.name,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.goal.name=t}),maxlength:50,title:e.translate("Goals_GoalName")},null,8,["modelValue","title"])]),Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"goal_description",modelValue:e.goal.description,"onUpdate:modelValue":t[2]||(t[2]=function(t){return e.goal.description=t}),maxlength:255,title:e.translate("General_Description")},null,8,["modelValue","title"])]),Object(d["createElementVNode"])("div",Q,[Object(d["createElementVNode"])("div",X,[Object(d["createElementVNode"])("h3",null,Object(d["toDisplayString"])(e.translate("Goals_GoalIsTriggered")),1)])]),Object(d["createElementVNode"])("div",Z,[Object(d["createElementVNode"])("div",ee,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"trigger_type","model-value":e.triggerType,"onUpdate:modelValue":t[3]||(t[3]=function(t){e.triggerType=t,e.changedTriggerType()}),"full-width":!0,options:e.goalTriggerTypeOptions},null,8,["model-value","options"])])]),Object(d["createElementVNode"])("div",te,[Object(d["withDirectives"])(Object(d["createVNode"])(u,{severity:"info"},{default:Object(d["withCtx"])((function(){return[Object(d["createElementVNode"])("span",{innerHTML:e.whereVisitedPageManuallyCallsJsTrackerText},null,8,ae)]})),_:1},512),[[d["vShow"],"manually"===e.triggerType]]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"radio",name:"match_attribute","full-width":!0,"model-value":e.goal.match_attribute,"onUpdate:modelValue":t[4]||(t[4]=function(t){e.goal.match_attribute=t,e.initPatternType()}),options:e.goalMatchAttributeOptions},null,8,["model-value","options"]),[[d["vShow"],"manually"!==e.triggerType]])])])]),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",ne,[Object(d["createElementVNode"])("h3",le,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("Goals_WhereThe"))+" ",1),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_URL")),513),[[d["vShow"],"url"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_PageTitle")),513),[[d["vShow"],"title"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_Filename")),513),[[d["vShow"],"file"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_ExternalWebsiteUrl")),513),[[d["vShow"],"external_website"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_VisitDuration")),513),[[d["vShow"],"visit_duration"===e.goal.match_attribute]])])],512),[[d["vShow"],"manually"!==e.triggerType]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",oe,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",re,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"event_type",modelValue:e.eventType,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.eventType=t}),"full-width":!0,options:e.eventTypeOptions},null,8,["modelValue","options"])])],512),[[d["vShow"],"event"===e.goal.match_attribute]]),e.isMatchAttributeNumeric?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",ie,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"pattern_type",modelValue:e.goal.pattern_type,"onUpdate:modelValue":t[6]||(t[6]=function(t){return e.goal.pattern_type=t}),"full-width":!0,options:e.patternTypeOptions},null,8,["modelValue","options"])])])),e.isMatchAttributeNumeric?(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",ce,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"pattern_type",modelValue:e.goal.pattern_type,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.goal.pattern_type=t}),"full-width":!0,options:e.numericComparisonTypeOptions},null,8,["modelValue","options"])])])):Object(d["createCommentVNode"])("",!0),Object(d["createElementVNode"])("div",se,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"pattern",modelValue:e.goal.pattern,"onUpdate:modelValue":t[8]||(t[8]=function(t){return e.goal.pattern=t}),maxlength:255,title:e.patternFieldLabel,"full-width":!0},null,8,["modelValue","title"])])]),Object(d["createElementVNode"])("div",ue,[Object(d["createVNode"])(u,{severity:"info"},{default:Object(d["withCtx"])((function(){return[Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'checkout/confirmation'"))+" ",1),de,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://example.com/thank-you.html'"))+" ",1),be,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)\\/demo\\/(.*)'")),1)],512),[[d["vShow"],"url"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'Order confirmation'")),513),[[d["vShow"],"title"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'files/brochure.pdf'"))+" ",1),pe,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://example.com/files/brochure.pdf'"))+" ",1),me,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)\\.zip'")),1)],512),[[d["vShow"],"file"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'amazon.com'"))+" ",1),Oe,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://mypartner.com/landing.html'"))+" ",1),ge,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.matchesExpressionExternal),1)],512),[[d["vShow"],"external_website"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'video'"))+" ",1),je,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'click'"))+" ",1),he,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)_banner'"))+'" ',1)],512),[[d["vShow"],"event"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_AtLeastMinutes","5","0.5")),513),[[d["vShow"],"visit_duration"===e.goal.match_attribute]])]})),_:1})])],512),[[d["vShow"],"manually"!==e.triggerType]]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"checkbox",name:"case_sensitive",modelValue:e.goal.case_sensitive,"onUpdate:modelValue":t[9]||(t[9]=function(t){return e.goal.case_sensitive=t}),title:e.caseSensitiveTitle},null,8,["modelValue","title"]),[[d["vShow"],"manually"!==e.triggerType&&!e.isMatchAttributeNumeric]])]),Object(d["createElementVNode"])("div",null,["visit_duration"!==e.goal.match_attribute?(Object(d["openBlock"])(),Object(d["createBlock"])(s,{key:0,uicontrol:"radio",name:"allow_multiple","model-value":e.goal.allow_multiple?1:0,"onUpdate:modelValue":t[10]||(t[10]=function(t){return e.goal.allow_multiple=t}),options:e.allowMultipleOptions,introduction:e.translate("Goals_AllowMultipleConversionsPerVisit"),"inline-help":e.translate("Goals_HelpOneConversionPerVisit")},null,8,["model-value","options","introduction","inline-help"])):Object(d["createCommentVNode"])("",!0)]),Object(d["createElementVNode"])("h3",null,Object(d["toDisplayString"])(e.translate("Goals_GoalRevenue"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Optional")),1),Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"number",name:"revenue",modelValue:e.goal.revenue,"onUpdate:modelValue":t[11]||(t[11]=function(t){return e.goal.revenue=t}),placeholder:e.translate("Goals_DefaultRevenueLabel"),"inline-help":e.translate("Goals_DefaultRevenueHelp")},null,8,["modelValue","placeholder","inline-help"])]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"checkbox",name:"use_event_value",modelValue:e.goal.event_value_as_revenue,"onUpdate:modelValue":t[12]||(t[12]=function(t){return e.goal.event_value_as_revenue=t}),title:e.translate("Goals_UseEventValueAsRevenue"),"inline-help":e.useEventValueAsRevenueHelp},null,8,["modelValue","title","inline-help"]),[[d["vShow"],"event"===e.goal.match_attribute]])]),Object(d["renderSlot"])(e.$slots,"endedittable"),ve,Object(d["createVNode"])(L,{saving:e.isLoading,onConfirm:t[13]||(t[13]=function(t){return e.save()}),value:e.submitText},null,8,["saving","value"]),e.onlyShowAddNewGoal?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",ye,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",{class:"entityCancel",onClick:t[14]||(t[14]=function(t){return e.showListOfReports()}),innerHTML:e.cancelText},null,8,fe),[[d["vShow"],e.showEditGoal]])]))],512),[[Ge]])]})),_:3},8,["content-title"])],512),[[d["vShow"],e.showEditGoal]])])):Object(d["createCommentVNode"])("",!0),_e],64)}var Ee=a("a5a2");function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ne(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function we(e,t,a){return t&&Ne(e.prototype,t),a&&Ne(e,a),e}function Te(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e} +function u(){return{restrict:"A",link:function(e,t,a){var n={instance:null,value:{idGoal:a.piwikGoalPageLink},oldValue:null,modifiers:{},dir:{}};s.mounted(t[0],n)}}}l["Matomo"].on("Matomo.processDynamicHtml",(function(e){e.find("[goal-page-link]").each((function(e,t){if(!i(t).attr("goal-page-link-handled")){var a=i(t).attr("goal-page-link");a&&c.mounted(t,{instance:null,value:{idGoal:a},oldValue:null,modifiers:{},dir:{}}),i(t).attr("goal-page-link-handled","1")}}))})),window.angular.module("piwikApp").directive("piwikGoalPageLink",u);var d=a("8bbf"),b={id:"entityEditContainer",feature:"true",class:"managegoals"},p={class:"contentHelp"},m=["innerHTML"],O={key:0},j=Object(d["createElementVNode"])("br",null,null,-1),g=Object(d["createElementVNode"])("br",null,null,-1),h=["innerHTML"],v={class:"first"},y={key:1},f={key:2},_={key:0},G={colspan:"8"},E=Object(d["createElementVNode"])("br",null,null,-1),V=Object(d["createElementVNode"])("br",null,null,-1),N=Object(d["createElementVNode"])("br",null,null,-1),w=["id"],T={class:"first"},S={class:"matchAttribute"},k={key:0},D={key:1},C=Object(d["createElementVNode"])("br",null,null,-1),x=["innerHTML"],A={key:1,style:{"padding-top":"2px"}},M=["onClick","title"],B=Object(d["createElementVNode"])("span",{class:"icon-edit"},null,-1),L=[B],P={key:2,style:{"padding-top":"2px"}},H=["onClick","title"],F=Object(d["createElementVNode"])("span",{class:"icon-delete"},null,-1),U=[F],R={key:0,class:"tableActionBar"},I=Object(d["createElementVNode"])("span",{class:"icon-add"},null,-1),J={class:"ui-confirm",ref:"confirm"},q=["value"],W=["value"],z={class:"addEditGoal"},Y=["innerHTML"],K={class:"row goalIsTriggeredWhen"},Q={class:"col s12"},X={class:"row"},Z={class:"col s12 m6 goalTriggerType"},ee={class:"col s12 m6"},te=["innerHTML"],ae={class:"row whereTheMatchAttrbiute"},ne={class:"col s12"},oe={class:"row"},le={class:"col s12 m6 l4"},re={key:0,class:"col s12 m6 l4"},ie={key:1,class:"col s12 m6 l4"},ce={class:"col s12 m6 l4"},se={id:"examples_pattern",class:"col s12"},ue=Object(d["createElementVNode"])("br",null,null,-1),de=Object(d["createElementVNode"])("br",null,null,-1),be=Object(d["createElementVNode"])("br",null,null,-1),pe=Object(d["createElementVNode"])("br",null,null,-1),me=Object(d["createElementVNode"])("br",null,null,-1),Oe=Object(d["createElementVNode"])("br",null,null,-1),je=Object(d["createElementVNode"])("br",null,null,-1),ge=Object(d["createElementVNode"])("br",null,null,-1),he={ref:"endedittable"},ve=Object(d["createElementVNode"])("input",{type:"hidden",name:"goalIdUpdate",value:""},null,-1),ye={key:0},fe=["innerHTML"],_e=Object(d["createElementVNode"])("a",{id:"bottom"},null,-1);function Ge(e,t,a,n,o,l){var r,i=Object(d["resolveComponent"])("ActivityIndicator"),c=Object(d["resolveComponent"])("ContentBlock"),s=Object(d["resolveComponent"])("Field"),u=Object(d["resolveComponent"])("Alert"),B=Object(d["resolveComponent"])("SaveButton"),F=Object(d["resolveDirective"])("content-table"),$=Object(d["resolveDirective"])("form");return Object(d["openBlock"])(),Object(d["createElementBlock"])("div",null,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",b,[Object(d["createVNode"])(c,{"content-title":e.translate("Goals_ManageGoals")},{default:Object(d["withCtx"])((function(){return[Object(d["createVNode"])(i,{loading:e.isLoading},null,8,["loading"]),Object(d["createElementVNode"])("div",p,[Object(d["createElementVNode"])("span",{innerHTML:e.learnMoreAboutGoalTracking},null,8,m),e.ecommerceEnabled?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",O,[j,g,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_Optional"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Ecommerce"))+": ",1),Object(d["createElementVNode"])("span",{innerHTML:e.youCanEnableEcommerceReports},null,8,h)]))]),Object(d["withDirectives"])(Object(d["createElementVNode"])("table",null,[Object(d["createElementVNode"])("thead",null,[Object(d["createElementVNode"])("tr",null,[Object(d["createElementVNode"])("th",v,Object(d["toDisplayString"])(e.translate("General_Id")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("Goals_GoalName")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("General_Description")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("Goals_GoalIsTriggeredWhen")),1),Object(d["createElementVNode"])("th",null,Object(d["toDisplayString"])(e.translate("General_ColumnRevenue")),1),e.beforeGoalListActionsHeadComponent?(Object(d["openBlock"])(),Object(d["createBlock"])(Object(d["resolveDynamicComponent"])(e.beforeGoalListActionsHeadComponent),{key:0})):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("th",y,Object(d["toDisplayString"])(e.translate("General_Edit")),1)):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("th",f,Object(d["toDisplayString"])(e.translate("General_Delete")),1)):Object(d["createCommentVNode"])("",!0)])]),Object(d["createElementVNode"])("tbody",null,[Object.keys(e.goals||{}).length?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("tr",_,[Object(d["createElementVNode"])("td",G,[E,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_ThereIsNoGoalToManage",e.siteName))+" ",1),V,N])])),(Object(d["openBlock"])(!0),Object(d["createElementBlock"])(d["Fragment"],null,Object(d["renderList"])(e.goals||[],(function(t){return Object(d["openBlock"])(),Object(d["createElementBlock"])("tr",{id:t.idgoal,key:t.idgoal},[Object(d["createElementVNode"])("td",T,Object(d["toDisplayString"])(t.idgoal),1),Object(d["createElementVNode"])("td",null,Object(d["toDisplayString"])(t.name),1),Object(d["createElementVNode"])("td",null,Object(d["toDisplayString"])(t.description),1),Object(d["createElementVNode"])("td",null,[Object(d["createElementVNode"])("span",S,Object(d["toDisplayString"])(e.goalMatchAttributeTranslations[t.match_attribute]||t.match_attribute),1),"visit_duration"===t.match_attribute?(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",k,Object(d["toDisplayString"])(e.lcfirst(e.translate("General_OperationGreaterThan")))+" "+Object(d["toDisplayString"])(e.translate("Intl_NMinutes",t.pattern)),1)):t.pattern_type?(Object(d["openBlock"])(),Object(d["createElementBlock"])("span",D,[C,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_Pattern"))+" "+Object(d["toDisplayString"])(t.pattern_type)+": "+Object(d["toDisplayString"])(t.pattern),1)])):Object(d["createCommentVNode"])("",!0)]),Object(d["createElementVNode"])("td",{class:"center",innerHTML:0===t.revenue||"0"===t.revenue?"-":e.$sanitize(t.revenue_pretty)},null,8,x),e.beforeGoalListActionsBodyComponent[t.idgoal]?(Object(d["openBlock"])(),Object(d["createBlock"])(Object(d["resolveDynamicComponent"])(e.beforeGoalListActionsBodyComponent[t.idgoal]),{key:0})):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("td",A,[Object(d["createElementVNode"])("button",{onClick:function(a){return e.editGoal(t.idgoal)},class:"table-action",title:e.translate("General_Edit")},L,8,M)])):Object(d["createCommentVNode"])("",!0),e.userCanEditGoals?(Object(d["openBlock"])(),Object(d["createElementBlock"])("td",P,[Object(d["createElementVNode"])("button",{onClick:function(a){return e.deleteGoal(t.idgoal)},class:"table-action",title:e.translate("General_Delete")},U,8,H)])):Object(d["createCommentVNode"])("",!0)],8,w)})),128))])],512),[[F]]),e.userCanEditGoals&&!e.onlyShowAddNewGoal?(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",R,[Object(d["createElementVNode"])("button",{id:"add-goal",onClick:t[0]||(t[0]=function(t){return e.createGoal()})},[I,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("Goals_AddNewGoal")),1)])])):Object(d["createCommentVNode"])("",!0)]})),_:1},8,["content-title"])],512),[[d["vShow"],e.showGoalList]]),Object(d["createElementVNode"])("div",J,[Object(d["createElementVNode"])("h2",null,Object(d["toDisplayString"])(e.translate("Goals_DeleteGoalConfirm",'"'.concat(null===(r=e.goalToDelete)||void 0===r?void 0:r.name,'"'))),1),Object(d["createElementVNode"])("input",{role:"yes",type:"button",value:e.translate("General_Yes")},null,8,q),Object(d["createElementVNode"])("input",{role:"no",type:"button",value:e.translate("General_No")},null,8,W)],512)],512),[[d["vShow"],!e.onlyShowAddNewGoal]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",z,[Object(d["createVNode"])(c,{"content-title":e.goal.idgoal?e.translate("Goals_UpdateGoal"):e.translate("Goals_AddNewGoal")},{default:Object(d["withCtx"])((function(){return[Object(d["createElementVNode"])("div",{innerHTML:e.$sanitize(e.addNewGoalIntro)},null,8,Y),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",null,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"goal_name",modelValue:e.goal.name,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.goal.name=t}),maxlength:50,title:e.translate("Goals_GoalName")},null,8,["modelValue","title"])]),Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"goal_description",modelValue:e.goal.description,"onUpdate:modelValue":t[2]||(t[2]=function(t){return e.goal.description=t}),maxlength:255,title:e.translate("General_Description")},null,8,["modelValue","title"])]),Object(d["createElementVNode"])("div",K,[Object(d["createElementVNode"])("div",Q,[Object(d["createElementVNode"])("h3",null,Object(d["toDisplayString"])(e.translate("Goals_GoalIsTriggered")),1)])]),Object(d["createElementVNode"])("div",X,[Object(d["createElementVNode"])("div",Z,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"trigger_type","model-value":e.triggerType,"onUpdate:modelValue":t[3]||(t[3]=function(t){e.triggerType=t,e.changedTriggerType()}),"full-width":!0,options:e.goalTriggerTypeOptions},null,8,["model-value","options"])])]),Object(d["createElementVNode"])("div",ee,[Object(d["withDirectives"])(Object(d["createVNode"])(u,{severity:"info"},{default:Object(d["withCtx"])((function(){return[Object(d["createElementVNode"])("span",{innerHTML:e.whereVisitedPageManuallyCallsJsTrackerText},null,8,te)]})),_:1},512),[[d["vShow"],"manually"===e.triggerType]]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"radio",name:"match_attribute","full-width":!0,"model-value":e.goal.match_attribute,"onUpdate:modelValue":t[4]||(t[4]=function(t){e.goal.match_attribute=t,e.initPatternType()}),options:e.goalMatchAttributeOptions},null,8,["model-value","options"]),[[d["vShow"],"manually"!==e.triggerType]])])])]),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",ae,[Object(d["createElementVNode"])("h3",ne,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("Goals_WhereThe"))+" ",1),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_URL")),513),[[d["vShow"],"url"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_PageTitle")),513),[[d["vShow"],"title"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_Filename")),513),[[d["vShow"],"file"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_ExternalWebsiteUrl")),513),[[d["vShow"],"external_website"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("Goals_VisitDuration")),513),[[d["vShow"],"visit_duration"===e.goal.match_attribute]])])],512),[[d["vShow"],"manually"!==e.triggerType]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("div",oe,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",le,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"event_type",modelValue:e.eventType,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.eventType=t}),"full-width":!0,options:e.eventTypeOptions},null,8,["modelValue","options"])])],512),[[d["vShow"],"event"===e.goal.match_attribute]]),e.isMatchAttributeNumeric?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",re,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"pattern_type",modelValue:e.goal.pattern_type,"onUpdate:modelValue":t[6]||(t[6]=function(t){return e.goal.pattern_type=t}),"full-width":!0,options:e.patternTypeOptions},null,8,["modelValue","options"])])])),e.isMatchAttributeNumeric?(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",ie,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"select",name:"pattern_type",modelValue:e.goal.pattern_type,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.goal.pattern_type=t}),"full-width":!0,options:e.numericComparisonTypeOptions},null,8,["modelValue","options"])])])):Object(d["createCommentVNode"])("",!0),Object(d["createElementVNode"])("div",ce,[Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"text",name:"pattern",modelValue:e.goal.pattern,"onUpdate:modelValue":t[8]||(t[8]=function(t){return e.goal.pattern=t}),maxlength:255,title:e.patternFieldLabel,"full-width":!0},null,8,["modelValue","title"])])]),Object(d["createElementVNode"])("div",se,[Object(d["createVNode"])(u,{severity:"info"},{default:Object(d["withCtx"])((function(){return[Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'checkout/confirmation'"))+" ",1),ue,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://example.com/thank-you.html'"))+" ",1),de,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)\\/demo\\/(.*)'")),1)],512),[[d["vShow"],"url"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'Order confirmation'")),513),[[d["vShow"],"title"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'files/brochure.pdf'"))+" ",1),be,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://example.com/files/brochure.pdf'"))+" ",1),pe,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)\\.zip'")),1)],512),[[d["vShow"],"file"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'amazon.com'"))+" ",1),me,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'http://mypartner.com/landing.html'"))+" ",1),Oe,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.matchesExpressionExternal),1)],512),[[d["vShow"],"external_website"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,[Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Contains","'video'"))+" ",1),je,Object(d["createTextVNode"])(" "+Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_IsExactly","'click'"))+" ",1),ge,Object(d["createTextVNode"])(Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_MatchesExpression","'(.*)_banner'"))+'" ',1)],512),[[d["vShow"],"event"===e.goal.match_attribute]]),Object(d["withDirectives"])(Object(d["createElementVNode"])("span",null,Object(d["toDisplayString"])(e.translate("General_ForExampleShort"))+" "+Object(d["toDisplayString"])(e.translate("Goals_AtLeastMinutes","5","0.5")),513),[[d["vShow"],"visit_duration"===e.goal.match_attribute]])]})),_:1})])],512),[[d["vShow"],"manually"!==e.triggerType]]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"checkbox",name:"case_sensitive",modelValue:e.goal.case_sensitive,"onUpdate:modelValue":t[9]||(t[9]=function(t){return e.goal.case_sensitive=t}),title:e.caseSensitiveTitle},null,8,["modelValue","title"]),[[d["vShow"],"manually"!==e.triggerType&&!e.isMatchAttributeNumeric]])]),Object(d["createElementVNode"])("div",null,["visit_duration"!==e.goal.match_attribute?(Object(d["openBlock"])(),Object(d["createBlock"])(s,{key:0,uicontrol:"radio",name:"allow_multiple","model-value":e.goal.allow_multiple?1:0,"onUpdate:modelValue":t[10]||(t[10]=function(t){return e.goal.allow_multiple=t}),options:e.allowMultipleOptions,introduction:e.translate("Goals_AllowMultipleConversionsPerVisit"),"inline-help":e.translate("Goals_HelpOneConversionPerVisit")},null,8,["model-value","options","introduction","inline-help"])):Object(d["createCommentVNode"])("",!0)]),Object(d["createElementVNode"])("h3",null,Object(d["toDisplayString"])(e.translate("Goals_GoalRevenue"))+" "+Object(d["toDisplayString"])(e.translate("Goals_Optional")),1),Object(d["createElementVNode"])("div",null,[Object(d["createVNode"])(s,{uicontrol:"number",name:"revenue",modelValue:e.goal.revenue,"onUpdate:modelValue":t[11]||(t[11]=function(t){return e.goal.revenue=t}),placeholder:e.translate("Goals_DefaultRevenueLabel"),"inline-help":e.translate("Goals_DefaultRevenueHelp")},null,8,["modelValue","placeholder","inline-help"])]),Object(d["createElementVNode"])("div",null,[Object(d["withDirectives"])(Object(d["createVNode"])(s,{uicontrol:"checkbox",name:"use_event_value",modelValue:e.goal.event_value_as_revenue,"onUpdate:modelValue":t[12]||(t[12]=function(t){return e.goal.event_value_as_revenue=t}),title:e.translate("Goals_UseEventValueAsRevenue"),"inline-help":e.useEventValueAsRevenueHelp},null,8,["modelValue","title","inline-help"]),[[d["vShow"],"event"===e.goal.match_attribute]])]),Object(d["createElementVNode"])("div",he,[e.endEditTableComponent?(Object(d["openBlock"])(),Object(d["createBlock"])(Object(d["resolveDynamicComponent"])(e.endEditTableComponent),{key:0})):Object(d["createCommentVNode"])("",!0)],512),ve,Object(d["createVNode"])(B,{saving:e.isLoading,onConfirm:t[13]||(t[13]=function(t){return e.save()}),value:e.submitText},null,8,["saving","value"]),e.onlyShowAddNewGoal?Object(d["createCommentVNode"])("",!0):(Object(d["openBlock"])(),Object(d["createElementBlock"])("div",ye,[Object(d["withDirectives"])(Object(d["createElementVNode"])("div",{class:"entityCancel",onClick:t[14]||(t[14]=function(t){return e.showListOfReports()}),innerHTML:e.cancelText},null,8,fe),[[d["vShow"],e.showEditGoal]])]))],512),[[$]])]})),_:1},8,["content-title"])],512),[[d["vShow"],e.showEditGoal]])],512),[[d["vShow"],e.userCanEditGoals]]),_e])}var Ee=a("a5a2");function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ne(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function we(e,t,a){return t&&Ne(e.prototype,t),a&&Ne(e,a),e}function Te(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e} /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later -*/var Se=function(){function e(t,a){Ve(this,e),Te(this,"parameters",void 0),Te(this,"options",void 0),this.parameters=t,this.options=a}return we(e,[{key:"addParams",value:function(e){Object.assign(this.parameters,e)}},{key:"withTokenInUrl",value:function(){this.options.withTokenInUrl=!0}},{key:"reset",value:function(){var e=this;Object.keys(this.parameters).forEach((function(t){delete e.parameters[t]})),delete this.options.postParams}},{key:"addPostParams",value:function(e){this.options.postParams=Object.assign(Object.assign({},this.options.postParams),e)}}]),e}(),ke=Object(d["defineComponent"])({props:{onlyShowAddNewGoal:Boolean,userCanEditGoals:Boolean,ecommerceEnabled:Boolean,goals:{type:Object,required:!0},addNewGoalIntro:String,goalTriggerTypeOptions:Object,goalMatchAttributeOptions:Array,eventTypeOptions:Array,patternTypeOptions:Array,numericComparisonTypeOptions:Array,allowMultipleOptions:Array,showAddGoal:Boolean,showGoal:Number,beforeGoalListActionsBody:Object},data:function(){return{showEditGoal:!1,showGoalList:!0,goal:{},isLoading:!1,eventType:"event_category",triggerType:"visitors",apiMethod:"",submitText:"",goalToDelete:null}},components:{SaveButton:Ee["SaveButton"],ContentBlock:o["ContentBlock"],ActivityIndicator:o["ActivityIndicator"],Field:Ee["Field"],Alert:o["Alert"]},directives:{ContentTable:o["ContentTable"],Form:Ee["Form"]},created:function(){this.showAddGoal?this.createGoal():this.showGoal&&this.editGoal(this.showGoal),this.showListOfReports()},methods:{scrollToTop:function(){setTimeout((function(){o["Matomo"].helper.lazyScrollTo(".pageWrap",200)}))},initGoalForm:function(e,t,a,n,l,r,i,c,s,u,d,b){o["Matomo"].postEvent("Goals.beforeInitGoalForm",e,b),this.apiMethod=e,this.goal={},this.goal.name=a,this.goal.description=n;var p=l;"manually"===p?(this.triggerType="manually",p="url"):this.triggerType="visitors",0===p.indexOf("event")?(this.eventType=p,p="event"):this.eventType="event_category",this.goal.match_attribute=p,this.goal.allow_multiple=u,this.goal.pattern_type=i,this.goal.pattern=r,this.goal.case_sensitive=c,this.goal.revenue=s,this.goal.event_value_as_revenue=d,this.submitText=t,this.goal.idgoal=b},showListOfReports:function(){o["Matomo"].postEvent("Goals.cancelForm"),this.showGoalList=!0,this.showEditGoal=!1,this.scrollToTop()},showAddEditForm:function(){this.showGoalList=!1,this.showEditGoal=!0},createGoal:function(){var e={isAllowed:!0};o["Matomo"].postEvent("Goals.initAddGoal",e),e&&!e.isAllowed||(this.showAddEditForm(),this.initGoalForm("Goals.addGoal",Object(o["translate"])("Goals_AddGoal"),"","","url","","contains",!1,0,!1,!1,0),this.scrollToTop())},editGoal:function(e){this.showAddEditForm();var t=this.goals["".concat(e)];this.initGoalForm("Goals.updateGoal",Object(o["translate"])("Goals_UpdateGoal"),t.name,t.description,t.match_attribute,t.pattern,t.pattern_type,!!t.case_sensitive&&"0"!==t.case_sensitive,parseInt("".concat(t.revenue),10),!!t.allow_multiple&&"0"!==t.allow_multiple,!!t.event_value_as_revenue&&"0"!==t.event_value_as_revenue,e),this.scrollToTop()},deleteGoal:function(e){var t=this;this.goalToDelete=this.goals["".concat(e)],o["Matomo"].helper.modalConfirm(this.$refs.confirm,{yes:function(){t.isLoading=!0,o["AjaxHelper"].fetch({idGoal:e,method:"Goals.deleteGoal"}).then((function(){window.location.reload()})).finally((function(){t.isLoading=!1}))}})},save:function(){var e=this,t={};t.name=this.goal.name,t.description=this.goal.description,this.isManuallyTriggered?(t.matchAttribute="manually",t.patternType="regex",t.pattern=".*",t.caseSensitive=0):(t.matchAttribute=this.goal.match_attribute,"event"===t.matchAttribute&&(t.matchAttribute=this.eventType),t.patternType=this.goal.pattern_type,t.pattern=this.goal.pattern,t.caseSensitive=this.goal.case_sensitive?1:0),t.revenue=this.goal.revenue||0,t.allowMultipleConversionsPerVisit=this.goal.allow_multiple?1:0,t.useEventValueAsRevenue=this.goal.event_value_as_revenue?1:0,t.idGoal=this.goal.idgoal,t.method=this.apiMethod;var a="Goals.addGoal"===t.method,n="Goals.updateGoal"===t.method,l={},r=new Se(t,l);n?o["Matomo"].postEvent("Goals.beforeUpdateGoal",t,r):a&&o["Matomo"].postEvent("Goals.beforeAddGoal",t,r),null!==t&&void 0!==t&&t.cancelRequest||(this.isLoading=!0,o["AjaxHelper"].fetch(t,l).then((function(){var t=o["MatomoUrl"].parsed.value.subcategory;"Goals_AddNewGoal"===t&&o["Matomo"].helper.isAngularRenderingThePage()?o["ReportingMenuStore"].reloadMenuItems().then((function(){o["MatomoUrl"].updateHash(Object.assign(Object.assign({},o["MatomoUrl"].hashParsed.value),{},{subcategory:"Goals_ManageGoals"})),e.isLoading=!1})):window.location.reload()})).catch((function(){e.scrollToTop(),e.isLoading=!1})))},changedTriggerType:function(){this.isManuallyTriggered||this.goal.pattern_type||(this.goal.pattern_type="contains")},initPatternType:function(){this.isMatchAttributeNumeric?this.goal.pattern_type="greater_than":this.goal.pattern_type="contains"},lcfirst:function(e){return"".concat(e.substr(0,1).toLowerCase()).concat(e.substr(1))},ucfirst:function(e){return"".concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}},computed:{learnMoreAboutGoalTracking:function(){return Object(o["translate"])("Goals_LearnMoreAboutGoalTrackingDocumentation",'<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/tracking-goals-web-analytics/">',"</a>")},youCanEnableEcommerceReports:function(){var e=o["MatomoUrl"].stringify(Object.assign(Object.assign({},o["MatomoUrl"].urlParsed.value),{},{module:"SitesManager",action:"index"})),t='<a href="https://matomo.org/docs/ecommerce-analytics/" '+'rel="noreferrer noopener" target="_blank">'.concat(Object(o["translate"])("Goals_EcommerceReports"),"</a>"),a="<a href='".concat(e,"'>").concat(Object(o["translate"])("SitesManager_WebsitesManagement"),"</a>");return Object(o["translate"])("Goals_YouCanEnableEcommerceReports",t,a)},siteName:function(){return o["Matomo"].helper.htmlDecode(o["Matomo"].siteName)},whereVisitedPageManuallyCallsJsTrackerText:function(){var e="https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions";return Object(o["translate"])("Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore",'<a target="_blank" rel="noreferrer noopener" href="'.concat(e,'">'),"</a>")},caseSensitiveTitle:function(){return"".concat(Object(o["translate"])("Goals_CaseSensitive")," ").concat(Object(o["translate"])("Goals_Optional"))},useEventValueAsRevenueHelp:function(){return"".concat(Object(o["translate"])("Goals_EventValueAsRevenueHelp")," <br/><br/> ").concat(Object(o["translate"])("Goals_EventValueAsRevenueHelp2"))},cancelText:function(){return Object(o["translate"])("General_OrCancel","<a class='entityCancelLink'>","</a>")},isMatchAttributeNumeric:function(){return["visit_duration"].indexOf(this.goal.match_attribute)>-1},patternFieldLabel:function(){return"visit_duration"===this.goal.match_attribute?Object(o["translate"])("Goals_TimeInMinutes"):Object(o["translate"])("Goals_Pattern")},goalMatchAttributeTranslations:function(){return{manually:Object(o["translate"])("Goals_ManuallyTriggeredUsingJavascriptFunction"),file:Object(o["translate"])("Goals_Download"),url:Object(o["translate"])("Goals_VisitUrl"),title:Object(o["translate"])("Goals_VisitPageTitle"),external_website:Object(o["translate"])("Goals_ClickOutlink"),event_action:"".concat(Object(o["translate"])("Goals_SendEvent")," (").concat(Object(o["translate"])("Events_EventAction"),")"),event_category:"".concat(Object(o["translate"])("Goals_SendEvent")," (").concat(Object(o["translate"])("Events_EventCategory"),")"),event_name:"".concat(Object(o["translate"])("Goals_SendEvent")," (").concat(Object(o["translate"])("Events_EventName"),")"),visit_duration:"".concat(this.ucfirst(Object(o["translate"])("Goals_VisitDuration")))}},beforeGoalListActionsBodyComponent:function(){var e=this;if(!this.beforeGoalListActionsBody)return{};var t={};return Object.values(this.goals).forEach((function(a){t[a.idgoal]={template:e.beforeGoalListActionsBody[a.idgoal]}})),Object(d["markRaw"])(t)},isManuallyTriggered:function(){return"manually"===this.triggerType},matchesExpressionExternal:function(){var e="'http://www.amazon.com\\/(.*)\\/yourAffiliateId'";return Object(o["translate"])("Goals_MatchesExpression",e)}}});ke.render=Ge;var De=ke; +*/var Se=function(){function e(t,a){Ve(this,e),Te(this,"parameters",void 0),Te(this,"options",void 0),this.parameters=t,this.options=a}return we(e,[{key:"addParams",value:function(e){Object.assign(this.parameters,e)}},{key:"withTokenInUrl",value:function(){this.options.withTokenInUrl=!0}},{key:"reset",value:function(){var e=this;Object.keys(this.parameters).forEach((function(t){delete e.parameters[t]})),delete this.options.postParams}},{key:"addPostParams",value:function(e){this.options.postParams=Object.assign(Object.assign({},this.options.postParams),e)}}]),e}(),ke=Object(d["defineComponent"])({inheritAttrs:!1,props:{onlyShowAddNewGoal:Boolean,userCanEditGoals:Boolean,ecommerceEnabled:Boolean,goals:{type:Object,required:!0},addNewGoalIntro:String,goalTriggerTypeOptions:Object,goalMatchAttributeOptions:Array,eventTypeOptions:Array,patternTypeOptions:Array,numericComparisonTypeOptions:Array,allowMultipleOptions:Array,showAddGoal:Boolean,showGoal:Number,beforeGoalListActionsBody:Object,endEditTable:String,beforeGoalListActionsHead:String},data:function(){return{showEditGoal:!1,showGoalList:!0,goal:{},isLoading:!1,eventType:"event_category",triggerType:"visitors",apiMethod:"",submitText:"",goalToDelete:null,addEditTableComponent:!1}},components:{SaveButton:Ee["SaveButton"],ContentBlock:l["ContentBlock"],ActivityIndicator:l["ActivityIndicator"],Field:Ee["Field"],Alert:l["Alert"]},directives:{ContentTable:l["ContentTable"],Form:Ee["Form"]},mounted:function(){var e=this;this.showAddGoal?this.createGoal():this.showGoal&&this.editGoal(this.showGoal),this.showListOfReports(),Object(d["nextTick"])((function(){e.addEditTableComponent=!0,Object(d["nextTick"])((function(){var t=e.$refs.endedittable,a=l["Matomo"].helper.getAngularDependency("$rootScope").$new(!0);$(t).data("scope",a),l["Matomo"].helper.compileAngularComponents(t,{scope:a})}))}))},beforeUnmount:function(){var e=this.$refs.endedittable;$(e).data("scope").$destroy()},methods:{scrollToTop:function(){setTimeout((function(){l["Matomo"].helper.lazyScrollTo(".pageWrap",200)}))},initGoalForm:function(e,t,a,n,o,r,i,c,s,u,d,b){l["Matomo"].postEvent("Goals.beforeInitGoalForm",e,b),this.apiMethod=e,this.goal={},this.goal.name=a,this.goal.description=n;var p=o;"manually"===p?(this.triggerType="manually",p="url"):this.triggerType="visitors",0===p.indexOf("event")?(this.eventType=p,p="event"):this.eventType="event_category",this.goal.match_attribute=p,this.goal.allow_multiple=u,this.goal.pattern_type=i,this.goal.pattern=r,this.goal.case_sensitive=c,this.goal.revenue=s,this.goal.event_value_as_revenue=d,this.submitText=t,this.goal.idgoal=b},showListOfReports:function(){l["Matomo"].postEvent("Goals.cancelForm"),this.showGoalList=!0,this.showEditGoal=!1,this.scrollToTop()},showAddEditForm:function(){this.showGoalList=!1,this.showEditGoal=!0},createGoal:function(){var e={isAllowed:!0};l["Matomo"].postEvent("Goals.initAddGoal",e),e&&!e.isAllowed||(this.showAddEditForm(),this.initGoalForm("Goals.addGoal",Object(l["translate"])("Goals_AddGoal"),"","","url","","contains",!1,0,!1,!1,0),this.scrollToTop())},editGoal:function(e){this.showAddEditForm();var t=this.goals["".concat(e)];this.initGoalForm("Goals.updateGoal",Object(l["translate"])("Goals_UpdateGoal"),t.name,t.description,t.match_attribute,t.pattern,t.pattern_type,!!t.case_sensitive&&"0"!==t.case_sensitive,parseInt("".concat(t.revenue),10),!!t.allow_multiple&&"0"!==t.allow_multiple,!!t.event_value_as_revenue&&"0"!==t.event_value_as_revenue,e),this.scrollToTop()},deleteGoal:function(e){var t=this;this.goalToDelete=this.goals["".concat(e)],l["Matomo"].helper.modalConfirm(this.$refs.confirm,{yes:function(){t.isLoading=!0,l["AjaxHelper"].fetch({idGoal:e,method:"Goals.deleteGoal"}).then((function(){window.location.reload()})).finally((function(){t.isLoading=!1}))}})},save:function(){var e=this,t={};t.name=this.goal.name,t.description=this.goal.description,this.isManuallyTriggered?(t.matchAttribute="manually",t.patternType="regex",t.pattern=".*",t.caseSensitive=0):(t.matchAttribute=this.goal.match_attribute,"event"===t.matchAttribute&&(t.matchAttribute=this.eventType),t.patternType=this.goal.pattern_type,t.pattern=this.goal.pattern,t.caseSensitive=this.goal.case_sensitive?1:0),t.revenue=this.goal.revenue||0,t.allowMultipleConversionsPerVisit=this.goal.allow_multiple?1:0,t.useEventValueAsRevenue=this.goal.event_value_as_revenue?1:0,t.idGoal=this.goal.idgoal,t.method=this.apiMethod;var a="Goals.addGoal"===t.method,n="Goals.updateGoal"===t.method,o={},r=new Se(t,o);n?l["Matomo"].postEvent("Goals.beforeUpdateGoal",t,r):a&&l["Matomo"].postEvent("Goals.beforeAddGoal",t,r),null!==t&&void 0!==t&&t.cancelRequest||(this.isLoading=!0,l["AjaxHelper"].fetch(t,o).then((function(){var t=l["MatomoUrl"].parsed.value.subcategory;"Goals_AddNewGoal"===t&&l["Matomo"].helper.isAngularRenderingThePage()?l["ReportingMenuStore"].reloadMenuItems().then((function(){l["MatomoUrl"].updateHash(Object.assign(Object.assign({},l["MatomoUrl"].hashParsed.value),{},{subcategory:"Goals_ManageGoals"})),e.isLoading=!1})):window.location.reload()})).catch((function(){e.scrollToTop(),e.isLoading=!1})))},changedTriggerType:function(){this.isManuallyTriggered||this.goal.pattern_type||(this.goal.pattern_type="contains")},initPatternType:function(){this.isMatchAttributeNumeric?this.goal.pattern_type="greater_than":this.goal.pattern_type="contains"},lcfirst:function(e){return"".concat(e.substr(0,1).toLowerCase()).concat(e.substr(1))},ucfirst:function(e){return"".concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}},computed:{learnMoreAboutGoalTracking:function(){return Object(l["translate"])("Goals_LearnMoreAboutGoalTrackingDocumentation",'<a target="_blank" rel="noreferrer noopener" href="https://matomo.org/docs/tracking-goals-web-analytics/">',"</a>")},youCanEnableEcommerceReports:function(){var e=l["MatomoUrl"].stringify(Object.assign(Object.assign({},l["MatomoUrl"].urlParsed.value),{},{module:"SitesManager",action:"index"})),t='<a href="https://matomo.org/docs/ecommerce-analytics/" '+'rel="noreferrer noopener" target="_blank">'.concat(Object(l["translate"])("Goals_EcommerceReports"),"</a>"),a="<a href='".concat(e,"'>").concat(Object(l["translate"])("SitesManager_WebsitesManagement"),"</a>");return Object(l["translate"])("Goals_YouCanEnableEcommerceReports",t,a)},siteName:function(){return l["Matomo"].helper.htmlDecode(l["Matomo"].siteName)},whereVisitedPageManuallyCallsJsTrackerText:function(){var e="https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions";return Object(l["translate"])("Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore",'<a target="_blank" rel="noreferrer noopener" href="'.concat(e,'">'),"</a>")},caseSensitiveTitle:function(){return"".concat(Object(l["translate"])("Goals_CaseSensitive")," ").concat(Object(l["translate"])("Goals_Optional"))},useEventValueAsRevenueHelp:function(){return"".concat(Object(l["translate"])("Goals_EventValueAsRevenueHelp")," <br/><br/> ").concat(Object(l["translate"])("Goals_EventValueAsRevenueHelp2"))},cancelText:function(){return Object(l["translate"])("General_OrCancel","<a class='entityCancelLink'>","</a>")},isMatchAttributeNumeric:function(){return["visit_duration"].indexOf(this.goal.match_attribute)>-1},patternFieldLabel:function(){return"visit_duration"===this.goal.match_attribute?Object(l["translate"])("Goals_TimeInMinutes"):Object(l["translate"])("Goals_Pattern")},goalMatchAttributeTranslations:function(){return{manually:Object(l["translate"])("Goals_ManuallyTriggeredUsingJavascriptFunction"),file:Object(l["translate"])("Goals_Download"),url:Object(l["translate"])("Goals_VisitUrl"),title:Object(l["translate"])("Goals_VisitPageTitle"),external_website:Object(l["translate"])("Goals_ClickOutlink"),event_action:"".concat(Object(l["translate"])("Goals_SendEvent")," (").concat(Object(l["translate"])("Events_EventAction"),")"),event_category:"".concat(Object(l["translate"])("Goals_SendEvent")," (").concat(Object(l["translate"])("Events_EventCategory"),")"),event_name:"".concat(Object(l["translate"])("Goals_SendEvent")," (").concat(Object(l["translate"])("Events_EventName"),")"),visit_duration:"".concat(this.ucfirst(Object(l["translate"])("Goals_VisitDuration")))}},beforeGoalListActionsBodyComponent:function(){var e=this;if(!this.beforeGoalListActionsBody)return{};var t={};return Object.values(this.goals).forEach((function(a){t[a.idgoal]={template:e.beforeGoalListActionsBody[a.idgoal]}})),Object(d["markRaw"])(t)},endEditTableComponent:function(){return this.endEditTable&&this.addEditTableComponent?Object(d["markRaw"])({template:this.endEditTable}):null},beforeGoalListActionsHeadComponent:function(){return this.beforeGoalListActionsHead?Object(d["markRaw"])({template:this.beforeGoalListActionsHead}):null},isManuallyTriggered:function(){return"manually"===this.triggerType},matchesExpressionExternal:function(){var e="'http://www.amazon.com\\/(.*)\\/yourAffiliateId'";return Object(l["translate"])("Goals_MatchesExpression",e)}}});ke.render=Ge;var De=ke; /*! * Matomo - free/libre analytics platform * * @link https://matomo.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - */Object(o["createAngularJsAdapter"])({component:De,directiveName:"piwikManageGoals",scope:{userCanEditGoals:{angularJsBind:"<"},onlyShowAddNewGoal:{angularJsBind:"<"},ecommerceEnabled:{angularJsBind:"<"},beforeGoalListActionsHead:{angularJsBind:"<"},goals:{angularJsBind:"<"},showGoal:{angularJsBind:"<"},showAddGoal:{angularJsBind:"<"},addNewGoalIntro:{angularJsBind:"<"},goalTriggerTypeOptions:{angularJsBind:"<"},goalMatchAttributeOptions:{angularJsBind:"<"},eventTypeOptions:{angularJsBind:"<"},patternTypeOptions:{angularJsBind:"<"},numericComparisonTypeOptions:{angularJsBind:"<"},allowMultipleOptions:{angularJsBind:"<"},beforeGoalListActionsBody:{angularJsBind:"<"},endGoalEditTable:{angularJsBind:"<"}}})}})})); + */Object(l["createAngularJsAdapter"])({component:De,directiveName:"piwikManageGoals",scope:{userCanEditGoals:{angularJsBind:"<"},onlyShowAddNewGoal:{angularJsBind:"<"},ecommerceEnabled:{angularJsBind:"<"},goals:{angularJsBind:"<"},showGoal:{angularJsBind:"<"},showAddGoal:{angularJsBind:"<"},addNewGoalIntro:{angularJsBind:"<"},goalTriggerTypeOptions:{angularJsBind:"<"},goalMatchAttributeOptions:{angularJsBind:"<"},eventTypeOptions:{angularJsBind:"<"},patternTypeOptions:{angularJsBind:"<"},numericComparisonTypeOptions:{angularJsBind:"<"},allowMultipleOptions:{angularJsBind:"<"},beforeGoalListActionsBody:{angularJsBind:"<"},endEditTable:{angularJsBind:"<"},beforeGoalListActionsHead:{angularJsBind:"<"}}})}})})); //# sourceMappingURL=Goals.umd.min.js.map
\ No newline at end of file diff --git a/plugins/Goals/vue/src/ManageGoals/ManageGoals.adapter.ts b/plugins/Goals/vue/src/ManageGoals/ManageGoals.adapter.ts index b37a487b2b..72237788a8 100644 --- a/plugins/Goals/vue/src/ManageGoals/ManageGoals.adapter.ts +++ b/plugins/Goals/vue/src/ManageGoals/ManageGoals.adapter.ts @@ -21,9 +21,6 @@ export default createAngularJsAdapter({ ecommerceEnabled: { angularJsBind: '<', }, - beforeGoalListActionsHead: { - angularJsBind: '<', - }, goals: { angularJsBind: '<', }, @@ -57,7 +54,10 @@ export default createAngularJsAdapter({ beforeGoalListActionsBody: { angularJsBind: '<', }, - endGoalEditTable: { + endEditTable: { + angularJsBind: '<', + }, + beforeGoalListActionsHead: { angularJsBind: '<', }, }, diff --git a/plugins/Goals/vue/src/ManageGoals/ManageGoals.vue b/plugins/Goals/vue/src/ManageGoals/ManageGoals.vue index a67ae70e81..667935117b 100644 --- a/plugins/Goals/vue/src/ManageGoals/ManageGoals.vue +++ b/plugins/Goals/vue/src/ManageGoals/ManageGoals.vue @@ -5,372 +5,385 @@ --> <template> - <div v-if="!onlyShowAddNewGoal"> - <div - id='entityEditContainer' - feature="true" - v-show="showGoalList" - class="managegoals" - > - <ContentBlock :content-title="translate('Goals_ManageGoals')"> - <ActivityIndicator :loading="isLoading"/> - - <div class="contentHelp"> - <span v-html="learnMoreAboutGoalTracking"/> - <span v-if="!ecommerceEnabled"> - <br /><br/> - - {{ translate('Goals_Optional') }} {{ translate('Goals_Ecommerce') }}: - <span v-html="youCanEnableEcommerceReports"/> - </span> - </div> + <div> + <!-- v-show required until funnels/multiattribution are using vue and not angularjs --> + <div v-show="!onlyShowAddNewGoal"> + <div + id='entityEditContainer' + feature="true" + v-show="showGoalList" + class="managegoals" + > + <ContentBlock :content-title="translate('Goals_ManageGoals')"> + <ActivityIndicator :loading="isLoading"/> - <table v-content-table> - <thead> - <tr> - <th class="first">Id</th> - <th>{{ translate('Goals_GoalName') }}</th> - <th>{{ translate('General_Description') }}</th> - <th>{{ translate('Goals_GoalIsTriggeredWhen') }}</th> - <th>{{ translate('General_ColumnRevenue') }}</th> - <slot name="thead"></slot> - <th v-if="userCanEditGoals">{{ translate('General_Edit') }}</th> - <th v-if="userCanEditGoals">{{ translate('General_Delete') }}</th> - </tr> - </thead> - <tbody> - <tr v-if="!Object.keys(goals || {}).length"> - <td colspan='8'> - <br/> - {{ translate('Goals_ThereIsNoGoalToManage', siteName) }} - <br/><br/> - </td> - </tr> - <tr v-for="goal in goals || []" :id="goal.idgoal" :key="goal.idgoal"> - <td class="first">{{ goal.idgoal }}</td> - <td>{{ goal.name }}</td> - <td>{{ goal.description }}</td> - <td> - <span class='matchAttribute'> - {{ goalMatchAttributeTranslations[goal.match_attribute] || goal.match_attribute }} - </span> - <span v-if="goal.match_attribute === 'visit_duration'"> - {{ lcfirst(translate('General_OperationGreaterThan')) }} - {{ translate('Intl_NMinutes', goal.pattern) }} - </span> - <span v-else-if="!!goal.pattern_type"> + <div class="contentHelp"> + <span v-html="learnMoreAboutGoalTracking"/> + <span v-if="!ecommerceEnabled"> + <br /><br/> + + {{ translate('Goals_Optional') }} {{ translate('Goals_Ecommerce') }}: + <span v-html="youCanEnableEcommerceReports"/> + </span> + </div> + + <table v-content-table> + <thead> + <tr> + <th class="first">{{ translate('General_Id') }}</th> + <th>{{ translate('Goals_GoalName') }}</th> + <th>{{ translate('General_Description') }}</th> + <th>{{ translate('Goals_GoalIsTriggeredWhen') }}</th> + <th>{{ translate('General_ColumnRevenue') }}</th> + + <component + v-if="beforeGoalListActionsHeadComponent" + :is="beforeGoalListActionsHeadComponent" + ></component> + + <th v-if="userCanEditGoals">{{ translate('General_Edit') }}</th> + <th v-if="userCanEditGoals">{{ translate('General_Delete') }}</th> + </tr> + </thead> + <tbody> + <tr v-if="!Object.keys(goals || {}).length"> + <td colspan='8'> <br/> - {{ translate('Goals_Pattern') }} {{ goal.pattern_type }}: {{ goal.pattern }} - </span> - </td> - <td - class="center" - v-html="goal.revenue === 0 || goal.revenue === '0' - ? '-' - : $sanitize(goal.revenue_pretty)" - > - </td> - - <component - v-if="beforeGoalListActionsBodyComponent[goal.idgoal]" - :is="beforeGoalListActionsBodyComponent[goal.idgoal]" - ></component> - - <td v-if="userCanEditGoals" style="padding-top:2px"> - <button - @click="editGoal(goal.idgoal)" - class="table-action" - :title="translate('General_Edit')" - > - <span class="icon-edit"></span> - </button> - </td> - <td v-if="userCanEditGoals" style="padding-top:2px"> - <button - @click="deleteGoal(goal.idgoal)" - class="table-action" - :title="translate('General_Delete')" + {{ translate('Goals_ThereIsNoGoalToManage', siteName) }} + <br/><br/> + </td> + </tr> + <tr v-for="goal in goals || []" :id="goal.idgoal" :key="goal.idgoal"> + <td class="first">{{ goal.idgoal }}</td> + <td>{{ goal.name }}</td> + <td>{{ goal.description }}</td> + <td> + <span class='matchAttribute'> + {{ goalMatchAttributeTranslations[goal.match_attribute] + || goal.match_attribute }} + </span> + <span v-if="goal.match_attribute === 'visit_duration'"> + {{ lcfirst(translate('General_OperationGreaterThan')) }} + {{ translate('Intl_NMinutes', goal.pattern) }} + </span> + <span v-else-if="!!goal.pattern_type"> + <br/> + {{ translate('Goals_Pattern') }} {{ goal.pattern_type }}: {{ goal.pattern }} + </span> + </td> + <td + class="center" + v-html="goal.revenue === 0 || goal.revenue === '0' + ? '-' + : $sanitize(goal.revenue_pretty)" > - <span class="icon-delete"></span> - </button> - </td> - </tr> - </tbody> - </table> - - <div class="tableActionBar" v-if="userCanEditGoals && !onlyShowAddNewGoal"> - <button id="add-goal" @click="createGoal()"> - <span class="icon-add"></span> - {{ translate('Goals_AddNewGoal') }} - </button> - </div> - </ContentBlock> - </div> + </td> + + <component + v-if="beforeGoalListActionsBodyComponent[goal.idgoal]" + :is="beforeGoalListActionsBodyComponent[goal.idgoal]" + ></component> + + <td v-if="userCanEditGoals" style="padding-top:2px"> + <button + @click="editGoal(goal.idgoal)" + class="table-action" + :title="translate('General_Edit')" + > + <span class="icon-edit"></span> + </button> + </td> + <td v-if="userCanEditGoals" style="padding-top:2px"> + <button + @click="deleteGoal(goal.idgoal)" + class="table-action" + :title="translate('General_Delete')" + > + <span class="icon-delete"></span> + </button> + </td> + </tr> + </tbody> + </table> + + <div class="tableActionBar" v-if="userCanEditGoals && !onlyShowAddNewGoal"> + <button id="add-goal" @click="createGoal()"> + <span class="icon-add"></span> + {{ translate('Goals_AddNewGoal') }} + </button> + </div> + </ContentBlock> + </div> - <div class="ui-confirm" ref="confirm"> - <h2>{{ translate('Goals_DeleteGoalConfirm', `"${goalToDelete?.name}"`) }}</h2> - <input role="yes" type="button" :value="translate('General_Yes')"/> - <input role="no" type="button" :value="translate('General_No')"/> + <div class="ui-confirm" ref="confirm"> + <h2>{{ translate('Goals_DeleteGoalConfirm', `"${goalToDelete?.name}"`) }}</h2> + <input role="yes" type="button" :value="translate('General_Yes')"/> + <input role="no" type="button" :value="translate('General_No')"/> + </div> </div> - </div> - - <div v-if="userCanEditGoals"> - <div class="addEditGoal" v-show="showEditGoal"> - <ContentBlock - :content-title="goal.idgoal - ? translate('Goals_UpdateGoal') - : translate('Goals_AddNewGoal')" - > - <div v-html="$sanitize(addNewGoalIntro)"></div> - <div v-form> - <div> - <Field - uicontrol="text" - name="goal_name" - v-model="goal.name" - :maxlength="50" - :title="translate('Goals_GoalName')"> - </Field> - </div> - - <div> - <Field - uicontrol="text" - name="goal_description" - v-model="goal.description" - :maxlength="255" - :title="translate('General_Description')" - /> - </div> + <!-- v-show required until funnels/multiattribution are using vue and not angularjs --> + <div v-show="userCanEditGoals"> + <div class="addEditGoal" v-show="showEditGoal"> + <ContentBlock + :content-title="goal.idgoal + ? translate('Goals_UpdateGoal') + : translate('Goals_AddNewGoal')" + > + <div v-html="$sanitize(addNewGoalIntro)"></div> + + <div v-form> + <div> + <Field + uicontrol="text" + name="goal_name" + v-model="goal.name" + :maxlength="50" + :title="translate('Goals_GoalName')"> + </Field> + </div> - <div class="row goalIsTriggeredWhen"> - <div class="col s12"> - <h3>{{ translate('Goals_GoalIsTriggered') }}</h3> + <div> + <Field + uicontrol="text" + name="goal_description" + v-model="goal.description" + :maxlength="255" + :title="translate('General_Description')" + /> </div> - </div> - <div class="row"> - <div class="col s12 m6 goalTriggerType"> - <div> - <Field - uicontrol="select" name="trigger_type" - :model-value="triggerType" - @update:model-value="triggerType = $event; changedTriggerType()" - :full-width="true" - :options="goalTriggerTypeOptions" - /> + <div class="row goalIsTriggeredWhen"> + <div class="col s12"> + <h3>{{ translate('Goals_GoalIsTriggered') }}</h3> </div> </div> - <div class="col s12 m6"> - <Alert severity="info" v-show="triggerType === 'manually'"> - <span v-html="whereVisitedPageManuallyCallsJsTrackerText"></span> - </Alert> - <div> - <Field - uicontrol="radio" - name="match_attribute" - v-show="triggerType !== 'manually'" - :full-width="true" - :model-value="goal.match_attribute" - @update:model-value="goal.match_attribute = $event; initPatternType()" - :options="goalMatchAttributeOptions" - /> + <div class="row"> + <div class="col s12 m6 goalTriggerType"> + <div> + <Field + uicontrol="select" name="trigger_type" + :model-value="triggerType" + @update:model-value="triggerType = $event; changedTriggerType()" + :full-width="true" + :options="goalTriggerTypeOptions" + /> + </div> + </div> + <div class="col s12 m6"> + <Alert severity="info" v-show="triggerType === 'manually'"> + <span v-html="whereVisitedPageManuallyCallsJsTrackerText"></span> + </Alert> + + <div> + <Field + uicontrol="radio" + name="match_attribute" + v-show="triggerType !== 'manually'" + :full-width="true" + :model-value="goal.match_attribute" + @update:model-value="goal.match_attribute = $event; initPatternType()" + :options="goalMatchAttributeOptions" + /> + </div> </div> </div> - </div> - <div class="row whereTheMatchAttrbiute" v-show="triggerType !== 'manually'"> - <h3 class="col s12">{{ translate('Goals_WhereThe') }} - <span v-show="goal.match_attribute === 'url'"> - {{ translate('Goals_URL') }} - </span> - <span v-show="goal.match_attribute === 'title'"> - {{ translate('Goals_PageTitle') }} - </span> - <span v-show="goal.match_attribute === 'file'"> - {{ translate('Goals_Filename') }} - </span> - <span v-show="goal.match_attribute === 'external_website'"> - {{ translate('Goals_ExternalWebsiteUrl') }} - </span> - <span v-show="goal.match_attribute === 'visit_duration'"> - {{ translate('Goals_VisitDuration') }} - </span> - </h3> - </div> + <div class="row whereTheMatchAttrbiute" v-show="triggerType !== 'manually'"> + <h3 class="col s12">{{ translate('Goals_WhereThe') }} + <span v-show="goal.match_attribute === 'url'"> + {{ translate('Goals_URL') }} + </span> + <span v-show="goal.match_attribute === 'title'"> + {{ translate('Goals_PageTitle') }} + </span> + <span v-show="goal.match_attribute === 'file'"> + {{ translate('Goals_Filename') }} + </span> + <span v-show="goal.match_attribute === 'external_website'"> + {{ translate('Goals_ExternalWebsiteUrl') }} + </span> + <span v-show="goal.match_attribute === 'visit_duration'"> + {{ translate('Goals_VisitDuration') }} + </span> + </h3> + </div> - <div class="row" v-show="triggerType !== 'manually'"> - <div class="col s12 m6 l4" - v-show="goal.match_attribute === 'event'"> - <div> - <Field - uicontrol="select" name="event_type" - v-model="eventType" - :full-width="true" - :options="eventTypeOptions" - /> + <div class="row" v-show="triggerType !== 'manually'"> + <div class="col s12 m6 l4" + v-show="goal.match_attribute === 'event'"> + <div> + <Field + uicontrol="select" name="event_type" + v-model="eventType" + :full-width="true" + :options="eventTypeOptions" + /> + </div> </div> - </div> - <div class="col s12 m6 l4" v-if="!isMatchAttributeNumeric"> - <div> - <Field - uicontrol="select" - name="pattern_type" - v-model="goal.pattern_type" - :full-width="true" - :options="patternTypeOptions" - /> + <div class="col s12 m6 l4" v-if="!isMatchAttributeNumeric"> + <div> + <Field + uicontrol="select" + name="pattern_type" + v-model="goal.pattern_type" + :full-width="true" + :options="patternTypeOptions" + /> + </div> + </div> + + <div class="col s12 m6 l4" v-if="isMatchAttributeNumeric"> + <div> + <Field + uicontrol="select" name="pattern_type" + v-model="goal.pattern_type" + :full-width="true" + :options="numericComparisonTypeOptions" + /> + </div> </div> - </div> - <div class="col s12 m6 l4" v-if="isMatchAttributeNumeric"> - <div> - <Field - uicontrol="select" name="pattern_type" - v-model="goal.pattern_type" - :full-width="true" - :options="numericComparisonTypeOptions" - /> + <div class="col s12 m6 l4"> + <div> + <Field + uicontrol="text" name="pattern" + v-model="goal.pattern" + :maxlength="255" + :title="patternFieldLabel" + :full-width="true" + /> </div> </div> - <div class="col s12 m6 l4"> - <div> - <Field - uicontrol="text" name="pattern" - v-model="goal.pattern" - :maxlength="255" - :title="patternFieldLabel" - :full-width="true" - /> + <div id="examples_pattern" class="col s12"> + <Alert severity="info"> + <span v-show="goal.match_attribute === 'url'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_Contains', "'checkout/confirmation'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_IsExactly', "'http://example.com/thank-you.html'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_MatchesExpression', "'(.*)\\\/demo\\\/(.*)'") }} + </span> + <span v-show="goal.match_attribute === 'title'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_Contains', "'Order confirmation'") }} + </span> + <span v-show="goal.match_attribute === 'file'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_Contains', "'files/brochure.pdf'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_IsExactly', "'http://example.com/files/brochure.pdf'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_MatchesExpression', "'(.*)\\\.zip'") }} + </span> + <span v-show="goal.match_attribute === 'external_website'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_Contains', "'amazon.com'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_IsExactly', "'http://mypartner.com/landing.html'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ matchesExpressionExternal }} + </span> + <span v-show="goal.match_attribute === 'event'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_Contains', "'video'") }} + <br /> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_IsExactly', "'click'") }} + <br />{{ translate('General_ForExampleShort') }} + {{ translate('Goals_MatchesExpression', "'(.*)_banner'") }}" + </span> + <span v-show="goal.match_attribute === 'visit_duration'"> + {{ translate('General_ForExampleShort') }} + {{ translate('Goals_AtLeastMinutes', '5', '0.5') }} + </span> + </Alert> </div> </div> - <div id="examples_pattern" class="col s12"> - <Alert severity="info"> - <span v-show="goal.match_attribute === 'url'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_Contains', "'checkout/confirmation'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_IsExactly', "'http://example.com/thank-you.html'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_MatchesExpression', "'(.*)\\\/demo\\\/(.*)'") }} - </span> - <span v-show="goal.match_attribute === 'title'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_Contains', "'Order confirmation'") }} - </span> - <span v-show="goal.match_attribute === 'file'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_Contains', "'files/brochure.pdf'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_IsExactly', "'http://example.com/files/brochure.pdf'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_MatchesExpression', "'(.*)\\\.zip'") }} - </span> - <span v-show="goal.match_attribute === 'external_website'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_Contains', "'amazon.com'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_IsExactly', "'http://mypartner.com/landing.html'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ matchesExpressionExternal }} - </span> - <span v-show="goal.match_attribute === 'event'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_Contains', "'video'") }} - <br /> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_IsExactly', "'click'") }} - <br />{{ translate('General_ForExampleShort') }} - {{ translate('Goals_MatchesExpression', "'(.*)_banner'") }}" - </span> - <span v-show="goal.match_attribute === 'visit_duration'"> - {{ translate('General_ForExampleShort') }} - {{ translate('Goals_AtLeastMinutes', '5', '0.5') }} - </span> - </Alert> + <div> + <Field + uicontrol="checkbox" + name="case_sensitive" + v-model="goal.case_sensitive" + v-show="triggerType !== 'manually' && !isMatchAttributeNumeric" + :title="caseSensitiveTitle" + /> </div> - </div> - - <div> - <Field - uicontrol="checkbox" - name="case_sensitive" - v-model="goal.case_sensitive" - v-show="triggerType !== 'manually' && !isMatchAttributeNumeric" - :title="caseSensitiveTitle" - /> - </div> - <div> - <Field - uicontrol="radio" - name="allow_multiple" - :model-value="goal.allow_multiple ? 1 : 0" - @update:model-value="goal.allow_multiple = $event" - v-if="goal.match_attribute !== 'visit_duration'" - :options="allowMultipleOptions" - :introduction="translate('Goals_AllowMultipleConversionsPerVisit')" - :inline-help="translate('Goals_HelpOneConversionPerVisit')" - /> - </div> + <div> + <Field + uicontrol="radio" + name="allow_multiple" + :model-value="goal.allow_multiple ? 1 : 0" + @update:model-value="goal.allow_multiple = $event" + v-if="goal.match_attribute !== 'visit_duration'" + :options="allowMultipleOptions" + :introduction="translate('Goals_AllowMultipleConversionsPerVisit')" + :inline-help="translate('Goals_HelpOneConversionPerVisit')" + /> + </div> - <h3>{{ translate('Goals_GoalRevenue') }} {{ translate('Goals_Optional') }}</h3> + <h3>{{ translate('Goals_GoalRevenue') }} {{ translate('Goals_Optional') }}</h3> - <div> - <Field - uicontrol="number" - name="revenue" - v-model="goal.revenue" - :placeholder="translate('Goals_DefaultRevenueLabel')" - :inline-help="translate('Goals_DefaultRevenueHelp')" - /> - </div> + <div> + <Field + uicontrol="number" + name="revenue" + v-model="goal.revenue" + :placeholder="translate('Goals_DefaultRevenueLabel')" + :inline-help="translate('Goals_DefaultRevenueHelp')" + /> + </div> - <div> - <Field - uicontrol="checkbox" - name="use_event_value" - v-model="goal.event_value_as_revenue" - :title="translate('Goals_UseEventValueAsRevenue')" - v-show="goal.match_attribute === 'event'" - :inline-help="useEventValueAsRevenueHelp" - /> - </div> + <div> + <Field + uicontrol="checkbox" + name="use_event_value" + v-model="goal.event_value_as_revenue" + :title="translate('Goals_UseEventValueAsRevenue')" + v-show="goal.match_attribute === 'event'" + :inline-help="useEventValueAsRevenueHelp" + /> + </div> - <slot name="endedittable"></slot> + <div ref="endedittable"> + <component :is="endEditTableComponent" v-if="endEditTableComponent"/> + </div> - <input type="hidden" name="goalIdUpdate" value=""/> + <input type="hidden" name="goalIdUpdate" value=""/> - <SaveButton - :saving="isLoading" - @confirm="save()" - :value="submitText" - /> + <SaveButton + :saving="isLoading" + @confirm="save()" + :value="submitText" + /> - <div v-if="!onlyShowAddNewGoal"> - <div - class='entityCancel' - v-show="showEditGoal" - @click="showListOfReports()" - v-html="cancelText" - > + <div v-if="!onlyShowAddNewGoal"> + <div + class='entityCancel' + v-show="showEditGoal" + @click="showListOfReports()" + v-html="cancelText" + > + </div> </div> </div> - </div> - </ContentBlock> - </div> - </div> + </ContentBlock> + </div> + </div> - <a id='bottom'></a> + <a id='bottom'></a> + </div> </template> <script lang="ts"> -import { defineComponent, markRaw } from 'vue'; +import { IScope } from 'angular'; +import { defineComponent, markRaw, nextTick } from 'vue'; import { Matomo, AjaxHelper, @@ -401,9 +414,11 @@ interface ManageGoalsState { apiMethod: string; submitText: string; goalToDelete: Goal|null; + addEditTableComponent: boolean; } export default defineComponent({ + inheritAttrs: false, props: { onlyShowAddNewGoal: Boolean, userCanEditGoals: Boolean, @@ -422,6 +437,8 @@ export default defineComponent({ showAddGoal: Boolean, showGoal: Number, beforeGoalListActionsBody: Object, + endEditTable: String, + beforeGoalListActionsHead: String, }, data(): ManageGoalsState { return { @@ -434,6 +451,7 @@ export default defineComponent({ apiMethod: '', submitText: '', goalToDelete: null, + addEditTableComponent: false, }; }, components: { @@ -447,7 +465,7 @@ export default defineComponent({ ContentTable, Form, }, - created() { + mounted() { if (this.showAddGoal) { this.createGoal(); } else if (this.showGoal) { @@ -455,6 +473,25 @@ export default defineComponent({ } this.showListOfReports(); + + // this component can be used in multiple places, one where + // Matomo.helper.compileAngularComponents() is already called, one where it's not. + // to make sure this function is only applied once to the slot data, we explicitly do not + // add it to vue, then on the next update, add it and call compileAngularComponents() + nextTick(() => { + this.addEditTableComponent = true; + + nextTick(() => { + const el = this.$refs.endedittable as HTMLElement; + const scope = Matomo.helper.getAngularDependency('$rootScope').$new(true); + $(el).data('scope', scope); + Matomo.helper.compileAngularComponents(el, { scope }); + }); + }); + }, + beforeUnmount() { + const el = this.$refs.endedittable as HTMLElement; + ($(el).data('scope') as IScope).$destroy(); }, methods: { scrollToTop() { @@ -754,6 +791,24 @@ export default defineComponent({ }); return markRaw(componentsByIdGoal); }, + endEditTableComponent() { + if (!this.endEditTable || !this.addEditTableComponent) { + return null; + } + + return markRaw({ + template: this.endEditTable, + }); + }, + beforeGoalListActionsHeadComponent() { + if (!this.beforeGoalListActionsHead) { + return null; + } + + return markRaw({ + template: this.beforeGoalListActionsHead, + }); + }, isManuallyTriggered() { return this.triggerType === 'manually'; }, |