Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordizzy <diosmosis@users.noreply.github.com>2022-01-11 01:52:52 +0300
committerGitHub <noreply@github.com>2022-01-11 01:52:52 +0300
commit40afe8b101537e1ca4c28d345b756a22cbaeac21 (patch)
treec49c42dd72ec9fed55ed4c1eb8b5fb84d77038fc /plugins/CorePluginsAdmin
parentd17b842d09fa3726f2fee7c203601d6895d14bad (diff)
[Vue] enable full typescript compilation + fix typing errors in existing Vue code (#18545)
* rebuild CoreHome * quick fix * built vue files * fix angularjs issue * add comment * update umd files * 4.6.1-rc1 * 4.6.1 * fix field array title * apply some pr feedback * apply more pr feedback * another fix * tweak * fix ng-change not executed before ng-model * fix another set of issues * fix another issue * rebuild vue * better ng-change/ng-model fix * update some screenshots * rebuild vue * remove some TODOs * initiate initial ng-change ONLY for site selectors where this behavior applies * emit/broadcast on correct scope in wrapper * rebuild vue * fix some issues * couple more fixes * fix another title issue * rebuild vue * do not report on ajax errors in notifications if not logged in * migrate reporting page and model * rebuild vue * create sites selector model adapter * fix siteselector vue bug, initial site is only set if there is just one site available * rebuild vue * migrate plugin settings directive * remove TODO * migrate plugin filter directive * migrate two more plugins directives * migrate save button * fix a bunch of bugs * fix another widget bug * allow change event name between angularjs and vue * rebuild vue * migrate plugin form directive * get to work * migrate select-on-focus directive and start migrating report-export directive * finish migrating report export directive & popover component + create reusable function to create vue app and add globals to it * rebuild vue * remove angularjs files and move less contents to vue dir * migrate sparkline component * migrate progressbar component * migrate content intro & content table directives * rebuild vue * migrate piwik-ajax-form component to vue * migrate popover handler directive to service class * migrate dropdownbutton directive though it does not seem to be in use * migrate show sensitive data directive * build vue * built vue files * fix function signature * fix vue warning * fix ajax request race condition * rebuild vue * add new notification type "help" so the help notification is not cleared when clearing transient notifications * fix some bugs and tests * update screenshot * update screenshot & fix a test * allow using unminified jquery ui + fix bug in last fix * fix error when enrichedheadline is used in modal * add polyfill min.js * remove two todos * fix widget url logic * update some screenshots and fix sanitization/escape issue * update screenshots * rebuild vue * fix url location updating regression in MatomoUrl.updateLocation use * submodule * update screenshots and fix possible error in json parse * built vue files * Merge branch 'vue-period-selector-regression' into vue-reporting-menu * rebuild vue * use correct variable * rebuild vue * fix widget url logic * segment parameter can be undefined now for some reason * fix ngmodel binding in siteselector adapter (for last time hopefully) * the original site selector only set the first site to the first site in the initial sites query if there was only one site in the entire matomo instance * fix sitesmanager ui test failure * fix usersettings test failure * rebuild vue * more siteselector tweaks. * build CoreHome * more siteselector tweaks. * another siteselector issue * update screenshots * update screenshot and try to fix random failure * fix some issues in widget.vue when containerid is specified * fix couple tests * fix several test failures * fix string concat * fix test failure * extra change * fix last change and random failure * styling fix * fix last fix * real fix this time * fix stray request * proper fix * update build files * try to fix random failure * do not submit form * check for api errors in promise chain in ajaxhelper.ts * force a digest after a location change * use proper abortcontroller method instead of promise hack, have to add new polyfill + try to fix random test failure * some UI test fixes * fix some report export issues * several save button fixes + make replace approximation in createAngularJsAdapter better * fix sparkline * apply after manual click triggering in savebutton * css fixes and piwik-content-table was never applied by angularjs in installtion * rebuild vue * add names to divs so they can still be queried as they were in angularjs * rebuild vue * rebuild vue * now that format_metrics checkbox works, need to check it * small delay before processing first popover * fix dropdown class/directive name * fix overlay test * remove unintended changes * remove unintended changes * do not do a passthrough transpile of vue typescript, and fix many typescript errors in existing code * more typescript fixes * even more fixes * workarounds to fix recursive typing issues * get corehome to build w/ full typescript build and output type definitions to local dir * get outputted typings to be used when compiling other plugins and fix typescript issues in CorePluginsAdmin * readd corehome umd * fix typescript errors in ExampleVue plugin * fix feedback typescript errors * update screenshots * Show a summary of new features (#18065) * Added "What is new" notification display, populated by a new event * Removed test example event hook * Added support for applying a link attribute to menu items, fixes layout issue for mobile with html menu items * Updated UI test screenshots * Revert accidental edit * Hide the "What's new" icon if there are no new features to show * Changed to use changes.json, track user last viewed, added ui test * Fix UserManager unit tests broken by new ts_changes_viewed user field * Moved getChanges to separate helper class, added unit test, added user view access check * Updated to add new changes table and populate only on plugin update/install * Added missing fixture class, updated UI screenshots * Updated matomo font to add ringing bell and new releases icons * Fix for integration test * Reworked class structure, removed unnecessary angular directive, merged templates, other tidy ups * built vue files * built vue files * Added null user check, missing table exception handling, show plugin name in change title, better handling of missing change fields * Added sample changes file, moved UserChanges db code to changes model, added return type hints, better db error code handling, various other improvements * Revert accidental UI screenshot commit * Fix for incorrect link name parameter in sample changes, switched back to using $db->query for INSERT IGNORE * Integration test fix, UI screenshot updates * Test fix * Added link styling, show CoreHome changes without plugin prefix in title * Update UI test screenshot * Added styles to the popover, added event for filtering changes * Test fix * UI test screenshot updates Co-authored-by: sgiehl <stefan@matomo.org> Co-authored-by: bx80 <bx80@users.noreply.github.com> * Update test translation (#18531) update a test failed XML * updates all submodules (#18541) Co-authored-by: diosmosis <diosmosis@users.noreply.github.com> * Translations update from Hosted Weblate (#18529) * Translated using Weblate (Greek) Currently translated at 100.0% (162 of 162 strings) Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/el/ [ci skip] Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Vasilis Lourdas <dev@lourdas.eu> * Translated using Weblate (Chinese (Simplified)) Currently translated at 83.9% (136 of 162 strings) Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/zh_Hans/ [ci skip] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.6% (620 of 622 strings) Translation: Matomo/Matomo Base Translate-URL: https://hosted.weblate.org/projects/matomo/matomo-base/zh_Hans/ [ci skip] Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: 刘韬 <lyuutau@outlook.com> * Update translation files Updated by "Squash Git commits" hook in Weblate. Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/ [ci skip] Co-authored-by: Vasilis Lourdas <dev@lourdas.eu> Co-authored-by: 刘韬 <lyuutau@outlook.com> * [Vue] migrate report export directive and popover (#18440) * update files * sidenav start * make getRef a utility method * tweak * add return type * finish converting side-nav directive * starting on reporting menu conversion * remove unused properties * convert reporting pages service * migrate report metadata store * remove angularjs files * migrating reporting pages store * make store adapters more immutable * get service adapters to work * fix a UI test * another html fix * migrate most of reporting menu directive and model * Use themed font family for input forms to override materialize.css styling * rebuild vue * add a missing div * ui test fixes * update styling * get to build * get to load in the UI w/o error * clone result of functions * fix compile issue * migrate widget loader and get to load in UI * rebuild vue * migrate widgetcontainer * migrate widget bydimension container * migrate widget + add tooltips directive * quick fix * Updating version to 4.6.0 * loading in page * update expected screenshot * add wait just in case travis is slow * fix ordering bug * add another wait * rebuild vue * css tweak * fix some bugs and tests * undo screenshot changes * Menus test passing locally * [Vue] date picker viewDate property is not kept up to date (#18385) * viewDate ref is not kept up to date * rebuild corehome * reporting menu subcategory items are meant to be normal links * update some screenshots * use innerText instead of text() since angularjs maintains newlines in HTML that vue does not add * trigger angularjs digest after ajaxhelper request * rebuild vue * update screenshots, fix bug in link generation in reporting menu and allow syncing multiple screenshot regexes at a time * undo box-shadow change for UI tests * fix more issues & update more tests * update some screenshots * fix some tests * rebuild CoreHome * quick fix * built vue files * fix angularjs issue * add comment * update umd files * 4.6.1-rc1 * 4.6.1 * fix field array title * apply some pr feedback * apply more pr feedback * another fix * tweak * fix ng-change not executed before ng-model * fix another set of issues * fix another issue * rebuild vue * better ng-change/ng-model fix * update some screenshots * rebuild vue * remove some TODOs * initiate initial ng-change ONLY for site selectors where this behavior applies * emit/broadcast on correct scope in wrapper * rebuild vue * fix some issues * couple more fixes * fix another title issue * rebuild vue * do not report on ajax errors in notifications if not logged in * migrate reporting page and model * rebuild vue * create sites selector model adapter * fix siteselector vue bug, initial site is only set if there is just one site available * rebuild vue * migrate plugin settings directive * remove TODO * migrate plugin filter directive * migrate two more plugins directives * migrate save button * fix a bunch of bugs * fix another widget bug * allow change event name between angularjs and vue * rebuild vue * migrate plugin form directive * get to work * migrate select-on-focus directive and start migrating report-export directive * finish migrating report export directive & popover component + create reusable function to create vue app and add globals to it * rebuild vue * remove angularjs files and move less contents to vue dir * built vue files * fix function signature * fix vue warning * fix ajax request race condition * rebuild vue * add new notification type "help" so the help notification is not cleared when clearing transient notifications * fix some bugs and tests * update screenshot * update screenshot & fix a test * allow using unminified jquery ui + fix bug in last fix * fix error when enrichedheadline is used in modal * add polyfill min.js * remove two todos * fix widget url logic * update some screenshots and fix sanitization/escape issue * update screenshots * rebuild vue * fix url location updating regression in MatomoUrl.updateLocation use * submodule * update screenshots and fix possible error in json parse * built vue files * Merge branch 'vue-period-selector-regression' into vue-reporting-menu * rebuild vue * use correct variable * rebuild vue * fix widget url logic * segment parameter can be undefined now for some reason * fix ngmodel binding in siteselector adapter (for last time hopefully) * the original site selector only set the first site to the first site in the initial sites query if there was only one site in the entire matomo instance * fix sitesmanager ui test failure * fix usersettings test failure * rebuild vue * more siteselector tweaks. * build CoreHome * more siteselector tweaks. * another siteselector issue * update screenshots * update screenshot and try to fix random failure * fix some issues in widget.vue when containerid is specified * fix couple tests * fix several test failures * fix string concat * fix test failure * extra change * fix last change and random failure * styling fix * fix last fix * real fix this time * fix stray request * proper fix * update build files * try to fix random failure * do not submit form * check for api errors in promise chain in ajaxhelper.ts * force a digest after a location change * use proper abortcontroller method instead of promise hack, have to add new polyfill + try to fix random test failure * some UI test fixes * fix some report export issues * several save button fixes + make replace approximation in createAngularJsAdapter better * apply after manual click triggering in savebutton * add names to divs so they can still be queried as they were in angularjs * rebuild vue * now that format_metrics checkbox works, need to check it * fix unintended changes * updated expected screenshots * update two more * go back to previous format_metrics behavior in popover Co-authored-by: Justin Velluppillai <justin@innocraft.com> Co-authored-by: justinvelluppillai <justinvelluppillai@users.noreply.github.com> Co-authored-by: Matthieu Aubry <mattab@users.noreply.github.com> * [Vue] remove support in vue for FormField.allSettings (#18542) * deprecate support in vue for FormField.allSettings since deep watching the property doesnt quite work * built vue files * update screenshots * update screenshot * Show a summary of new features (#18065) * Added "What is new" notification display, populated by a new event * Removed test example event hook * Added support for applying a link attribute to menu items, fixes layout issue for mobile with html menu items * Updated UI test screenshots * Revert accidental edit * Hide the "What's new" icon if there are no new features to show * Changed to use changes.json, track user last viewed, added ui test * Fix UserManager unit tests broken by new ts_changes_viewed user field * Moved getChanges to separate helper class, added unit test, added user view access check * Updated to add new changes table and populate only on plugin update/install * Added missing fixture class, updated UI screenshots * Updated matomo font to add ringing bell and new releases icons * Fix for integration test * Reworked class structure, removed unnecessary angular directive, merged templates, other tidy ups * built vue files * built vue files * Added null user check, missing table exception handling, show plugin name in change title, better handling of missing change fields * Added sample changes file, moved UserChanges db code to changes model, added return type hints, better db error code handling, various other improvements * Revert accidental UI screenshot commit * Fix for incorrect link name parameter in sample changes, switched back to using $db->query for INSERT IGNORE * Integration test fix, UI screenshot updates * Test fix * Added link styling, show CoreHome changes without plugin prefix in title * Update UI test screenshot * Added styles to the popover, added event for filtering changes * Test fix * UI test screenshot updates Co-authored-by: sgiehl <stefan@matomo.org> Co-authored-by: bx80 <bx80@users.noreply.github.com> * Update test translation (#18531) update a test failed XML * updates all submodules (#18541) Co-authored-by: diosmosis <diosmosis@users.noreply.github.com> * Translations update from Hosted Weblate (#18529) * Translated using Weblate (Greek) Currently translated at 100.0% (162 of 162 strings) Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/el/ [ci skip] Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: Vasilis Lourdas <dev@lourdas.eu> * Translated using Weblate (Chinese (Simplified)) Currently translated at 83.9% (136 of 162 strings) Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/zh_Hans/ [ci skip] Translated using Weblate (Chinese (Simplified)) Currently translated at 99.6% (620 of 622 strings) Translation: Matomo/Matomo Base Translate-URL: https://hosted.weblate.org/projects/matomo/matomo-base/zh_Hans/ [ci skip] Co-authored-by: Hosted Weblate <hosted@weblate.org> Co-authored-by: 刘韬 <lyuutau@outlook.com> * Update translation files Updated by "Squash Git commits" hook in Weblate. Translation: Matomo/Plugin CoreAdminHome Translate-URL: https://hosted.weblate.org/projects/matomo/plugin-coreadminhome/ [ci skip] Co-authored-by: Vasilis Lourdas <dev@lourdas.eu> Co-authored-by: 刘韬 <lyuutau@outlook.com> * [Vue] migrate report export directive and popover (#18440) * update files * sidenav start * make getRef a utility method * tweak * add return type * finish converting side-nav directive * starting on reporting menu conversion * remove unused properties * convert reporting pages service * migrate report metadata store * remove angularjs files * migrating reporting pages store * make store adapters more immutable * get service adapters to work * fix a UI test * another html fix * migrate most of reporting menu directive and model * Use themed font family for input forms to override materialize.css styling * rebuild vue * add a missing div * ui test fixes * update styling * get to build * get to load in the UI w/o error * clone result of functions * fix compile issue * migrate widget loader and get to load in UI * rebuild vue * migrate widgetcontainer * migrate widget bydimension container * migrate widget + add tooltips directive * quick fix * Updating version to 4.6.0 * loading in page * update expected screenshot * add wait just in case travis is slow * fix ordering bug * add another wait * rebuild vue * css tweak * fix some bugs and tests * undo screenshot changes * Menus test passing locally * [Vue] date picker viewDate property is not kept up to date (#18385) * viewDate ref is not kept up to date * rebuild corehome * reporting menu subcategory items are meant to be normal links * update some screenshots * use innerText instead of text() since angularjs maintains newlines in HTML that vue does not add * trigger angularjs digest after ajaxhelper request * rebuild vue * update screenshots, fix bug in link generation in reporting menu and allow syncing multiple screenshot regexes at a time * undo box-shadow change for UI tests * fix more issues & update more tests * update some screenshots * fix some tests * rebuild CoreHome * quick fix * built vue files * fix angularjs issue * add comment * update umd files * 4.6.1-rc1 * 4.6.1 * fix field array title * apply some pr feedback * apply more pr feedback * another fix * tweak * fix ng-change not executed before ng-model * fix another set of issues * fix another issue * rebuild vue * better ng-change/ng-model fix * update some screenshots * rebuild vue * remove some TODOs * initiate initial ng-change ONLY for site selectors where this behavior applies * emit/broadcast on correct scope in wrapper * rebuild vue * fix some issues * couple more fixes * fix another title issue * rebuild vue * do not report on ajax errors in notifications if not logged in * migrate reporting page and model * rebuild vue * create sites selector model adapter * fix siteselector vue bug, initial site is only set if there is just one site available * rebuild vue * migrate plugin settings directive * remove TODO * migrate plugin filter directive * migrate two more plugins directives * migrate save button * fix a bunch of bugs * fix another widget bug * allow change event name between angularjs and vue * rebuild vue * migrate plugin form directive * get to work * migrate select-on-focus directive and start migrating report-export directive * finish migrating report export directive & popover component + create reusable function to create vue app and add globals to it * rebuild vue * remove angularjs files and move less contents to vue dir * built vue files * fix function signature * fix vue warning * fix ajax request race condition * rebuild vue * add new notification type "help" so the help notification is not cleared when clearing transient notifications * fix some bugs and tests * update screenshot * update screenshot & fix a test * allow using unminified jquery ui + fix bug in last fix * fix error when enrichedheadline is used in modal * add polyfill min.js * remove two todos * fix widget url logic * update some screenshots and fix sanitization/escape issue * update screenshots * rebuild vue * fix url location updating regression in MatomoUrl.updateLocation use * submodule * update screenshots and fix possible error in json parse * built vue files * Merge branch 'vue-period-selector-regression' into vue-reporting-menu * rebuild vue * use correct variable * rebuild vue * fix widget url logic * segment parameter can be undefined now for some reason * fix ngmodel binding in siteselector adapter (for last time hopefully) * the original site selector only set the first site to the first site in the initial sites query if there was only one site in the entire matomo instance * fix sitesmanager ui test failure * fix usersettings test failure * rebuild vue * more siteselector tweaks. * build CoreHome * more siteselector tweaks. * another siteselector issue * update screenshots * update screenshot and try to fix random failure * fix some issues in widget.vue when containerid is specified * fix couple tests * fix several test failures * fix string concat * fix test failure * extra change * fix last change and random failure * styling fix * fix last fix * real fix this time * fix stray request * proper fix * update build files * try to fix random failure * do not submit form * check for api errors in promise chain in ajaxhelper.ts * force a digest after a location change * use proper abortcontroller method instead of promise hack, have to add new polyfill + try to fix random test failure * some UI test fixes * fix some report export issues * several save button fixes + make replace approximation in createAngularJsAdapter better * apply after manual click triggering in savebutton * add names to divs so they can still be queried as they were in angularjs * rebuild vue * now that format_metrics checkbox works, need to check it * fix unintended changes * updated expected screenshots * update two more * go back to previous format_metrics behavior in popover Co-authored-by: Justin Velluppillai <justin@innocraft.com> Co-authored-by: justinvelluppillai <justinvelluppillai@users.noreply.github.com> Co-authored-by: Matthieu Aubry <mattab@users.noreply.github.com> * [Vue] remove support in vue for FormField.allSettings (#18542) * deprecate support in vue for FormField.allSettings since deep watching the property doesnt quite work * built vue files * update screenshots * update screenshot * fix tests * rebuild * order plugins by dependencies in vue:build and fix warning in corehome build Co-authored-by: Justin Velluppillai <justin@innocraft.com> Co-authored-by: justinvelluppillai <justinvelluppillai@users.noreply.github.com> Co-authored-by: Matthieu Aubry <mattab@users.noreply.github.com> Co-authored-by: Ben Burgess <88810029+bx80@users.noreply.github.com> Co-authored-by: sgiehl <stefan@matomo.org> Co-authored-by: bx80 <bx80@users.noreply.github.com> Co-authored-by: Peter Zhang <peter@innocraft.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Weblate (bot) <hosted@weblate.org> Co-authored-by: Vasilis Lourdas <dev@lourdas.eu> Co-authored-by: 刘韬 <lyuutau@outlook.com>
Diffstat (limited to 'plugins/CorePluginsAdmin')
-rw-r--r--plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.js509
-rw-r--r--plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.min.js28
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts38
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Field/Field.vue9
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Form/Form.adapter.ts4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue16
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue16
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue36
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue11
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue85
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue2
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts23
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue88
-rw-r--r--plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts15
-rw-r--r--plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue16
-rw-r--r--plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue38
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.adapter.ts4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts73
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.adapter.ts4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.ts15
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.adapter.ts4
-rw-r--r--plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts13
-rw-r--r--plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue4
25 files changed, 621 insertions, 438 deletions
diff --git a/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.js b/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.js
index ab880d4ee7..469b3a4604 100644
--- a/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.js
+++ b/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.js
@@ -149,7 +149,7 @@ var external_CoreHome_ = __webpack_require__("19dc");
// 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/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=template&id=5b7d92bd
+// 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/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=template&id=a7d809c8
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -200,17 +200,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
class: "form-description"
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.formField.description), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.formField.description]]), _ctx.formField.inlineHelp ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", _hoisted_4, null, 512)) : 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"])("span", null, [_hoisted_5, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createTextVNode"])(" " + Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Default')) + ": ", 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.defaultValuePrettyTruncated), 1)], 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showDefaultValue]])])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 2)], 512)), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.showField]]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=template&id=5b7d92bd
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=template&id=a7d809c8
-// 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/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=template&id=16b4705b
+// 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/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=template&id=4a0aa5c3
-var FieldCheckboxvue_type_template_id_16b4705b_hoisted_1 = {
+var FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_1 = {
class: "checkbox"
};
-var FieldCheckboxvue_type_template_id_16b4705b_hoisted_2 = ["checked", "id", "name"];
-var FieldCheckboxvue_type_template_id_16b4705b_hoisted_3 = ["innerHTML"];
-function FieldCheckboxvue_type_template_id_16b4705b_render(_ctx, _cache, $props, $setup, $data, $options) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldCheckboxvue_type_template_id_16b4705b_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
+var FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_2 = ["checked", "id", "name"];
+var FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_3 = ["innerHTML"];
+function FieldCheckboxvue_type_template_id_4a0aa5c3_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
onChange: _cache[0] || (_cache[0] = function ($event) {
return _ctx.onChange($event);
})
@@ -220,13 +220,13 @@ function FieldCheckboxvue_type_template_id_16b4705b_render(_ctx, _cache, $props,
type: "checkbox",
id: _ctx.name,
name: _ctx.name
- }), null, 16, FieldCheckboxvue_type_template_id_16b4705b_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ }), null, 16, FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
innerHTML: _ctx.$sanitize(_ctx.title)
- }, null, 8, FieldCheckboxvue_type_template_id_16b4705b_hoisted_3)])]);
+ }, null, 8, FieldCheckboxvue_type_template_id_4a0aa5c3_hoisted_3)])]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=template&id=16b4705b
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=template&id=4a0aa5c3
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldCheckboxvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
@@ -251,13 +251,13 @@ function FieldCheckboxvue_type_template_id_16b4705b_render(_ctx, _cache, $props,
-FieldCheckboxvue_type_script_lang_ts.render = FieldCheckboxvue_type_template_id_16b4705b_render
+FieldCheckboxvue_type_script_lang_ts.render = FieldCheckboxvue_type_template_id_4a0aa5c3_render
/* harmony default export */ var FieldCheckbox = (FieldCheckboxvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=template&id=5700b1f7
+// 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/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=template&id=b01b8bfc
-var FieldCheckboxArrayvue_type_template_id_5700b1f7_hoisted_1 = ["value", "checked", "onChange", "id", "name"];
-function FieldCheckboxArrayvue_type_template_id_5700b1f7_render(_ctx, _cache, $props, $setup, $data, $options) {
+var FieldCheckboxArrayvue_type_template_id_b01b8bfc_hoisted_1 = ["value", "checked", "onChange", "id", "name"];
+function FieldCheckboxArrayvue_type_template_id_b01b8bfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
class: "fieldRadioTitle"
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.title), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], _ctx.title]]), (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.availableOptions, function (checkboxModel, $index) {
@@ -274,14 +274,14 @@ function FieldCheckboxArrayvue_type_template_id_5700b1f7_render(_ctx, _cache, $p
type: "checkbox",
id: "".concat(_ctx.name).concat(checkboxModel.key),
name: checkboxModel.name
- }), null, 16, FieldCheckboxArrayvue_type_template_id_5700b1f7_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(checkboxModel.value), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+ }), null, 16, FieldCheckboxArrayvue_type_template_id_b01b8bfc_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(checkboxModel.value), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
class: "form-description"
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(checkboxModel.description), 513), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vShow"], checkboxModel.description]])])]);
}), 128))]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=template&id=5700b1f7
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=template&id=b01b8bfc
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue?vue&type=script&lang=ts
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -304,7 +304,7 @@ function getCheckboxStates(availableOptions, modelValue) {
/* harmony default export */ var FieldCheckboxArrayvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
- modelValue: Object,
+ modelValue: Array,
name: String,
title: String,
availableOptions: Array,
@@ -326,8 +326,9 @@ function getCheckboxStates(availableOptions, modelValue) {
var checkboxStates = _toConsumableArray(this.checkboxStates);
checkboxStates[changedIndex] = !checkboxStates[changedIndex];
+ var availableOptions = this.availableOptions || {};
var newValue = [];
- Object.values(this.availableOptions).forEach(function (option, index) {
+ Object.values(availableOptions).forEach(function (option, index) {
if (checkboxStates[index]) {
newValue.push(option.key);
}
@@ -342,16 +343,16 @@ function getCheckboxStates(availableOptions, modelValue) {
-FieldCheckboxArrayvue_type_script_lang_ts.render = FieldCheckboxArrayvue_type_template_id_5700b1f7_render
+FieldCheckboxArrayvue_type_script_lang_ts.render = FieldCheckboxArrayvue_type_template_id_b01b8bfc_render
/* harmony default export */ var FieldCheckboxArray = (FieldCheckboxArrayvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=template&id=08a6705c
+// 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/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=template&id=674e15fa
-var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_1 = {
+var FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_1 = {
class: "expandableSelector"
};
-var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("svg", {
+var FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_2 = /*#__PURE__*/Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("svg", {
class: "caret",
height: "24",
viewBox: "0 0 24 24",
@@ -364,11 +365,11 @@ var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_2 = /*#__PURE__*/
fill: "none"
})], -1);
-var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_3 = ["value"];
-var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_4 = {
+var FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_3 = ["value"];
+var FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_4 = {
class: "expandableList z-depth-2"
};
-var FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_5 = {
+var FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_5 = {
class: "searchContainer"
};
var _hoisted_6 = {
@@ -383,22 +384,22 @@ var _hoisted_10 = {
class: "primary-content"
};
var _hoisted_11 = ["title"];
-function FieldExpandableSelectvue_type_template_id_08a6705c_render(_ctx, _cache, $props, $setup, $data, $options) {
+function FieldExpandableSelectvue_type_template_id_674e15fa_render(_ctx, _cache, $props, $setup, $data, $options) {
var _directive_focus_if = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("focus-if");
var _directive_focus_anywhere_but_here = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveDirective"])("focus-anywhere-but-here");
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])((Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
onClick: _cache[0] || (_cache[0] = function ($event) {
return _ctx.showSelect = !_ctx.showSelect;
}),
class: "select-wrapper"
- }, [FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ }, [FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_2, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "text",
class: "select-dropdown",
readonly: "readonly",
value: _ctx.modelValueText
- }, null, 8, FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_3)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldExpandableSelectvue_type_template_id_08a6705c_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ }, null, 8, FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_3)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldExpandableSelectvue_type_template_id_674e15fa_hoisted_5, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "text",
placeholder: "Search",
"onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
@@ -439,13 +440,18 @@ function FieldExpandableSelectvue_type_template_id_08a6705c_render(_ctx, _cache,
blur: _ctx.onBlur
}]]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=template&id=08a6705c
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=template&id=674e15fa
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue?vue&type=script&lang=ts
function getAvailableOptions(availableValues) {
var flatValues = [];
+
+ if (!availableValues) {
+ return flatValues;
+ }
+
var groups = {};
Object.values(availableValues).forEach(function (uncastedValue) {
var value = uncastedValue;
@@ -502,8 +508,9 @@ function getAvailableOptions(availableValues) {
}
var key = this.modelValue;
+ var availableOptions = this.availableOptions || [];
var keyItem;
- (this.availableOptions || []).some(function (option) {
+ availableOptions.some(function (option) {
keyItem = option.values.find(function (item) {
return item.key === key;
});
@@ -511,10 +518,10 @@ function getAvailableOptions(availableValues) {
});
if (keyItem) {
- return keyItem.value.toString();
+ return keyItem.value ? "".concat(keyItem.value) : '';
}
- return key;
+ return key ? "".concat(key) : '';
}
},
methods: {
@@ -540,7 +547,7 @@ function getAvailableOptions(availableValues) {
-FieldExpandableSelectvue_type_script_lang_ts.render = FieldExpandableSelectvue_type_template_id_08a6705c_render
+FieldExpandableSelectvue_type_script_lang_ts.render = FieldExpandableSelectvue_type_template_id_674e15fa_render
/* harmony default export */ var FieldExpandableSelect = (FieldExpandableSelectvue_type_script_lang_ts);
// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFieldArray.vue?vue&type=template&id=19925759
@@ -563,7 +570,7 @@ function FieldFieldArrayvue_type_template_id_19925759_render(_ctx, _cache, $prop
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldFieldArray.vue?vue&type=template&id=19925759
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFieldArray.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFieldArray.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldFieldArrayvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -593,22 +600,22 @@ function FieldFieldArrayvue_type_template_id_19925759_render(_ctx, _cache, $prop
FieldFieldArrayvue_type_script_lang_ts.render = FieldFieldArrayvue_type_template_id_19925759_render
/* harmony default export */ var FieldFieldArray = (FieldFieldArrayvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=template&id=244b301c
+// 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/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=template&id=c77b7350
-var FieldFilevue_type_template_id_244b301c_hoisted_1 = {
+var FieldFilevue_type_template_id_c77b7350_hoisted_1 = {
class: "btn"
};
-var FieldFilevue_type_template_id_244b301c_hoisted_2 = ["for", "innerHTML"];
-var FieldFilevue_type_template_id_244b301c_hoisted_3 = ["name", "id"];
-var FieldFilevue_type_template_id_244b301c_hoisted_4 = {
+var FieldFilevue_type_template_id_c77b7350_hoisted_2 = ["for", "innerHTML"];
+var FieldFilevue_type_template_id_c77b7350_hoisted_3 = ["name", "id"];
+var FieldFilevue_type_template_id_c77b7350_hoisted_4 = {
class: "file-path-wrapper"
};
-var FieldFilevue_type_template_id_244b301c_hoisted_5 = ["value"];
-function FieldFilevue_type_template_id_244b301c_render(_ctx, _cache, $props, $setup, $data, $options) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldFilevue_type_template_id_244b301c_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
+var FieldFilevue_type_template_id_c77b7350_hoisted_5 = ["value"];
+function FieldFilevue_type_template_id_c77b7350_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldFilevue_type_template_id_c77b7350_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
for: _ctx.name,
innerHTML: _ctx.$sanitize(_ctx.title)
- }, null, 8, FieldFilevue_type_template_id_244b301c_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ }, null, 8, FieldFilevue_type_template_id_c77b7350_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
ref: "fileInput",
name: _ctx.name,
type: "file",
@@ -616,15 +623,15 @@ function FieldFilevue_type_template_id_244b301c_render(_ctx, _cache, $props, $se
onChange: _cache[0] || (_cache[0] = function ($event) {
return _ctx.onChange($event);
})
- }, null, 40, FieldFilevue_type_template_id_244b301c_hoisted_3)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldFilevue_type_template_id_244b301c_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ }, null, 40, FieldFilevue_type_template_id_c77b7350_hoisted_3)]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldFilevue_type_template_id_c77b7350_hoisted_4, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
class: "file-path validate",
value: _ctx.modelValue,
type: "text"
- }, null, 8, FieldFilevue_type_template_id_244b301c_hoisted_5)])]);
+ }, null, 8, FieldFilevue_type_template_id_c77b7350_hoisted_5)])]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=template&id=244b301c
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=template&id=c77b7350
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldFilevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
@@ -650,7 +657,13 @@ function FieldFilevue_type_template_id_244b301c_render(_ctx, _cache, $props, $se
},
methods: {
onChange: function onChange(event) {
- var file = event.target.files.item(0);
+ var files = event.target.files;
+
+ if (!files) {
+ return;
+ }
+
+ var file = files.item(0);
this.$emit('update:modelValue', file);
}
}
@@ -661,7 +674,7 @@ function FieldFilevue_type_template_id_244b301c_render(_ctx, _cache, $props, $se
-FieldFilevue_type_script_lang_ts.render = FieldFilevue_type_template_id_244b301c_render
+FieldFilevue_type_script_lang_ts.render = FieldFilevue_type_template_id_c77b7350_render
/* harmony default export */ var FieldFile = (FieldFilevue_type_script_lang_ts);
// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldHidden.vue?vue&type=template&id=20e3ce54
@@ -679,7 +692,7 @@ function FieldHiddenvue_type_template_id_20e3ce54_render(_ctx, _cache, $props, $
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldHidden.vue?vue&type=template&id=20e3ce54
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldHidden.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldHidden.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldHiddenvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
@@ -728,7 +741,7 @@ function FieldMultituplevue_type_template_id_7469c188_render(_ctx, _cache, $prop
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldMultituple.vue?vue&type=template&id=7469c188
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldMultituple.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldMultituple.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldMultituplevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -782,7 +795,7 @@ function FieldNumbervue_type_template_id_7aed93b6_render(_ctx, _cache, $props, $
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldNumber.vue?vue&type=template&id=7aed93b6
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldNumber.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldNumber.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldNumbervue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -852,7 +865,7 @@ function FieldRadiovue_type_template_id_e73c5bb0_render(_ctx, _cache, $props, $s
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldRadio.vue?vue&type=template&id=e73c5bb0
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldRadio.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldRadio.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldRadiovue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
@@ -880,37 +893,37 @@ function FieldRadiovue_type_template_id_e73c5bb0_render(_ctx, _cache, $props, $s
FieldRadiovue_type_script_lang_ts.render = FieldRadiovue_type_template_id_e73c5bb0_render
/* harmony default export */ var FieldRadio = (FieldRadiovue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=template&id=6e643bd9
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || FieldSelectvue_type_template_id_6e643bd9_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+// 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/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=template&id=b3b83f84
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || FieldSelectvue_type_template_id_b3b83f84_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
-function FieldSelectvue_type_template_id_6e643bd9_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return FieldSelectvue_type_template_id_6e643bd9_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return FieldSelectvue_type_template_id_6e643bd9_arrayLikeToArray(o, minLen); }
+function FieldSelectvue_type_template_id_b3b83f84_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return FieldSelectvue_type_template_id_b3b83f84_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return FieldSelectvue_type_template_id_b3b83f84_arrayLikeToArray(o, minLen); }
-function FieldSelectvue_type_template_id_6e643bd9_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+function FieldSelectvue_type_template_id_b3b83f84_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_1 = {
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_1 = {
key: 0,
class: "matomo-field-select"
};
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_2 = ["multiple", "name"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_3 = ["label"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_4 = ["value", "selected", "disabled"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_5 = ["for", "innerHTML"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_6 = {
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_2 = ["multiple", "name"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_3 = ["label"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_4 = ["value", "selected", "disabled"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_5 = ["for", "innerHTML"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_6 = {
key: 1,
class: "matomo-field-select"
};
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_7 = ["multiple", "name"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_8 = ["value", "selected", "disabled"];
-var FieldSelectvue_type_template_id_6e643bd9_hoisted_9 = ["for", "innerHTML"];
-function FieldSelectvue_type_template_id_6e643bd9_render(_ctx, _cache, $props, $setup, $data, $options) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [_ctx.groupedOptions ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldSelectvue_type_template_id_6e643bd9_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("select", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_7 = ["multiple", "name"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_8 = ["value", "selected", "disabled"];
+var FieldSelectvue_type_template_id_b3b83f84_hoisted_9 = ["for", "innerHTML"];
+function FieldSelectvue_type_template_id_b3b83f84_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, [_ctx.groupedOptions ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldSelectvue_type_template_id_b3b83f84_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("select", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
ref: "select",
class: "grouped",
multiple: _ctx.multiple,
@@ -932,12 +945,12 @@ function FieldSelectvue_type_template_id_6e643bd9_render(_ctx, _cache, $props, $
value: "string:".concat(option.key),
selected: _ctx.multiple ? _ctx.modelValue && _ctx.modelValue.indexOf(option.key) !== -1 : _ctx.modelValue === option.key,
disabled: option.disabled
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.value), 9, FieldSelectvue_type_template_id_6e643bd9_hoisted_4);
- }), 128))], 8, FieldSelectvue_type_template_id_6e643bd9_hoisted_3);
- }), 128))], 16, FieldSelectvue_type_template_id_6e643bd9_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.value), 9, FieldSelectvue_type_template_id_b3b83f84_hoisted_4);
+ }), 128))], 8, FieldSelectvue_type_template_id_b3b83f84_hoisted_3);
+ }), 128))], 16, FieldSelectvue_type_template_id_b3b83f84_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
for: _ctx.name,
innerHTML: _ctx.title
- }, null, 8, FieldSelectvue_type_template_id_6e643bd9_hoisted_5)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.groupedOptions && _ctx.options ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldSelectvue_type_template_id_6e643bd9_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("select", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
+ }, null, 8, FieldSelectvue_type_template_id_b3b83f84_hoisted_5)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), !_ctx.groupedOptions && _ctx.options ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldSelectvue_type_template_id_b3b83f84_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("select", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
class: "ungrouped",
ref: "select",
multiple: _ctx.multiple,
@@ -951,15 +964,15 @@ function FieldSelectvue_type_template_id_6e643bd9_render(_ctx, _cache, $props, $
value: "string:".concat(option.key),
selected: _ctx.multiple ? _ctx.modelValue && _ctx.modelValue.indexOf(option.key) !== -1 : _ctx.modelValue === option.key,
disabled: option.disabled
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.value), 9, FieldSelectvue_type_template_id_6e643bd9_hoisted_8);
- }), 128))], 16, FieldSelectvue_type_template_id_6e643bd9_hoisted_7), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.value), 9, FieldSelectvue_type_template_id_b3b83f84_hoisted_8);
+ }), 128))], 16, FieldSelectvue_type_template_id_b3b83f84_hoisted_7), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
for: _ctx.name,
innerHTML: _ctx.title
- }, null, 8, FieldSelectvue_type_template_id_6e643bd9_hoisted_9)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 64);
+ }, null, 8, FieldSelectvue_type_template_id_b3b83f84_hoisted_9)])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 64);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=template&id=6e643bd9
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=template&id=b3b83f84
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue?vue&type=script&lang=ts
function FieldSelectvue_type_script_lang_ts_toConsumableArray(arr) { return FieldSelectvue_type_script_lang_ts_arrayWithoutHoles(arr) || FieldSelectvue_type_script_lang_ts_iterableToArray(arr) || FieldSelectvue_type_script_lang_ts_unsupportedIterableToArray(arr) || FieldSelectvue_type_script_lang_ts_nonIterableSpread(); }
function FieldSelectvue_type_script_lang_ts_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -996,7 +1009,7 @@ function initMaterialSelect(select, modelValue, placeholder) {
Array.from(select.options).forEach(function (opt) {
if (multiple) {
- opt.selected = modelValue && modelValue.indexOf(opt.value.replace(/^string:/, '')) !== -1;
+ opt.selected = !!modelValue && modelValue.indexOf(opt.value.replace(/^string:/, '')) !== -1;
} else {
opt.selected = "string:".concat(modelValue) === opt.value;
}
@@ -1051,7 +1064,7 @@ function FieldSelectvue_type_script_lang_ts_getAvailableOptions(givenAvailableVa
valueObjKey = _ref4[0],
value = _ref4[1];
- if (_typeof(value) === 'object' && typeof value.key !== 'undefined') {
+ if (value && _typeof(value) === 'object' && typeof value.key !== 'undefined') {
flatValues.push(value);
return;
}
@@ -1070,7 +1083,7 @@ function FieldSelectvue_type_script_lang_ts_getAvailableOptions(givenAvailableVa
});
}); // for selects w/ a placeholder, add an option to unset the select
- if (uiControlAttributes.placeholder && !hasOption(flatValues, '')) {
+ if (uiControlAttributes !== null && uiControlAttributes !== void 0 && uiControlAttributes.placeholder && !hasOption(flatValues, '')) {
return [{
key: '',
value: ''
@@ -1104,30 +1117,34 @@ function handleOldAngularJsValues(value) {
options: function options() {
// if modelValue is empty, but there is no empty value allowed in availableOptions,
// add one temporarily until something is set
- if (this.availableOptions && !hasOption(this.availableOptions, '') && (typeof this.modelValue === 'undefined' || this.modelValue === null || this.modelValue === '')) {
+ var availableOptions = this.availableOptions;
+
+ if (availableOptions && !hasOption(availableOptions, '') && (typeof this.modelValue === 'undefined' || this.modelValue === null || this.modelValue === '')) {
return [{
key: '',
value: this.modelValue,
group: this.hasGroups ? '' : undefined
- }].concat(FieldSelectvue_type_script_lang_ts_toConsumableArray(this.availableOptions));
+ }].concat(FieldSelectvue_type_script_lang_ts_toConsumableArray(availableOptions));
}
- return this.availableOptions;
+ return availableOptions;
},
hasGroups: function hasGroups() {
var availableOptions = this.availableOptions;
return availableOptions && availableOptions[0] && typeof availableOptions[0].group !== 'undefined';
},
groupedOptions: function groupedOptions() {
- if (!this.hasGroups) {
+ var options = this.options;
+
+ if (!this.hasGroups || !options) {
return null;
}
- var options = this.options;
var groups = {};
options.forEach(function (entry) {
- groups[entry.group] = groups[entry.group] || [];
- groups[entry.group].push(entry);
+ var group = entry.group;
+ groups[group] = groups[group] || [];
+ groups[group].push(entry);
});
var result = Object.entries(groups);
result.sort(function (lhs, rhs) {
@@ -1157,7 +1174,9 @@ function handleOldAngularJsValues(value) {
}).map(function (e) {
return e.value;
});
- newValue = newValue.map(handleOldAngularJsValues);
+ newValue = newValue.map(function (x) {
+ return handleOldAngularJsValues(x);
+ });
} else {
newValue = element.value;
newValue = handleOldAngularJsValues(newValue);
@@ -1177,7 +1196,9 @@ function handleOldAngularJsValues(value) {
window.$(this.$refs.select).val(newVal);
setTimeout(function () {
- initMaterialSelect(_this2.$refs.select, newVal, _this2.uiControlAttributes.placeholder, _this2.uiControlOptions, _this2.multiple);
+ var _this2$uiControlAttri;
+
+ initMaterialSelect(_this2.$refs.select, newVal, (_this2$uiControlAttri = _this2.uiControlAttributes) === null || _this2$uiControlAttri === void 0 ? void 0 : _this2$uiControlAttri.placeholder, _this2.uiControlOptions, _this2.multiple);
});
}
},
@@ -1191,7 +1212,9 @@ function handleOldAngularJsValues(value) {
setTimeout(function () {
if (newVal !== oldVal) {
- initMaterialSelect(_this3.$refs.select, _this3.modelValue, _this3.uiControlAttributes.placeholder, _this3.uiControlOptions, _this3.multiple);
+ var _this3$uiControlAttri;
+
+ initMaterialSelect(_this3.$refs.select, _this3.modelValue, (_this3$uiControlAttri = _this3.uiControlAttributes) === null || _this3$uiControlAttri === void 0 ? void 0 : _this3$uiControlAttri.placeholder, _this3.uiControlOptions, _this3.multiple);
}
});
}
@@ -1201,7 +1224,9 @@ function handleOldAngularJsValues(value) {
if (newVal !== oldVal) {
setTimeout(function () {
- initMaterialSelect(_this4.$refs.select, _this4.modelValue, _this4.uiControlAttributes.placeholder, _this4.uiControlOptions, _this4.multiple);
+ var _this4$uiControlAttri;
+
+ initMaterialSelect(_this4.$refs.select, _this4.modelValue, (_this4$uiControlAttri = _this4.uiControlAttributes) === null || _this4$uiControlAttri === void 0 ? void 0 : _this4$uiControlAttri.placeholder, _this4.uiControlOptions, _this4.multiple);
});
}
}
@@ -1210,7 +1235,9 @@ function handleOldAngularJsValues(value) {
var _this5 = this;
setTimeout(function () {
- initMaterialSelect(_this5.$refs.select, _this5.modelValue, _this5.uiControlAttributes.placeholder, _this5.uiControlOptions, _this5.multiple);
+ var _this5$uiControlAttri;
+
+ initMaterialSelect(_this5.$refs.select, _this5.modelValue, (_this5$uiControlAttri = _this5.uiControlAttributes) === null || _this5$uiControlAttri === void 0 ? void 0 : _this5$uiControlAttri.placeholder, _this5.uiControlOptions, _this5.multiple);
});
}
}));
@@ -1220,23 +1247,23 @@ function handleOldAngularJsValues(value) {
-FieldSelectvue_type_script_lang_ts.render = FieldSelectvue_type_template_id_6e643bd9_render
+FieldSelectvue_type_script_lang_ts.render = FieldSelectvue_type_template_id_b3b83f84_render
/* harmony default export */ var FieldSelect = (FieldSelectvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=template&id=72faf58c
+// 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/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=template&id=50ac73cc
-var FieldSitevue_type_template_id_72faf58c_hoisted_1 = ["for", "innerHTML"];
-var FieldSitevue_type_template_id_72faf58c_hoisted_2 = {
+var FieldSitevue_type_template_id_50ac73cc_hoisted_1 = ["for", "innerHTML"];
+var FieldSitevue_type_template_id_50ac73cc_hoisted_2 = {
class: "sites_autocomplete"
};
-function FieldSitevue_type_template_id_72faf58c_render(_ctx, _cache, $props, $setup, $data, $options) {
+function FieldSitevue_type_template_id_50ac73cc_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_SiteSelector = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("SiteSelector");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
for: _ctx.name,
class: "siteSelectorLabel",
innerHTML: _ctx.$sanitize(_ctx.title)
- }, null, 8, FieldSitevue_type_template_id_72faf58c_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldSitevue_type_template_id_72faf58c_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SiteSelector, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
+ }, null, 8, FieldSitevue_type_template_id_50ac73cc_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FieldSitevue_type_template_id_50ac73cc_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_SiteSelector, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
"model-value": _ctx.modelValue,
"onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
return _ctx.onChange($event);
@@ -1248,9 +1275,9 @@ function FieldSitevue_type_template_id_72faf58c_render(_ctx, _cache, $props, $se
"only-sites-with-admin-access": _ctx.uiControlAttributes.onlySitesWithAdminAccess || false
}, _ctx.uiControlAttributes), null, 16, ["model-value", "id", "show-all-sites-item", "only-sites-with-admin-access"])])]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=template&id=72faf58c
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=template&id=50ac73cc
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldSitevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -1277,7 +1304,7 @@ function FieldSitevue_type_template_id_72faf58c_render(_ctx, _cache, $props, $se
-FieldSitevue_type_script_lang_ts.render = FieldSitevue_type_template_id_72faf58c_render
+FieldSitevue_type_script_lang_ts.render = FieldSitevue_type_template_id_50ac73cc_render
/* harmony default export */ var FieldSite = (FieldSitevue_type_script_lang_ts);
// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldText.vue?vue&type=template&id=9ea16160
@@ -1304,7 +1331,7 @@ function FieldTextvue_type_template_id_9ea16160_render(_ctx, _cache, $props, $se
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldText.vue?vue&type=template&id=9ea16160
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldText.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldText.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldTextvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -1380,7 +1407,7 @@ function FieldTextArrayvue_type_template_id_4c574e6f_render(_ctx, _cache, $props
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextArray.vue?vue&type=template&id=4c574e6f
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextArray.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextArray.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldTextArrayvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -1449,7 +1476,7 @@ function FieldTextareavue_type_template_id_09f09fdb_render(_ctx, _cache, $props,
}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextarea.vue?vue&type=template&id=09f09fdb
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextarea.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextarea.vue?vue&type=script&lang=ts
/* harmony default export */ var FieldTextareavue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -1497,15 +1524,15 @@ function FieldTextareavue_type_template_id_09f09fdb_render(_ctx, _cache, $props,
FieldTextareavue_type_script_lang_ts.render = FieldTextareavue_type_template_id_09f09fdb_render
/* harmony default export */ var FieldTextarea = (FieldTextareavue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=template&id=08e1c1e3
+// 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/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=template&id=3eceefe6
-var FieldTextareaArrayvue_type_template_id_08e1c1e3_hoisted_1 = ["for", "innerHTML"];
-var FieldTextareaArrayvue_type_template_id_08e1c1e3_hoisted_2 = ["name", "value"];
-function FieldTextareaArrayvue_type_template_id_08e1c1e3_render(_ctx, _cache, $props, $setup, $data, $options) {
+var FieldTextareaArrayvue_type_template_id_3eceefe6_hoisted_1 = ["for", "innerHTML"];
+var FieldTextareaArrayvue_type_template_id_3eceefe6_hoisted_2 = ["name", "value"];
+function FieldTextareaArrayvue_type_template_id_3eceefe6_render(_ctx, _cache, $props, $setup, $data, $options) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", {
for: _ctx.name,
innerHTML: _ctx.$sanitize(_ctx.title)
- }, null, 8, FieldTextareaArrayvue_type_template_id_08e1c1e3_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("textarea", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
+ }, null, 8, FieldTextareaArrayvue_type_template_id_3eceefe6_hoisted_1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("textarea", Object(external_commonjs_vue_commonjs2_vue_root_Vue_["mergeProps"])({
ref: "textarea",
name: _ctx.name
}, _ctx.uiControlAttributes, {
@@ -1517,11 +1544,11 @@ function FieldTextareaArrayvue_type_template_id_08e1c1e3_render(_ctx, _cache, $p
return _ctx.onKeydown($event);
}),
class: "materialize-textarea"
- }), null, 16, FieldTextareaArrayvue_type_template_id_08e1c1e3_hoisted_2)]);
+ }), null, 16, FieldTextareaArrayvue_type_template_id_3eceefe6_hoisted_2)]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=template&id=08e1c1e3
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=template&id=3eceefe6
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue?vue&type=script&lang=ts
var SEPARATOR = '\n';
@@ -1585,7 +1612,7 @@ var SEPARATOR = '\n';
-FieldTextareaArrayvue_type_script_lang_ts.render = FieldTextareaArrayvue_type_template_id_08e1c1e3_render
+FieldTextareaArrayvue_type_script_lang_ts.render = FieldTextareaArrayvue_type_template_id_3eceefe6_render
/* harmony default export */ var FieldTextareaArray = (FieldTextareaArrayvue_type_script_lang_ts);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts
@@ -1620,7 +1647,7 @@ function processCheckboxAndRadioAvailableValues(availableValues, type) {
valueObjKey = _ref2[0],
value = _ref2[1];
- if (utilities_typeof(value) === 'object' && typeof value.key !== 'undefined') {
+ if (value && utilities_typeof(value) === 'object' && typeof value.key !== 'undefined') {
flatValues.push(value);
return;
}
@@ -1638,7 +1665,7 @@ function processCheckboxAndRadioAvailableValues(availableValues, type) {
});
return flatValues;
}
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue?vue&type=script&lang=ts
function FormFieldvue_type_script_lang_ts_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { FormFieldvue_type_script_lang_ts_typeof = function _typeof(obj) { return typeof obj; }; } else { FormFieldvue_type_script_lang_ts_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return FormFieldvue_type_script_lang_ts_typeof(obj); }
@@ -1713,14 +1740,18 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
var setInlineHelp = function setInlineHelp(newVal) {
var toAppend;
- if (!newVal) {
+ if (!newVal || !inlineHelpNode.value) {
return;
}
- if (typeof newVal === 'string' && newVal && newVal.indexOf('#') === 0) {
- toAppend = window.$(newVal);
+ if (typeof newVal === 'string') {
+ if (newVal.indexOf('#') === 0) {
+ toAppend = window.$(newVal);
+ } else {
+ toAppend = window.vueSanitize(newVal);
+ }
} else {
- toAppend = window.vueSanitize(newVal);
+ toAppend = newVal;
}
window.$(inlineHelpNode.value).html('').append(toAppend);
@@ -1738,11 +1769,13 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
},
computed: {
childComponent: function childComponent() {
- if (this.formField.component) {
- return this.formField.component;
+ var formField = this.formField;
+
+ if (formField.component) {
+ return formField.component;
}
- var uiControl = this.formField.uiControl;
+ var uiControl = formField.uiControl;
var control = CONTROL_TO_COMPONENT_MAP[uiControl];
if (TEXT_CONTROLS.indexOf(uiControl) !== -1) {
@@ -1799,14 +1832,19 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
var defaultValue = this.formField.defaultValue;
if (Array.isArray(defaultValue)) {
- defaultValue = defaultValue.join(',');
+ return defaultValue.join(',');
}
return defaultValue;
},
availableOptions: function availableOptions() {
- var childComponent = this.childComponent,
- formField = this.formField;
+ var childComponent = this.childComponent;
+
+ if (typeof childComponent !== 'string') {
+ return null;
+ }
+
+ var formField = this.formField;
if (!formField.availableValues || !CONTROL_TO_AVAILABLE_OPTION_PROCESSOR[childComponent]) {
return null;
@@ -1815,7 +1853,8 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
return CONTROL_TO_AVAILABLE_OPTION_PROCESSOR[childComponent](formField.availableValues, formField.type, formField.uiControlAttributes);
},
defaultValuePretty: function defaultValuePretty() {
- var defaultValue = this.formField.defaultValue;
+ var formField = this.formField;
+ var defaultValue = formField.defaultValue;
var availableOptions = this.availableOptions;
if (typeof defaultValue === 'string' && defaultValue) {
@@ -1837,7 +1876,7 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
return '';
}
- return defaultValue ? defaultValue.toString() : '';
+ return defaultValue ? "".concat(defaultValue) : '';
}
var prettyValues = [];
@@ -1847,7 +1886,7 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
}
(availableOptions || []).forEach(function (value) {
- if (defaultValue.indexOf(value.key) !== -1 && typeof value.value !== 'undefined') {
+ if (typeof value.value !== 'undefined' && defaultValue.indexOf(value.key) !== -1) {
prettyValues.push(value.value);
}
});
@@ -1872,17 +1911,17 @@ var CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
FormFieldvue_type_script_lang_ts.render = render
/* harmony default export */ var FormField = (FormFieldvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-babel/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=template&id=c535b064
+// 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/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=template&id=3f63d972
-var FieldAngularJsTemplatevue_type_template_id_c535b064_hoisted_1 = {
+var FieldAngularJsTemplatevue_type_template_id_3f63d972_hoisted_1 = {
ref: "root"
};
-function FieldAngularJsTemplatevue_type_template_id_c535b064_render(_ctx, _cache, $props, $setup, $data, $options) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldAngularJsTemplatevue_type_template_id_c535b064_hoisted_1, null, 512);
+function FieldAngularJsTemplatevue_type_template_id_3f63d972_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FieldAngularJsTemplatevue_type_template_id_3f63d972_hoisted_1, null, 512);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=template&id=c535b064
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=template&id=3f63d972
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue?vue&type=script&lang=ts
function FieldAngularJsTemplatevue_type_script_lang_ts_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function FieldAngularJsTemplatevue_type_script_lang_ts_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { FieldAngularJsTemplatevue_type_script_lang_ts_ownKeys(Object(source), true).forEach(function (key) { FieldAngularJsTemplatevue_type_script_lang_ts_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { FieldAngularJsTemplatevue_type_script_lang_ts_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -1903,8 +1942,14 @@ function clone(obj) {
/* harmony default export */ var FieldAngularJsTemplatevue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
modelValue: null,
- formField: null,
- templateFile: String
+ formField: {
+ type: null,
+ required: true
+ },
+ templateFile: {
+ type: String,
+ required: true
+ }
},
emits: ['update:modelValue'],
inheritAttrs: false,
@@ -1966,30 +2011,9 @@ function clone(obj) {
-FieldAngularJsTemplatevue_type_script_lang_ts.render = FieldAngularJsTemplatevue_type_template_id_c535b064_render
+FieldAngularJsTemplatevue_type_script_lang_ts.render = FieldAngularJsTemplatevue_type_template_id_3f63d972_render
/* harmony default export */ var FieldAngularJsTemplate = (FieldAngularJsTemplatevue_type_script_lang_ts);
-// CONCATENATED MODULE: ./plugins/CoreHome/vue/src/useExternalPluginComponent.ts
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */
-
-function useExternalPluginComponent(plugin, component) {
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineAsyncComponent"])(function () {
- return new Promise(function (resolve) {
- window.$(document).ready(function () {
- if (window[plugin]) {
- resolve(window[plugin][component]);
- } else {
- resolve(null); // plugin not loaded
- }
- });
- });
- });
-}
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts
function FormField_adapter_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -2008,7 +2032,6 @@ function FormField_adapter_defineProperty(obj, key, value) { if (key in obj) { O
-
function transformVueComponentRef(value) {
if (!value) {
return undefined;
@@ -2021,8 +2044,9 @@ function transformVueComponentRef(value) {
throw new Error('Invalid component property given to piwik-field directive, must be ' + '{plugin: \'...\',name: \'...\'}');
}
- return useExternalPluginComponent(plugin, name);
-}
+ return Object(external_CoreHome_["useExternalPluginComponent"])(plugin, name);
+} // eslint-disable-next-line @typescript-eslint/no-explicit-any
+
function conditionFn(scope, condition) {
var values = {};
@@ -2040,6 +2064,7 @@ function conditionFn(scope, condition) {
component: FormField,
scope: {
modelValue: {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
default: function _default(scope) {
var field = scope.piwikFormField; // vue components expect object data as input, so we parse JSON data
// for angularjs directives that use JSON.
@@ -2058,7 +2083,8 @@ function conditionFn(scope, condition) {
piwikFormField: {
vue: 'formField',
angularJsBind: '=',
- transform: function transform(value, vm, scope) {
+ transform: function transform(v, vm, scope) {
+ var value = v;
return FormField_adapter_objectSpread(FormField_adapter_objectSpread({}, value), {}, {
condition: value.condition ? conditionFn.bind(null, scope, value.condition) : value.condition,
disabled: Object(external_CoreHome_["transformAngularJsBoolAttr"])(value.disabled),
@@ -2105,9 +2131,9 @@ function conditionFn(scope, condition) {
}, true);
}
}));
-// 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/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=template&id=64bae462
+// 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/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=template&id=50f84412
-function Fieldvue_type_template_id_64bae462_render(_ctx, _cache, $props, $setup, $data, $options) {
+function Fieldvue_type_template_id_50f84412_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_FormField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("FormField");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_FormField, {
@@ -2119,9 +2145,9 @@ function Fieldvue_type_template_id_64bae462_render(_ctx, _cache, $props, $setup,
component: _ctx.component
}, null, 8, ["form-field", "model-value", "component"]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=template&id=64bae462
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=template&id=50f84412
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/Field/Field.vue?vue&type=script&lang=ts
function Fieldvue_type_script_lang_ts_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
function Fieldvue_type_script_lang_ts_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Fieldvue_type_script_lang_ts_ownKeys(Object(source), true).forEach(function (key) { Fieldvue_type_script_lang_ts_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Fieldvue_type_script_lang_ts_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -2184,8 +2210,10 @@ var UI_CONTROLS_TO_TYPE = {
return this.varType;
}
- if (UI_CONTROLS_TO_TYPE[this.uicontrol]) {
- return UI_CONTROLS_TO_TYPE[this.uicontrol];
+ var uicontrol = this.uicontrol;
+
+ if (uicontrol && UI_CONTROLS_TO_TYPE[uicontrol]) {
+ return UI_CONTROLS_TO_TYPE[uicontrol];
}
return 'string';
@@ -2230,7 +2258,7 @@ var UI_CONTROLS_TO_TYPE = {
-Fieldvue_type_script_lang_ts.render = Fieldvue_type_template_id_64bae462_render
+Fieldvue_type_script_lang_ts.render = Fieldvue_type_template_id_50f84412_render
/* harmony default export */ var Field = (Fieldvue_type_script_lang_ts);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts
@@ -2284,6 +2312,7 @@ function handleJsonValue(value, varType, uiControl) {
value: {
vue: 'modelValue',
angularJsBind: '@',
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
transform: function transform(value, vm, scope) {
// vue components expect object data as input, so we parse JSON data
// for angularjs directives that use JSON.
@@ -2326,15 +2355,13 @@ function handleJsonValue(value, varType, uiControl) {
condition: {
angularJsBind: '@',
transform: function transform(value, vm, scope) {
- var transformed = value;
-
- if (value) {
- transformed = function transformed(values) {
- return scope.$eval(value, values);
- };
+ if (!value) {
+ return undefined;
}
- return transformed;
+ return function (values) {
+ return scope.$eval(value, values);
+ };
}
},
varType: {
@@ -2377,9 +2404,10 @@ function handleJsonValue(value, varType, uiControl) {
},
component: {
angularJsBind: '<',
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
transform: function transform(value, vm, scope) {
if (!value) {
- return value;
+ return undefined;
}
if (scope.templateFile) {
@@ -2390,7 +2418,7 @@ function handleJsonValue(value, varType, uiControl) {
name = value.name;
if (!plugin || !name) {
- throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");
+ throw new Error('Invalid component property given to piwik-field directive, must ' + 'be {plugin: \'...\',name: \'...\'}');
}
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["shallowRef"])(Object(external_CoreHome_["useExternalPluginComponent"])(plugin, name));
@@ -2455,29 +2483,29 @@ function handleJsonValue(value, varType, uiControl) {
}
}
}));
-// 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/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=template&id=3c695dde
+// 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/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=template&id=63599c19
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_1 = {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_1 = {
class: "pluginSettings",
ref: "root"
};
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_2 = ["id"];
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_3 = {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_2 = ["id"];
+var PluginSettingsvue_type_template_id_63599c19_hoisted_3 = {
class: "card-content"
};
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_4 = ["id"];
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_5 = ["onClick", "disabled", "value"];
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_6 = {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_4 = ["id"];
+var PluginSettingsvue_type_template_id_63599c19_hoisted_5 = ["onClick", "disabled", "value"];
+var PluginSettingsvue_type_template_id_63599c19_hoisted_6 = {
class: "confirm-password-modal modal"
};
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_7 = {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_7 = {
class: "modal-content"
};
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_8 = {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_8 = {
class: "modal-footer"
};
-var PluginSettingsvue_type_template_id_3c695dde_hoisted_9 = ["disabled"];
-function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props, $setup, $data, $options) {
+var PluginSettingsvue_type_template_id_63599c19_hoisted_9 = ["disabled"];
+function PluginSettingsvue_type_template_id_63599c19_render(_ctx, _cache, $props, $setup, $data, $options) {
var _this = this;
var _component_PluginSetting = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("PluginSetting");
@@ -2486,15 +2514,15 @@ function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props
var _component_Field = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("Field");
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", PluginSettingsvue_type_template_id_3c695dde_hoisted_1, [(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.settingsPerPlugin, function (settings) {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", PluginSettingsvue_type_template_id_63599c19_hoisted_1, [(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.settingsPerPlugin, function (settings) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
class: "card",
id: "".concat(settings.pluginName, "PluginSettings"),
key: "".concat(settings.pluginName, "PluginSettings")
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_3c695dde_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", {
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_63599c19_hoisted_3, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", {
class: "card-title",
id: settings.pluginName
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(settings.title), 9, PluginSettingsvue_type_template_id_3c695dde_hoisted_4), (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"])(settings.settings, function (setting) {
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(settings.title), 9, PluginSettingsvue_type_template_id_63599c19_hoisted_4), (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"])(settings.settings, function (setting) {
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
key: "".concat(setting.pluginName, ".").concat(setting.name)
}, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_PluginSetting, {
@@ -2514,10 +2542,10 @@ function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props
disabled: _ctx.isLoading,
class: "pluginsSettingsSubmit btn",
value: _ctx.translate('General_Save')
- }, null, 8, PluginSettingsvue_type_template_id_3c695dde_hoisted_5), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, {
+ }, null, 8, PluginSettingsvue_type_template_id_63599c19_hoisted_5), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, {
loading: _ctx.isLoading || _ctx.isSaving[settings.pluginName]
- }, null, 8, ["loading"])])], 8, PluginSettingsvue_type_template_id_3c695dde_hoisted_2);
- }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_3c695dde_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_3c695dde_hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('UsersManager_ConfirmWithPassword')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
+ }, null, 8, ["loading"])])], 8, PluginSettingsvue_type_template_id_63599c19_hoisted_2);
+ }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_63599c19_hoisted_6, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_63599c19_hoisted_7, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("h2", null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('UsersManager_ConfirmWithPassword')), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_Field, {
modelValue: _ctx.passwordConfirmation,
"onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
return _ctx.passwordConfirmation = $event;
@@ -2527,7 +2555,7 @@ function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props
autocomplete: false,
"full-width": true,
title: _ctx.translate('UsersManager_YourCurrentPassword')
- }, null, 8, ["modelValue", "title"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_3c695dde_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
+ }, null, 8, ["modelValue", "title"])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", PluginSettingsvue_type_template_id_63599c19_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
href: "",
class: "modal-action modal-close btn",
disabled: !_ctx.passwordConfirmation ? 'disabled' : undefined,
@@ -2536,7 +2564,7 @@ function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props
_ctx.save(_this.settingsToSave);
})
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Yes')), 9, PluginSettingsvue_type_template_id_3c695dde_hoisted_9), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_Yes')), 9, PluginSettingsvue_type_template_id_63599c19_hoisted_9), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("a", {
href: "",
class: "modal-action modal-close modal-no",
onClick: _cache[2] || (_cache[2] = function ($event) {
@@ -2544,17 +2572,17 @@ function PluginSettingsvue_type_template_id_3c695dde_render(_ctx, _cache, $props
})
}, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(_ctx.translate('General_No')), 1)])])], 512);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=template&id=3c695dde
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=template&id=63599c19
-// 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/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=template&id=ebbcc5e8
-function PluginSettingvue_type_template_id_ebbcc5e8_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
+// 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/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=template&id=459dac26
+function PluginSettingvue_type_template_id_459dac26_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
-function PluginSettingvue_type_template_id_ebbcc5e8_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { PluginSettingvue_type_template_id_ebbcc5e8_ownKeys(Object(source), true).forEach(function (key) { PluginSettingvue_type_template_id_ebbcc5e8_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { PluginSettingvue_type_template_id_ebbcc5e8_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+function PluginSettingvue_type_template_id_459dac26_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { PluginSettingvue_type_template_id_459dac26_ownKeys(Object(source), true).forEach(function (key) { PluginSettingvue_type_template_id_459dac26_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { PluginSettingvue_type_template_id_459dac26_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
-function PluginSettingvue_type_template_id_ebbcc5e8_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+function PluginSettingvue_type_template_id_459dac26_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function PluginSettingvue_type_template_id_ebbcc5e8_render(_ctx, _cache, $props, $setup, $data, $options) {
+function PluginSettingvue_type_template_id_459dac26_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_FormField = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("FormField");
return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", null, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_FormField, {
@@ -2562,14 +2590,14 @@ function PluginSettingvue_type_template_id_ebbcc5e8_render(_ctx, _cache, $props,
"onUpdate:modelValue": _cache[0] || (_cache[0] = function ($event) {
return _ctx.changeValue($event);
}),
- "form-field": PluginSettingvue_type_template_id_ebbcc5e8_objectSpread(PluginSettingvue_type_template_id_ebbcc5e8_objectSpread({}, _ctx.setting), {}, {
+ "form-field": PluginSettingvue_type_template_id_459dac26_objectSpread(PluginSettingvue_type_template_id_459dac26_objectSpread({}, _ctx.setting), {}, {
condition: _ctx.conditionFunction
})
}, null, 8, ["model-value", "form-field"])]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=template&id=ebbcc5e8
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=template&id=459dac26
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue?vue&type=script&lang=ts
function PluginSettingvue_type_script_lang_ts_slicedToArray(arr, i) { return PluginSettingvue_type_script_lang_ts_arrayWithHoles(arr) || PluginSettingvue_type_script_lang_ts_iterableToArrayLimit(arr, i) || PluginSettingvue_type_script_lang_ts_unsupportedIterableToArray(arr, i) || PluginSettingvue_type_script_lang_ts_nonIterableRest(); }
function PluginSettingvue_type_script_lang_ts_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -2589,8 +2617,14 @@ function PluginSettingvue_type_script_lang_ts_arrayWithHoles(arr) { if (Array.is
var conditionScope;
/* harmony default export */ var PluginSettingvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
props: {
- pluginName: String,
- setting: Object,
+ pluginName: {
+ type: String,
+ required: true
+ },
+ setting: {
+ type: Object,
+ required: true
+ },
modelValue: null,
settingValues: Object
},
@@ -2652,10 +2686,10 @@ var conditionScope;
-PluginSettingvue_type_script_lang_ts.render = PluginSettingvue_type_template_id_ebbcc5e8_render
+PluginSettingvue_type_script_lang_ts.render = PluginSettingvue_type_template_id_459dac26_render
/* harmony default export */ var PluginSetting = (PluginSettingvue_type_script_lang_ts);
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue?vue&type=script&lang=ts
function PluginSettingsvue_type_script_lang_ts_slicedToArray(arr, i) { return PluginSettingsvue_type_script_lang_ts_arrayWithHoles(arr) || PluginSettingsvue_type_script_lang_ts_iterableToArrayLimit(arr, i) || PluginSettingsvue_type_script_lang_ts_unsupportedIterableToArray(arr, i) || PluginSettingsvue_type_script_lang_ts_nonIterableRest(); }
function PluginSettingsvue_type_script_lang_ts_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -2729,7 +2763,8 @@ var _window = window,
return;
}
- this.settingsPerPlugin.forEach(function (settingsForPlugin) {
+ var settingsPerPlugin = this.settingsPerPlugin;
+ settingsPerPlugin.forEach(function (settingsForPlugin) {
var pluginName = settingsForPlugin.pluginName,
settings = settingsForPlugin.settings;
@@ -2765,7 +2800,7 @@ var _window = window,
var onEnter = function onEnter(event) {
var keycode = event.keyCode ? event.keyCode : event.which;
- if (keycode === '13') {
+ if (keycode === 13) {
$root.find('.confirm-password-modal').modal('close');
_this2.save(requestedPlugin);
@@ -2851,7 +2886,7 @@ var _window = window,
-PluginSettingsvue_type_script_lang_ts.render = PluginSettingsvue_type_template_id_3c695dde_render
+PluginSettingsvue_type_script_lang_ts.render = PluginSettingsvue_type_template_id_63599c19_render
/* harmony default export */ var PluginSettings = (PluginSettingsvue_type_script_lang_ts);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.adapter.ts
@@ -2896,11 +2931,11 @@ function onClickUninstall(binding, event) {
binding.value.uninstallConfirmMessage = PluginManagement_$('#uninstallPluginConfirm').text();
}
- var messageToDisplay = binding.value.uninstallConfirmMessage.replace('%s', pluginName);
+ var messageToDisplay = (binding.value.uninstallConfirmMessage || '').replace('%s', pluginName);
PluginManagement_$('#uninstallPluginConfirm').text(messageToDisplay);
external_CoreHome_["Matomo"].helper.modalConfirm('#confirmUninstallPlugin', {
yes: function yes() {
- window.location = link;
+ window.location.href = link;
}
});
}
@@ -2943,8 +2978,7 @@ function piwikPluginManagement() {
}
};
}
-piwikPluginManagement.$inject = [];
-angular.module('piwikApp').directive('piwikPluginManagement', piwikPluginManagement);
+window.angular.module('piwikApp').directive('piwikPluginManagement', piwikPluginManagement);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts
/*!
* Matomo - free/libre analytics platform
@@ -3000,8 +3034,7 @@ function piwikPluginUpload() {
}
};
}
-piwikPluginUpload.$inject = [];
-angular.module('piwikApp').directive('piwikPluginUpload', piwikPluginUpload);
+window.angular.module('piwikApp').directive('piwikPluginUpload', piwikPluginUpload);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts
/*!
* Matomo - free/libre analytics platform
@@ -3104,21 +3137,20 @@ function piwikPluginFilter() {
}
};
}
-piwikPluginFilter.$inject = [];
-angular.module('piwikApp').directive('piwikPluginFilter', piwikPluginFilter);
-// 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/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=template&id=c302ef68
+window.angular.module('piwikApp').directive('piwikPluginFilter', piwikPluginFilter);
+// 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/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=template&id=1e391ba1
-var SaveButtonvue_type_template_id_c302ef68_hoisted_1 = {
+var SaveButtonvue_type_template_id_1e391ba1_hoisted_1 = {
class: "matomo-save-button",
style: {
"display": "inline-block"
}
};
-var SaveButtonvue_type_template_id_c302ef68_hoisted_2 = ["disabled", "value"];
-function SaveButtonvue_type_template_id_c302ef68_render(_ctx, _cache, $props, $setup, $data, $options) {
+var SaveButtonvue_type_template_id_1e391ba1_hoisted_2 = ["disabled", "value"];
+function SaveButtonvue_type_template_id_1e391ba1_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_ActivityIndicator = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("ActivityIndicator");
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", SaveButtonvue_type_template_id_c302ef68_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", SaveButtonvue_type_template_id_1e391ba1_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
type: "button",
onClick: _cache[0] || (_cache[0] = function ($event) {
return _ctx.onConfirm($event);
@@ -3126,13 +3158,13 @@ function SaveButtonvue_type_template_id_c302ef68_render(_ctx, _cache, $props, $s
disabled: _ctx.saving || _ctx.disabled,
class: "btn",
value: _ctx.value ? _ctx.value : _ctx.translate('General_Save')
- }, null, 8, SaveButtonvue_type_template_id_c302ef68_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, {
+ }, null, 8, SaveButtonvue_type_template_id_1e391ba1_hoisted_2), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_ActivityIndicator, {
loading: _ctx.saving
}, null, 8, ["loading"])]);
}
-// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=template&id=c302ef68
+// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=template&id=1e391ba1
-// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/@vue/cli-plugin-typescript/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-3!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=script&lang=ts
+// CONCATENATED MODULE: ./node_modules/@vue/cli-plugin-typescript/node_modules/cache-loader/dist/cjs.js??ref--14-0!./node_modules/babel-loader/lib!./node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader??ref--14-2!./node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist??ref--0-1!./plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue?vue&type=script&lang=ts
/* harmony default export */ var SaveButtonvue_type_script_lang_ts = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
@@ -3146,8 +3178,8 @@ function SaveButtonvue_type_template_id_c302ef68_render(_ctx, _cache, $props, $s
},
emits: ['confirm'],
methods: {
- onConfirm: function onConfirm($event) {
- this.$emit('confirm', $event);
+ onConfirm: function onConfirm(event) {
+ this.$emit('confirm', event);
}
}
}));
@@ -3157,7 +3189,7 @@ function SaveButtonvue_type_template_id_c302ef68_render(_ctx, _cache, $props, $s
-SaveButtonvue_type_script_lang_ts.render = SaveButtonvue_type_template_id_c302ef68_render
+SaveButtonvue_type_script_lang_ts.render = SaveButtonvue_type_template_id_1e391ba1_render
/* harmony default export */ var SaveButton = (SaveButtonvue_type_script_lang_ts);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.adapter.ts
@@ -3235,8 +3267,7 @@ function piwikForm() {
}
};
}
-piwikForm.$inject = [];
-angular.module('piwikApp').directive('piwikForm', piwikForm);
+window.angular.module('piwikApp').directive('piwikForm', piwikForm);
// CONCATENATED MODULE: ./plugins/CorePluginsAdmin/vue/src/index.ts
/*!
* Matomo - free/libre analytics platform
diff --git a/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.min.js b/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.min.js
index aa24c2d8a7..5d302da572 100644
--- a/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.min.js
+++ b/plugins/CorePluginsAdmin/vue/dist/CorePluginsAdmin.umd.min.js
@@ -1,66 +1,60 @@
-(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["CorePluginsAdmin"]=t(require("CoreHome"),require("vue")):e["CorePluginsAdmin"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/CorePluginsAdmin/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"FormField",(function(){return Kt})),n.d(t,"Field",(function(){return mn})),n.d(t,"PluginSettings",(function(){return Gn})),n.d(t,"PluginFilter",(function(){return hr})),n.d(t,"PluginManagement",(function(){return er})),n.d(t,"PluginUpload",(function(){return lr})),n.d(t,"SaveButton",(function(){return Cr})),n.d(t,"Form",(function(){return Ar})),"undefined"!==typeof window){var r=window.document.currentScript,o=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(n.p=o[1])}var i=n("19dc"),l=n("8bbf");function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s={class:"form-group row matomo-form-field"},d={key:0,class:"col s12"},m={key:0,class:"form-help"},f={key:0,class:"inline-help",ref:"inlineHelp"},p=Object(l["createElementVNode"])("br",null,null,-1);function b(e,t,n,r,o,i){return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("div",s,[e.formField.introduction?(Object(l["openBlock"])(),Object(l["createElementBlock"])("h3",d,Object(l["toDisplayString"])(e.formField.introduction),1)):Object(l["createCommentVNode"])("",!0),Object(l["createElementVNode"])("div",{class:Object(l["normalizeClass"])(["col s12",{"input-field":"checkbox"!==e.formField.uiControl&&"radio"!==e.formField.uiControl,"file-field":"file"===e.formField.uiControl,m6:!e.formField.fullWidth}])},[(Object(l["openBlock"])(),Object(l["createBlock"])(Object(l["resolveDynamicComponent"])(e.childComponent),Object(l["mergeProps"])(u(u({formField:e.formField},e.formField),{},{modelValue:e.processedModelValue,availableOptions:e.availableOptions},e.extraChildComponentParams),{"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)})}),null,16))],2),Object(l["createElementVNode"])("div",{class:Object(l["normalizeClass"])(["col s12",{m6:!e.formField.fullWidth}])},[e.showFormHelp?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",m,[Object(l["withDirectives"])(Object(l["createElementVNode"])("div",{class:"form-description"},Object(l["toDisplayString"])(e.formField.description),513),[[l["vShow"],e.formField.description]]),e.formField.inlineHelp?(Object(l["openBlock"])(),Object(l["createElementBlock"])("span",f,null,512)):Object(l["createCommentVNode"])("",!0),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",null,[p,Object(l["createTextVNode"])(" "+Object(l["toDisplayString"])(e.translate("General_Default"))+": ",1),Object(l["createElementVNode"])("span",null,Object(l["toDisplayString"])(e.defaultValuePrettyTruncated),1)],512),[[l["vShow"],e.showDefaultValue]])])):Object(l["createCommentVNode"])("",!0)],2)],512)),[[l["vShow"],e.showField]])}var v={class:"checkbox"},g=["checked","id","name"],h=["innerHTML"];function O(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",v,[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},e.uiControlAttributes,{value:1,checked:!!e.modelValue,type:"checkbox",id:e.name,name:e.name}),null,16,g),Object(l["createElementVNode"])("span",{innerHTML:e.$sanitize(e.title)},null,8,h)])])}var y=Object(l["defineComponent"])({props:{modelValue:Boolean,uiControlAttributes:Object,name:String,title:String},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.modelValue!==e.target.checked&&this.$emit("update:modelValue",e.target.checked)}}});y.render=O;var j=y,w=["value","checked","onChange","id","name"];function V(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["withDirectives"])(Object(l["createElementVNode"])("label",{class:"fieldRadioTitle"},Object(l["toDisplayString"])(e.title),513),[[l["vShow"],e.title]]),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions,(function(t,n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("p",{key:n,class:"checkbox"},[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({value:t.key,checked:!!e.checkboxStates[n],onChange:function(t){return e.onChange(n)}},e.uiControlAttributes,{type:"checkbox",id:"".concat(e.name).concat(t.key),name:t.name}),null,16,w),Object(l["createElementVNode"])("span",null,Object(l["toDisplayString"])(t.value),1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{class:"form-description"},Object(l["toDisplayString"])(t.description),513),[[l["vShow"],t.description]])])])})),128))])}function C(e){return F(e)||A(e)||k(e)||S()}function S(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(e,t){if(e){if("string"===typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function A(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function F(e){if(Array.isArray(e))return E(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){return(e||[]).map((function(e){return t&&-1!==t.indexOf(e.key)}))}var x=Object(l["defineComponent"])({props:{modelValue:Object,name:String,title:String,availableOptions:Array,uiControlAttributes:Object,type:String},inheritAttrs:!1,emits:["update:modelValue"],computed:{checkboxStates:function(){return B(this.availableOptions,this.modelValue)}},mounted:function(){window.Materialize.updateTextFields()},methods:{onChange:function(e){var t=C(this.checkboxStates);t[e]=!t[e];var n=[];Object.values(this.availableOptions).forEach((function(e,r){t[r]&&n.push(e.key)})),this.$emit("update:modelValue",n)}}});x.render=V;var P=x,N={class:"expandableSelector"},T=Object(l["createElementVNode"])("svg",{class:"caret",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[Object(l["createElementVNode"])("path",{d:"M7 10l5 5 5-5z"}),Object(l["createElementVNode"])("path",{d:"M0 0h24v24H0z",fill:"none"})],-1),$=["value"],M={class:"expandableList z-depth-2"},D={class:"searchContainer"},J={class:"collection firstLevel"},H=["onClick"],I={class:"collection secondLevel"},L=["onClick"],z={class:"primary-content"},U=["title"];function K(e,t,n,r,o,i){var a=Object(l["resolveDirective"])("focus-if"),u=Object(l["resolveDirective"])("focus-anywhere-but-here");return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("div",N,[Object(l["createElementVNode"])("div",{onClick:t[0]||(t[0]=function(t){return e.showSelect=!e.showSelect}),class:"select-wrapper"},[T,Object(l["createElementVNode"])("input",{type:"text",class:"select-dropdown",readonly:"readonly",value:e.modelValueText},null,8,$)]),Object(l["withDirectives"])(Object(l["createElementVNode"])("div",M,[Object(l["createElementVNode"])("div",D,[Object(l["withDirectives"])(Object(l["createElementVNode"])("input",{type:"text",placeholder:"Search","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.searchTerm=t}),class:"expandableSearch browser-default"},null,512),[[l["vModelText"],e.searchTerm],[a,e.showSelect]])]),Object(l["createElementVNode"])("ul",J,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions,(function(t,n){return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("li",{class:"collection-item",key:n},[Object(l["createElementVNode"])("h4",{class:"expandableListCategory",onClick:function(n){return e.onCategoryClicked(t)}},[Object(l["createTextVNode"])(Object(l["toDisplayString"])(t.group)+" ",1),Object(l["createElementVNode"])("span",{class:Object(l["normalizeClass"])(["secondary-content",{"icon-arrow-right":e.showCategory!==t.group,"icon-arrow-bottom":e.showCategory===t.group}])},null,2)],8,H),Object(l["withDirectives"])(Object(l["createElementVNode"])("ul",I,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(t.values.filter((function(t){return-1!==t.value.indexOf(e.searchTerm)})),(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("li",{class:"expandableListItem collection-item valign-wrapper",key:t.key,onClick:function(n){return e.onValueClicked(t)}},[Object(l["createElementVNode"])("span",z,Object(l["toDisplayString"])(t.value),1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{title:t.tooltip,class:"secondary-content icon-help"},null,8,U),[[l["vShow"],t.tooltip]])],8,L)})),128))],512),[[l["vShow"],e.showCategory===t.group||e.searchTerm]])],512)),[[l["vShow"],t.values.filter((function(t){return-1!==t.value.indexOf(e.searchTerm)})).length]])})),128))])],512),[[l["vShow"],e.showSelect]])],512)),[[u,{blur:e.onBlur}]])}function _(e){var t=[],n={};return Object.values(e).forEach((function(e){var t=e,r=t.group||"";r in n&&n[r]||(n[r]={values:[],group:r});var o={key:t.key,value:t.value};"tooltip"in t&&t.tooltip&&(o.tooltip=t.tooltip),n[r].values.push(o)})),Object.values(n).forEach((function(e){e.values.length&&t.push(e)})),t}var q=Object(l["defineComponent"])({props:{modelValue:[Number,String],availableOptions:Array,title:String},directives:{FocusAnywhereButHere:i["FocusAnywhereButHere"],FocusIf:i["FocusIf"]},inheritAttrs:!1,emits:["update:modelValue"],data:function(){return{showSelect:!1,searchTerm:"",showCategory:""}},computed:{modelValueText:function(){if(this.title)return this.title;var e,t=this.modelValue;return(this.availableOptions||[]).some((function(n){return e=n.values.find((function(e){return e.key===t})),e})),e?e.value.toString():t}},methods:{onBlur:function(){this.showSelect=!1},onCategoryClicked:function(e){this.showCategory===e.group?this.showCategory="":this.showCategory=e.group},onValueClicked:function(e){this.$emit("update:modelValue",e.key),this.showSelect=!1}}});q.render=K;var R=q,W=["for","innerHTML"];function G(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FieldArray");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,W),Object(l["createVNode"])(a,{name:e.name,"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onValueUpdate(t)}),field:e.uiControlAttributes.field},null,8,["name","model-value","field"])])}var Z=Object(l["defineComponent"])({components:{FieldArray:i["FieldArray"]},props:{name:String,title:String,modelValue:null,uiControlAttributes:Object},inheritAttrs:!1,emits:["update:modelValue"],methods:{onValueUpdate:function(e){this.$emit("update:modelValue",e)}}});Z.render=G;var Y=Z,Q={class:"btn"},X=["for","innerHTML"],ee=["name","id"],te={class:"file-path-wrapper"},ne=["value"];function re(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("div",Q,[Object(l["createElementVNode"])("span",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,X),Object(l["createElementVNode"])("input",{ref:"fileInput",name:e.name,type:"file",id:e.name,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},null,40,ee)]),Object(l["createElementVNode"])("div",te,[Object(l["createElementVNode"])("input",{class:"file-path validate",value:e.modelValue,type:"text"},null,8,ne)])])}var oe=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:String},inheritAttrs:!1,emits:["update:modelValue"],setup:function(e){var t=Object(l["ref"])(null);return Object(l["watch"])((function(){return e.modelValue}),(function(e){if(""===e){var n=t.value;n.value=""}})),{fileInput:t}},methods:{onChange:function(e){var t=e.target.files.item(0);this.$emit("update:modelValue",t)}}});oe.render=re;var ie=oe,le=["type","name","value"];function ae(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("input",{type:e.uiControl,name:e.name,value:e.modelValue,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},null,40,le)])}var ue=Object(l["defineComponent"])({props:{modelValue:null,uiControl:String,name:String},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e.target.value)}}});ue.render=ae;var ce=ue,se={class:"fieldMultiTuple"},de=["for","innerHTML"];function me(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("MultiPairField");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",se,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,de),Object(l["createVNode"])(a,{name:e.name,"model-value":e.modelValue,"onUpdate:modelValue":e.onUpdateValue,field1:e.uiControlAttributes.field1,field2:e.uiControlAttributes.field2,field3:e.uiControlAttributes.field3,field4:e.uiControlAttributes.field4},null,8,["name","model-value","onUpdate:modelValue","field1","field2","field3","field4"])])}var fe=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:null,uiControlAttributes:Object},inheritAttrs:!1,components:{MultiPairField:i["MultiPairField"]},emits:["update:modelValue"],methods:{onUpdateValue:function(e){this.$emit("update:modelValue",e)}}});fe.render=me;var pe=fe,be=["type","id","name","value"],ve=["for","innerHTML"];function ge(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,id:e.name,name:e.name,value:(e.modelValue||"").toString(),onKeydown:t[0]||(t[0]=function(t){return e.onChange(t)}),onChange:t[1]||(t[1]=function(t){return e.onChange(t)})},e.uiControlAttributes),null,16,be),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,ve)],64)}var he=Object(l["defineComponent"])({props:{uiControl:String,name:String,title:String,modelValue:[Number,String],uiControlAttributes:Object},inheritAttrs:!1,emits:["update:modelValue"],created:function(){this.onChange=Object(i["debounce"])(this.onChange.bind(this),50)},methods:{onChange:function(e){var t=parseFloat(e.target.value);this.$emit("update:modelValue",t)}},mounted:function(){window.Materialize.updateTextFields()},watch:{modelValue:function(){setTimeout((function(){window.Materialize.updateTextFields()}))}}});he.render=ge;var Oe=he,ye=["value","id","name","disabled","checked"];function je(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["withDirectives"])(Object(l["createElementVNode"])("label",{class:"fieldRadioTitle"},Object(l["toDisplayString"])(e.title),513),[[l["vShow"],e.title]]),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions||[],(function(n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("p",{key:n.key,class:"radio"},[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({value:n.key,onChange:t[0]||(t[0]=function(t){return e.onChange(t)}),type:"radio",id:"".concat(e.name).concat(n.key),name:e.name,disabled:n.disabled||e.disabled},e.uiControlAttributes,{checked:e.modelValue===n.key||"".concat(e.modelValue)===n.key}),null,16,ye),Object(l["createElementVNode"])("span",null,[Object(l["createTextVNode"])(Object(l["toDisplayString"])(n.value)+" ",1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{class:"form-description"},Object(l["toDisplayString"])(n.description),513),[[l["vShow"],n.description]])])])])})),128))])}var we=Object(l["defineComponent"])({props:{title:String,availableOptions:Array,name:String,disabled:Boolean,uiControlAttributes:Object,modelValue:[String,Number]},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e.target.value)}}});we.render=je;var Ve=we;function Ce(e,t){return Ee(e)||Fe(e,t)||ke(e,t)||Se()}function Se(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ke(e,t){if(e){if("string"===typeof e)return Ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(e,t):void 0}}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fe(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Ee(e){if(Array.isArray(e))return e}var Be={key:0,class:"matomo-field-select"},xe=["multiple","name"],Pe=["label"],Ne=["value","selected","disabled"],Te=["for","innerHTML"],$e={key:1,class:"matomo-field-select"},Me=["multiple","name"],De=["value","selected","disabled"],Je=["for","innerHTML"];function He(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[e.groupedOptions?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",Be,[Object(l["createElementVNode"])("select",Object(l["mergeProps"])({ref:"select",class:"grouped",multiple:e.multiple,name:e.name,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},e.uiControlAttributes),[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.groupedOptions,(function(t){var n=Ce(t,2),r=n[0],o=n[1];return Object(l["openBlock"])(),Object(l["createElementBlock"])("optgroup",{key:r,label:r},[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(o,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("option",{key:t.key,value:"string:".concat(t.key),selected:e.multiple?e.modelValue&&-1!==e.modelValue.indexOf(t.key):e.modelValue===t.key,disabled:t.disabled},Object(l["toDisplayString"])(t.value),9,Ne)})),128))],8,Pe)})),128))],16,xe),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.title},null,8,Te)])):Object(l["createCommentVNode"])("",!0),!e.groupedOptions&&e.options?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",$e,[Object(l["createElementVNode"])("select",Object(l["mergeProps"])({class:"ungrouped",ref:"select",multiple:e.multiple,name:e.name,onChange:t[1]||(t[1]=function(t){return e.onChange(t)})},e.uiControlAttributes),[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.options,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("option",{key:t.key,value:"string:".concat(t.key),selected:e.multiple?e.modelValue&&-1!==e.modelValue.indexOf(t.key):e.modelValue===t.key,disabled:t.disabled},Object(l["toDisplayString"])(t.value),9,De)})),128))],16,Me),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.title},null,8,Je)])):Object(l["createCommentVNode"])("",!0)],64)}function Ie(e){return Ue(e)||ze(e)||qe(e)||Le()}function Le(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ze(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function Ue(e){if(Array.isArray(e))return Re(e)}function Ke(e,t){return Ge(e)||We(e,t)||qe(e,t)||_e()}function _e(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function qe(e,t){if(e){if("string"===typeof e)return Re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Re(e,t):void 0}}function Re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function We(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Ge(e){if(Array.isArray(e))return e}function Ze(e){return Ze="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ze(e)}function Ye(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0;if(e){var i=window.$(e);if(Array.from(e.options).forEach((function(e){e.selected=o?t&&-1!==t.indexOf(e.value.replace(/^string:/,"")):"string:".concat(t)===e.value})),i.formSelect(r),n){var l=i.closest(".select-wrapper").find("input");l.attr("placeholder",n)}}}function Qe(e){return!Array.isArray(e)&&"object"===Ze(e)&&Object.values(e).some((function(e){return"object"===Ze(e)}))}function Xe(e,t){return e.some((function(e){return e.key===t}))}function et(e,t,n){if(!e)return[];var r=!0,o=e;Qe(o)||(o={"":e},r=!1);var i=[];return Object.entries(o).forEach((function(e){var n=Ke(e,2),o=n[0],l=n[1];Object.entries(l).forEach((function(e){var n=Ke(e,2),l=n[0],a=n[1];if("object"!==Ze(a)||"undefined"===typeof a.key){var u=l;"integer"===t&&"string"===typeof l&&(u=parseInt(l,10)),i.push({group:r?o:void 0,key:u,value:a})}else i.push(a)}))})),n.placeholder&&!Xe(i,"")?[{key:"",value:""}].concat(i):i}function tt(e){return"string"===typeof e?e.replace(/^string:/,""):e}var nt=Object(l["defineComponent"])({props:{modelValue:null,multiple:Boolean,name:String,title:String,availableOptions:Array,uiControlAttributes:Object,uiControlOptions:Object},inheritAttrs:!1,emits:["update:modelValue"],computed:{options:function(){return!this.availableOptions||Xe(this.availableOptions,"")||"undefined"!==typeof this.modelValue&&null!==this.modelValue&&""!==this.modelValue?this.availableOptions:[{key:"",value:this.modelValue,group:this.hasGroups?"":void 0}].concat(Ie(this.availableOptions))},hasGroups:function(){var e=this.availableOptions;return e&&e[0]&&"undefined"!==typeof e[0].group},groupedOptions:function(){if(!this.hasGroups)return null;var e=this.options,t={};e.forEach((function(e){t[e.group]=t[e.group]||[],t[e.group].push(e)}));var n=Object.entries(t);return n.sort((function(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0})),n}},methods:{onChange:function(e){var t,n=this,r=e.target;this.multiple?(t=Array.from(r.options).filter((function(e){return e.selected})).map((function(e){return e.value})),t=t.map(tt)):(t=r.value,t=tt(t)),this.$emit("update:modelValue",t),Object(l["nextTick"])((function(){n.modelValue!==t&&n.onModelValueChange(n.modelValue)}))},onModelValueChange:function(e){var t=this;window.$(this.$refs.select).val(e),setTimeout((function(){Ye(t.$refs.select,e,t.uiControlAttributes.placeholder,t.uiControlOptions,t.multiple)}))}},watch:{modelValue:function(e){this.onModelValueChange(e)},"uiControlAttributes.disabled":{handler:function(e,t){var n=this;setTimeout((function(){e!==t&&Ye(n.$refs.select,n.modelValue,n.uiControlAttributes.placeholder,n.uiControlOptions,n.multiple)}))}},availableOptions:function(e,t){var n=this;e!==t&&setTimeout((function(){Ye(n.$refs.select,n.modelValue,n.uiControlAttributes.placeholder,n.uiControlOptions,n.multiple)}))}},mounted:function(){var e=this;setTimeout((function(){Ye(e.$refs.select,e.modelValue,e.uiControlAttributes.placeholder,e.uiControlOptions,e.multiple)}))}});nt.render=He;var rt=nt,ot=["for","innerHTML"],it={class:"sites_autocomplete"};function lt(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("SiteSelector");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,class:"siteSelectorLabel",innerHTML:e.$sanitize(e.title)},null,8,ot),Object(l["createElementVNode"])("div",it,[Object(l["createVNode"])(a,Object(l["mergeProps"])({"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)}),id:e.name,"show-all-sites-item":e.uiControlAttributes.showAllSitesItem||!1,"switch-site-on-select":!1,"show-selected-site":!0,"only-sites-with-admin-access":e.uiControlAttributes.onlySitesWithAdminAccess||!1},e.uiControlAttributes),null,16,["model-value","id","show-all-sites-item","only-sites-with-admin-access"])])])}var at=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:Object,uiControlAttributes:Object},inheritAttrs:!1,components:{SiteSelector:i["SiteSelector"]},emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});at.render=lt;var ut=at,ct=["type","id","name","value"],st=["for","innerHTML"];function dt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,id:e.name,name:e.name,value:e.modelValueText,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)})},e.uiControlAttributes),null,16,ct),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,st)],64)}var mt=Object(l["defineComponent"])({props:{title:String,name:String,uiControlAttributes:Object,modelValue:[String,Number],uiControl:String},inheritAttrs:!1,emits:["update:modelValue"],computed:{modelValueText:function(){return"undefined"===typeof this.modelValue||null===this.modelValue?"":this.modelValue.toString()}},created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},mounted:function(){setTimeout((function(){window.Materialize.updateTextFields()}))},watch:{modelValue:function(){setTimeout((function(){window.Materialize.updateTextFields()}))}},methods:{onKeydown:function(e){this.$emit("update:modelValue",e.target.value)}}});mt.render=dt;var ft=mt,pt=["for","innerHTML"],bt=["type","name","value"];function vt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,pt),Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,name:e.name,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),value:e.concattedValues},e.uiControlAttributes),null,16,bt)])}var gt=Object(l["defineComponent"])({props:{name:String,title:String,uiControl:String,modelValue:Array,uiControlAttributes:Object},inheritAttrs:!1,computed:{concattedValues:function(){return"string"===typeof this.modelValue?this.modelValue:(this.modelValue||[]).join(", ")}},emits:["update:modelValue"],created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){var t=e.target.value.split(",").map((function(e){return e.trim()}));this.$emit("update:modelValue",t)}}});gt.render=vt;var ht=gt,Ot=["name","id","value"],yt=["for","innerHTML"];function jt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("textarea",Object(l["mergeProps"])({name:e.name},e.uiControlAttributes,{id:e.name,value:e.modelValue,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),class:"materialize-textarea",ref:"textarea"}),null,16,Ot),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,yt)],64)}var wt=Object(l["defineComponent"])({props:{name:String,uiControlAttributes:Object,modelValue:String,title:String},inheritAttrs:!1,emits:["update:modelValue"],created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){this.$emit("update:modelValue",e.target.value)}},watch:{modelValue:function(){var e=this;setTimeout((function(){window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}},mounted:function(){var e=this;setTimeout((function(){window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}});wt.render=jt;var Vt=wt,Ct=["for","innerHTML"],St=["name","value"];function kt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,Ct),Object(l["createElementVNode"])("textarea",Object(l["mergeProps"])({ref:"textarea",name:e.name},e.uiControlAttributes,{value:e.concattedValue,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),class:"materialize-textarea"}),null,16,St)])}var At="\n",Ft=Object(l["defineComponent"])({props:{name:String,title:String,uiControlAttributes:Object,modelValue:[Array,String]},inheritAttrs:!1,emits:["update:modelValue"],computed:{concattedValue:function(){return"string"===typeof this.modelValue?this.modelValue:(this.modelValue||[]).join(At)}},created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){var t=e.target.value.split(At);this.$emit("update:modelValue",t)}},watch:{modelValue:function(e,t){var n=this;e!==t&&setTimeout((function(){n.$refs.textarea&&window.Materialize.textareaAutoResize(n.$refs.textarea),window.Materialize.updateTextFields()}))}},mounted:function(){var e=this;setTimeout((function(){e.$refs.textarea&&window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}});Ft.render=kt;var Et=Ft;function Bt(e){return Bt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bt(e)}function xt(e,t){return Mt(e)||$t(e,t)||Nt(e,t)||Pt()}function Pt(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Nt(e,t){if(e){if("string"===typeof e)return Tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tt(e,t):void 0}}function Tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $t(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Mt(e){if(Array.isArray(e))return e}
+(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("CoreHome"),require("vue")):"function"===typeof define&&define.amd?define(["CoreHome"],t):"object"===typeof exports?exports["CorePluginsAdmin"]=t(require("CoreHome"),require("vue")):e["CorePluginsAdmin"]=t(e["CoreHome"],e["Vue"])})("undefined"!==typeof self?self:this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="plugins/CorePluginsAdmin/vue/dist/",n(n.s="fae3")}({"19dc":function(t,n){t.exports=e},"8bbf":function(e,n){e.exports=t},fae3:function(e,t,n){"use strict";if(n.r(t),n.d(t,"FormField",(function(){return Kt})),n.d(t,"Field",(function(){return dn})),n.d(t,"PluginSettings",(function(){return Wn})),n.d(t,"PluginFilter",(function(){return gr})),n.d(t,"PluginManagement",(function(){return Xn})),n.d(t,"PluginUpload",(function(){return ir})),n.d(t,"SaveButton",(function(){return Vr})),n.d(t,"Form",(function(){return kr})),"undefined"!==typeof window){var r=window.document.currentScript,o=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);o&&(n.p=o[1])}var i=n("19dc"),l=n("8bbf");function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s={class:"form-group row matomo-form-field"},d={key:0,class:"col s12"},m={key:0,class:"form-help"},f={key:0,class:"inline-help",ref:"inlineHelp"},p=Object(l["createElementVNode"])("br",null,null,-1);function b(e,t,n,r,o,i){return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("div",s,[e.formField.introduction?(Object(l["openBlock"])(),Object(l["createElementBlock"])("h3",d,Object(l["toDisplayString"])(e.formField.introduction),1)):Object(l["createCommentVNode"])("",!0),Object(l["createElementVNode"])("div",{class:Object(l["normalizeClass"])(["col s12",{"input-field":"checkbox"!==e.formField.uiControl&&"radio"!==e.formField.uiControl,"file-field":"file"===e.formField.uiControl,m6:!e.formField.fullWidth}])},[(Object(l["openBlock"])(),Object(l["createBlock"])(Object(l["resolveDynamicComponent"])(e.childComponent),Object(l["mergeProps"])(u(u({formField:e.formField},e.formField),{},{modelValue:e.processedModelValue,availableOptions:e.availableOptions},e.extraChildComponentParams),{"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)})}),null,16))],2),Object(l["createElementVNode"])("div",{class:Object(l["normalizeClass"])(["col s12",{m6:!e.formField.fullWidth}])},[e.showFormHelp?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",m,[Object(l["withDirectives"])(Object(l["createElementVNode"])("div",{class:"form-description"},Object(l["toDisplayString"])(e.formField.description),513),[[l["vShow"],e.formField.description]]),e.formField.inlineHelp?(Object(l["openBlock"])(),Object(l["createElementBlock"])("span",f,null,512)):Object(l["createCommentVNode"])("",!0),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",null,[p,Object(l["createTextVNode"])(" "+Object(l["toDisplayString"])(e.translate("General_Default"))+": ",1),Object(l["createElementVNode"])("span",null,Object(l["toDisplayString"])(e.defaultValuePrettyTruncated),1)],512),[[l["vShow"],e.showDefaultValue]])])):Object(l["createCommentVNode"])("",!0)],2)],512)),[[l["vShow"],e.showField]])}var v={class:"checkbox"},g=["checked","id","name"],h=["innerHTML"];function O(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",v,[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},e.uiControlAttributes,{value:1,checked:!!e.modelValue,type:"checkbox",id:e.name,name:e.name}),null,16,g),Object(l["createElementVNode"])("span",{innerHTML:e.$sanitize(e.title)},null,8,h)])])}var y=Object(l["defineComponent"])({props:{modelValue:Boolean,uiControlAttributes:Object,name:String,title:String},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.modelValue!==e.target.checked&&this.$emit("update:modelValue",e.target.checked)}}});y.render=O;var j=y,w=["value","checked","onChange","id","name"];function V(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["withDirectives"])(Object(l["createElementVNode"])("label",{class:"fieldRadioTitle"},Object(l["toDisplayString"])(e.title),513),[[l["vShow"],e.title]]),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions,(function(t,n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("p",{key:n,class:"checkbox"},[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({value:t.key,checked:!!e.checkboxStates[n],onChange:function(t){return e.onChange(n)}},e.uiControlAttributes,{type:"checkbox",id:"".concat(e.name).concat(t.key),name:t.name}),null,16,w),Object(l["createElementVNode"])("span",null,Object(l["toDisplayString"])(t.value),1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{class:"form-description"},Object(l["toDisplayString"])(t.description),513),[[l["vShow"],t.description]])])])})),128))])}function C(e){return F(e)||A(e)||k(e)||S()}function S(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(e,t){if(e){if("string"===typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function A(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function F(e){if(Array.isArray(e))return E(e)}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){return(e||[]).map((function(e){return t&&-1!==t.indexOf(e.key)}))}var x=Object(l["defineComponent"])({props:{modelValue:Array,name:String,title:String,availableOptions:Array,uiControlAttributes:Object,type:String},inheritAttrs:!1,emits:["update:modelValue"],computed:{checkboxStates:function(){return B(this.availableOptions,this.modelValue)}},mounted:function(){window.Materialize.updateTextFields()},methods:{onChange:function(e){var t=C(this.checkboxStates);t[e]=!t[e];var n=this.availableOptions||{},r=[];Object.values(n).forEach((function(e,n){t[n]&&r.push(e.key)})),this.$emit("update:modelValue",r)}}});x.render=V;var P=x,N={class:"expandableSelector"},T=Object(l["createElementVNode"])("svg",{class:"caret",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[Object(l["createElementVNode"])("path",{d:"M7 10l5 5 5-5z"}),Object(l["createElementVNode"])("path",{d:"M0 0h24v24H0z",fill:"none"})],-1),$=["value"],M={class:"expandableList z-depth-2"},D={class:"searchContainer"},J={class:"collection firstLevel"},H=["onClick"],I={class:"collection secondLevel"},L=["onClick"],z={class:"primary-content"},U=["title"];function K(e,t,n,r,o,i){var a=Object(l["resolveDirective"])("focus-if"),u=Object(l["resolveDirective"])("focus-anywhere-but-here");return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("div",N,[Object(l["createElementVNode"])("div",{onClick:t[0]||(t[0]=function(t){return e.showSelect=!e.showSelect}),class:"select-wrapper"},[T,Object(l["createElementVNode"])("input",{type:"text",class:"select-dropdown",readonly:"readonly",value:e.modelValueText},null,8,$)]),Object(l["withDirectives"])(Object(l["createElementVNode"])("div",M,[Object(l["createElementVNode"])("div",D,[Object(l["withDirectives"])(Object(l["createElementVNode"])("input",{type:"text",placeholder:"Search","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.searchTerm=t}),class:"expandableSearch browser-default"},null,512),[[l["vModelText"],e.searchTerm],[a,e.showSelect]])]),Object(l["createElementVNode"])("ul",J,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions,(function(t,n){return Object(l["withDirectives"])((Object(l["openBlock"])(),Object(l["createElementBlock"])("li",{class:"collection-item",key:n},[Object(l["createElementVNode"])("h4",{class:"expandableListCategory",onClick:function(n){return e.onCategoryClicked(t)}},[Object(l["createTextVNode"])(Object(l["toDisplayString"])(t.group)+" ",1),Object(l["createElementVNode"])("span",{class:Object(l["normalizeClass"])(["secondary-content",{"icon-arrow-right":e.showCategory!==t.group,"icon-arrow-bottom":e.showCategory===t.group}])},null,2)],8,H),Object(l["withDirectives"])(Object(l["createElementVNode"])("ul",I,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(t.values.filter((function(t){return-1!==t.value.indexOf(e.searchTerm)})),(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("li",{class:"expandableListItem collection-item valign-wrapper",key:t.key,onClick:function(n){return e.onValueClicked(t)}},[Object(l["createElementVNode"])("span",z,Object(l["toDisplayString"])(t.value),1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{title:t.tooltip,class:"secondary-content icon-help"},null,8,U),[[l["vShow"],t.tooltip]])],8,L)})),128))],512),[[l["vShow"],e.showCategory===t.group||e.searchTerm]])],512)),[[l["vShow"],t.values.filter((function(t){return-1!==t.value.indexOf(e.searchTerm)})).length]])})),128))])],512),[[l["vShow"],e.showSelect]])],512)),[[u,{blur:e.onBlur}]])}function _(e){var t=[];if(!e)return t;var n={};return Object.values(e).forEach((function(e){var t=e,r=t.group||"";r in n&&n[r]||(n[r]={values:[],group:r});var o={key:t.key,value:t.value};"tooltip"in t&&t.tooltip&&(o.tooltip=t.tooltip),n[r].values.push(o)})),Object.values(n).forEach((function(e){e.values.length&&t.push(e)})),t}var q=Object(l["defineComponent"])({props:{modelValue:[Number,String],availableOptions:Array,title:String},directives:{FocusAnywhereButHere:i["FocusAnywhereButHere"],FocusIf:i["FocusIf"]},inheritAttrs:!1,emits:["update:modelValue"],data:function(){return{showSelect:!1,searchTerm:"",showCategory:""}},computed:{modelValueText:function(){if(this.title)return this.title;var e,t=this.modelValue,n=this.availableOptions||[];return n.some((function(n){return e=n.values.find((function(e){return e.key===t})),e})),e?e.value?"".concat(e.value):"":t?"".concat(t):""}},methods:{onBlur:function(){this.showSelect=!1},onCategoryClicked:function(e){this.showCategory===e.group?this.showCategory="":this.showCategory=e.group},onValueClicked:function(e){this.$emit("update:modelValue",e.key),this.showSelect=!1}}});q.render=K;var R=q,W=["for","innerHTML"];function G(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FieldArray");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,W),Object(l["createVNode"])(a,{name:e.name,"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onValueUpdate(t)}),field:e.uiControlAttributes.field},null,8,["name","model-value","field"])])}var Z=Object(l["defineComponent"])({components:{FieldArray:i["FieldArray"]},props:{name:String,title:String,modelValue:null,uiControlAttributes:Object},inheritAttrs:!1,emits:["update:modelValue"],methods:{onValueUpdate:function(e){this.$emit("update:modelValue",e)}}});Z.render=G;var Y=Z,Q={class:"btn"},X=["for","innerHTML"],ee=["name","id"],te={class:"file-path-wrapper"},ne=["value"];function re(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("div",Q,[Object(l["createElementVNode"])("span",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,X),Object(l["createElementVNode"])("input",{ref:"fileInput",name:e.name,type:"file",id:e.name,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},null,40,ee)]),Object(l["createElementVNode"])("div",te,[Object(l["createElementVNode"])("input",{class:"file-path validate",value:e.modelValue,type:"text"},null,8,ne)])])}var oe=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:String},inheritAttrs:!1,emits:["update:modelValue"],setup:function(e){var t=Object(l["ref"])(null);return Object(l["watch"])((function(){return e.modelValue}),(function(e){if(""===e){var n=t.value;n.value=""}})),{fileInput:t}},methods:{onChange:function(e){var t=e.target.files;if(t){var n=t.item(0);this.$emit("update:modelValue",n)}}}});oe.render=re;var ie=oe,le=["type","name","value"];function ae(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("input",{type:e.uiControl,name:e.name,value:e.modelValue,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},null,40,le)])}var ue=Object(l["defineComponent"])({props:{modelValue:null,uiControl:String,name:String},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e.target.value)}}});ue.render=ae;var ce=ue,se={class:"fieldMultiTuple"},de=["for","innerHTML"];function me(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("MultiPairField");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",se,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,de),Object(l["createVNode"])(a,{name:e.name,"model-value":e.modelValue,"onUpdate:modelValue":e.onUpdateValue,field1:e.uiControlAttributes.field1,field2:e.uiControlAttributes.field2,field3:e.uiControlAttributes.field3,field4:e.uiControlAttributes.field4},null,8,["name","model-value","onUpdate:modelValue","field1","field2","field3","field4"])])}var fe=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:null,uiControlAttributes:Object},inheritAttrs:!1,components:{MultiPairField:i["MultiPairField"]},emits:["update:modelValue"],methods:{onUpdateValue:function(e){this.$emit("update:modelValue",e)}}});fe.render=me;var pe=fe,be=["type","id","name","value"],ve=["for","innerHTML"];function ge(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,id:e.name,name:e.name,value:(e.modelValue||"").toString(),onKeydown:t[0]||(t[0]=function(t){return e.onChange(t)}),onChange:t[1]||(t[1]=function(t){return e.onChange(t)})},e.uiControlAttributes),null,16,be),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,ve)],64)}var he=Object(l["defineComponent"])({props:{uiControl:String,name:String,title:String,modelValue:[Number,String],uiControlAttributes:Object},inheritAttrs:!1,emits:["update:modelValue"],created:function(){this.onChange=Object(i["debounce"])(this.onChange.bind(this),50)},methods:{onChange:function(e){var t=parseFloat(e.target.value);this.$emit("update:modelValue",t)}},mounted:function(){window.Materialize.updateTextFields()},watch:{modelValue:function(){setTimeout((function(){window.Materialize.updateTextFields()}))}}});he.render=ge;var Oe=he,ye=["value","id","name","disabled","checked"];function je(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["withDirectives"])(Object(l["createElementVNode"])("label",{class:"fieldRadioTitle"},Object(l["toDisplayString"])(e.title),513),[[l["vShow"],e.title]]),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.availableOptions||[],(function(n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("p",{key:n.key,class:"radio"},[Object(l["createElementVNode"])("label",null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({value:n.key,onChange:t[0]||(t[0]=function(t){return e.onChange(t)}),type:"radio",id:"".concat(e.name).concat(n.key),name:e.name,disabled:n.disabled||e.disabled},e.uiControlAttributes,{checked:e.modelValue===n.key||"".concat(e.modelValue)===n.key}),null,16,ye),Object(l["createElementVNode"])("span",null,[Object(l["createTextVNode"])(Object(l["toDisplayString"])(n.value)+" ",1),Object(l["withDirectives"])(Object(l["createElementVNode"])("span",{class:"form-description"},Object(l["toDisplayString"])(n.description),513),[[l["vShow"],n.description]])])])])})),128))])}var we=Object(l["defineComponent"])({props:{title:String,availableOptions:Array,name:String,disabled:Boolean,uiControlAttributes:Object,modelValue:[String,Number]},inheritAttrs:!1,emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e.target.value)}}});we.render=je;var Ve=we;function Ce(e,t){return Ee(e)||Fe(e,t)||ke(e,t)||Se()}function Se(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ke(e,t){if(e){if("string"===typeof e)return Ae(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ae(e,t):void 0}}function Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fe(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Ee(e){if(Array.isArray(e))return e}var Be={key:0,class:"matomo-field-select"},xe=["multiple","name"],Pe=["label"],Ne=["value","selected","disabled"],Te=["for","innerHTML"],$e={key:1,class:"matomo-field-select"},Me=["multiple","name"],De=["value","selected","disabled"],Je=["for","innerHTML"];function He(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[e.groupedOptions?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",Be,[Object(l["createElementVNode"])("select",Object(l["mergeProps"])({ref:"select",class:"grouped",multiple:e.multiple,name:e.name,onChange:t[0]||(t[0]=function(t){return e.onChange(t)})},e.uiControlAttributes),[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.groupedOptions,(function(t){var n=Ce(t,2),r=n[0],o=n[1];return Object(l["openBlock"])(),Object(l["createElementBlock"])("optgroup",{key:r,label:r},[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(o,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("option",{key:t.key,value:"string:".concat(t.key),selected:e.multiple?e.modelValue&&-1!==e.modelValue.indexOf(t.key):e.modelValue===t.key,disabled:t.disabled},Object(l["toDisplayString"])(t.value),9,Ne)})),128))],8,Pe)})),128))],16,xe),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.title},null,8,Te)])):Object(l["createCommentVNode"])("",!0),!e.groupedOptions&&e.options?(Object(l["openBlock"])(),Object(l["createElementBlock"])("div",$e,[Object(l["createElementVNode"])("select",Object(l["mergeProps"])({class:"ungrouped",ref:"select",multiple:e.multiple,name:e.name,onChange:t[1]||(t[1]=function(t){return e.onChange(t)})},e.uiControlAttributes),[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.options,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("option",{key:t.key,value:"string:".concat(t.key),selected:e.multiple?e.modelValue&&-1!==e.modelValue.indexOf(t.key):e.modelValue===t.key,disabled:t.disabled},Object(l["toDisplayString"])(t.value),9,De)})),128))],16,Me),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.title},null,8,Je)])):Object(l["createCommentVNode"])("",!0)],64)}function Ie(e){return Ue(e)||ze(e)||qe(e)||Le()}function Le(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ze(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function Ue(e){if(Array.isArray(e))return Re(e)}function Ke(e,t){return Ge(e)||We(e,t)||qe(e,t)||_e()}function _e(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function qe(e,t){if(e){if("string"===typeof e)return Re(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Re(e,t):void 0}}function Re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function We(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Ge(e){if(Array.isArray(e))return e}function Ze(e){return Ze="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ze(e)}function Ye(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4?arguments[4]:void 0;if(e){var i=window.$(e);if(Array.from(e.options).forEach((function(e){e.selected=o?!!t&&-1!==t.indexOf(e.value.replace(/^string:/,"")):"string:".concat(t)===e.value})),i.formSelect(r),n){var l=i.closest(".select-wrapper").find("input");l.attr("placeholder",n)}}}function Qe(e){return!Array.isArray(e)&&"object"===Ze(e)&&Object.values(e).some((function(e){return"object"===Ze(e)}))}function Xe(e,t){return e.some((function(e){return e.key===t}))}function et(e,t,n){if(!e)return[];var r=!0,o=e;Qe(o)||(o={"":e},r=!1);var i=[];return Object.entries(o).forEach((function(e){var n=Ke(e,2),o=n[0],l=n[1];Object.entries(l).forEach((function(e){var n=Ke(e,2),l=n[0],a=n[1];if(a&&"object"===Ze(a)&&"undefined"!==typeof a.key)i.push(a);else{var u=l;"integer"===t&&"string"===typeof l&&(u=parseInt(l,10)),i.push({group:r?o:void 0,key:u,value:a})}}))})),null!==n&&void 0!==n&&n.placeholder&&!Xe(i,"")?[{key:"",value:""}].concat(i):i}function tt(e){return"string"===typeof e?e.replace(/^string:/,""):e}var nt=Object(l["defineComponent"])({props:{modelValue:null,multiple:Boolean,name:String,title:String,availableOptions:Array,uiControlAttributes:Object,uiControlOptions:Object},inheritAttrs:!1,emits:["update:modelValue"],computed:{options:function(){var e=this.availableOptions;return!e||Xe(e,"")||"undefined"!==typeof this.modelValue&&null!==this.modelValue&&""!==this.modelValue?e:[{key:"",value:this.modelValue,group:this.hasGroups?"":void 0}].concat(Ie(e))},hasGroups:function(){var e=this.availableOptions;return e&&e[0]&&"undefined"!==typeof e[0].group},groupedOptions:function(){var e=this.options;if(!this.hasGroups||!e)return null;var t={};e.forEach((function(e){var n=e.group;t[n]=t[n]||[],t[n].push(e)}));var n=Object.entries(t);return n.sort((function(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0})),n}},methods:{onChange:function(e){var t,n=this,r=e.target;this.multiple?(t=Array.from(r.options).filter((function(e){return e.selected})).map((function(e){return e.value})),t=t.map((function(e){return tt(e)}))):(t=r.value,t=tt(t)),this.$emit("update:modelValue",t),Object(l["nextTick"])((function(){n.modelValue!==t&&n.onModelValueChange(n.modelValue)}))},onModelValueChange:function(e){var t=this;window.$(this.$refs.select).val(e),setTimeout((function(){var n;Ye(t.$refs.select,e,null===(n=t.uiControlAttributes)||void 0===n?void 0:n.placeholder,t.uiControlOptions,t.multiple)}))}},watch:{modelValue:function(e){this.onModelValueChange(e)},"uiControlAttributes.disabled":{handler:function(e,t){var n=this;setTimeout((function(){var r;e!==t&&Ye(n.$refs.select,n.modelValue,null===(r=n.uiControlAttributes)||void 0===r?void 0:r.placeholder,n.uiControlOptions,n.multiple)}))}},availableOptions:function(e,t){var n=this;e!==t&&setTimeout((function(){var e;Ye(n.$refs.select,n.modelValue,null===(e=n.uiControlAttributes)||void 0===e?void 0:e.placeholder,n.uiControlOptions,n.multiple)}))}},mounted:function(){var e=this;setTimeout((function(){var t;Ye(e.$refs.select,e.modelValue,null===(t=e.uiControlAttributes)||void 0===t?void 0:t.placeholder,e.uiControlOptions,e.multiple)}))}});nt.render=He;var rt=nt,ot=["for","innerHTML"],it={class:"sites_autocomplete"};function lt(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("SiteSelector");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,class:"siteSelectorLabel",innerHTML:e.$sanitize(e.title)},null,8,ot),Object(l["createElementVNode"])("div",it,[Object(l["createVNode"])(a,Object(l["mergeProps"])({"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)}),id:e.name,"show-all-sites-item":e.uiControlAttributes.showAllSitesItem||!1,"switch-site-on-select":!1,"show-selected-site":!0,"only-sites-with-admin-access":e.uiControlAttributes.onlySitesWithAdminAccess||!1},e.uiControlAttributes),null,16,["model-value","id","show-all-sites-item","only-sites-with-admin-access"])])])}var at=Object(l["defineComponent"])({props:{name:String,title:String,modelValue:Object,uiControlAttributes:Object},inheritAttrs:!1,components:{SiteSelector:i["SiteSelector"]},emits:["update:modelValue"],methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});at.render=lt;var ut=at,ct=["type","id","name","value"],st=["for","innerHTML"];function dt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,id:e.name,name:e.name,value:e.modelValueText,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)})},e.uiControlAttributes),null,16,ct),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,st)],64)}var mt=Object(l["defineComponent"])({props:{title:String,name:String,uiControlAttributes:Object,modelValue:[String,Number],uiControl:String},inheritAttrs:!1,emits:["update:modelValue"],computed:{modelValueText:function(){return"undefined"===typeof this.modelValue||null===this.modelValue?"":this.modelValue.toString()}},created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},mounted:function(){setTimeout((function(){window.Materialize.updateTextFields()}))},watch:{modelValue:function(){setTimeout((function(){window.Materialize.updateTextFields()}))}},methods:{onKeydown:function(e){this.$emit("update:modelValue",e.target.value)}}});mt.render=dt;var ft=mt,pt=["for","innerHTML"],bt=["type","name","value"];function vt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,pt),Object(l["createElementVNode"])("input",Object(l["mergeProps"])({class:"control_".concat(e.uiControl),type:e.uiControl,name:e.name,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),value:e.concattedValues},e.uiControlAttributes),null,16,bt)])}var gt=Object(l["defineComponent"])({props:{name:String,title:String,uiControl:String,modelValue:Array,uiControlAttributes:Object},inheritAttrs:!1,computed:{concattedValues:function(){return"string"===typeof this.modelValue?this.modelValue:(this.modelValue||[]).join(", ")}},emits:["update:modelValue"],created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){var t=e.target.value.split(",").map((function(e){return e.trim()}));this.$emit("update:modelValue",t)}}});gt.render=vt;var ht=gt,Ot=["name","id","value"],yt=["for","innerHTML"];function jt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])(l["Fragment"],null,[Object(l["createElementVNode"])("textarea",Object(l["mergeProps"])({name:e.name},e.uiControlAttributes,{id:e.name,value:e.modelValue,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),class:"materialize-textarea",ref:"textarea"}),null,16,Ot),Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,yt)],64)}var wt=Object(l["defineComponent"])({props:{name:String,uiControlAttributes:Object,modelValue:String,title:String},inheritAttrs:!1,emits:["update:modelValue"],created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){this.$emit("update:modelValue",e.target.value)}},watch:{modelValue:function(){var e=this;setTimeout((function(){window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}},mounted:function(){var e=this;setTimeout((function(){window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}});wt.render=jt;var Vt=wt,Ct=["for","innerHTML"],St=["name","value"];function kt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createElementVNode"])("label",{for:e.name,innerHTML:e.$sanitize(e.title)},null,8,Ct),Object(l["createElementVNode"])("textarea",Object(l["mergeProps"])({ref:"textarea",name:e.name},e.uiControlAttributes,{value:e.concattedValue,onKeydown:t[0]||(t[0]=function(t){return e.onKeydown(t)}),onChange:t[1]||(t[1]=function(t){return e.onKeydown(t)}),class:"materialize-textarea"}),null,16,St)])}var At="\n",Ft=Object(l["defineComponent"])({props:{name:String,title:String,uiControlAttributes:Object,modelValue:[Array,String]},inheritAttrs:!1,emits:["update:modelValue"],computed:{concattedValue:function(){return"string"===typeof this.modelValue?this.modelValue:(this.modelValue||[]).join(At)}},created:function(){this.onKeydown=Object(i["debounce"])(this.onKeydown.bind(this),50)},methods:{onKeydown:function(e){var t=e.target.value.split(At);this.$emit("update:modelValue",t)}},watch:{modelValue:function(e,t){var n=this;e!==t&&setTimeout((function(){n.$refs.textarea&&window.Materialize.textareaAutoResize(n.$refs.textarea),window.Materialize.updateTextFields()}))}},mounted:function(){var e=this;setTimeout((function(){e.$refs.textarea&&window.Materialize.textareaAutoResize(e.$refs.textarea),window.Materialize.updateTextFields()}))}});Ft.render=kt;var Et=Ft;function Bt(e){return Bt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bt(e)}function xt(e,t){return Mt(e)||$t(e,t)||Nt(e,t)||Pt()}function Pt(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Nt(e,t){if(e){if("string"===typeof e)return Tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tt(e,t):void 0}}function Tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $t(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Mt(e){if(Array.isArray(e))return e}
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function Dt(e,t){if(!e)return[];var n=[];return Object.entries(e).forEach((function(e){var r=xt(e,2),o=r[0],i=r[1];if("object"!==Bt(i)||"undefined"===typeof i.key){var l=o;"integer"===t&&"string"===typeof o&&(l=parseInt(l,10)),n.push({key:l,value:i})}else n.push(i)})),n}function Jt(e){return Jt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jt(e)}var Ht=["password","url","search","email"],It=["textarea","checkbox","text"],Lt={checkbox:"FieldCheckbox","expandable-select":"FieldExpandableSelect","field-array":"FieldFieldArray",file:"FieldFile",hidden:"FieldHidden",multiselect:"FieldSelect",multituple:"FieldMultituple",number:"FieldNumber",radio:"FieldRadio",select:"FieldSelect",site:"FieldSite",text:"FieldText",textarea:"FieldTextarea"},zt={FieldSelect:et,FieldCheckboxArray:Dt,FieldRadio:Dt,FieldExpandableSelect:_},Ut=Object(l["defineComponent"])({props:{modelValue:null,formField:{type:Object,required:!0}},emits:["update:modelValue"],components:{FieldCheckbox:j,FieldCheckboxArray:P,FieldExpandableSelect:R,FieldFieldArray:Y,FieldFile:ie,FieldHidden:ce,FieldMultituple:pe,FieldNumber:Oe,FieldRadio:Ve,FieldSelect:rt,FieldSite:ut,FieldText:ft,FieldTextArray:ht,FieldTextarea:Vt,FieldTextareaArray:Et},setup:function(e){var t=Object(l["ref"])(null),n=function(e){var n;e&&(n="string"===typeof e&&e&&0===e.indexOf("#")?window.$(e):window.vueSanitize(e),window.$(t.value).html("").append(n))};return Object(l["watch"])((function(){return e.formField.inlineHelp}),n),Object(l["onMounted"])((function(){n(e.formField.inlineHelp)})),{inlineHelp:t}},computed:{childComponent:function(){if(this.formField.component)return this.formField.component;var e=this.formField.uiControl,t=Lt[e];return-1!==Ht.indexOf(e)&&(t="FieldText"),"array"===this.formField.type&&-1!==It.indexOf(e)&&(t="".concat(t,"Array")),t},extraChildComponentParams:function(){return"multiselect"===this.formField.uiControl?{multiple:!0}:{}},showFormHelp:function(){return this.formField.description||this.formField.inlineHelp||this.showDefaultValue},showDefaultValue:function(){return this.defaultValuePretty&&"checkbox"!==this.formField.uiControl&&"radio"!==this.formField.uiControl},showField:function(){return!this.formField||!this.formField.condition||this.formField.condition()},processedModelValue:function(){var e=this.formField;if("boolean"===e.type){var t=this.modelValue&&this.modelValue>0&&"0"!==this.modelValue;if("checkbox"===e.uiControl)return t;if("radio"===e.uiControl)return t?"1":"0"}return this.modelValue},defaultValue:function(){var e=this.formField.defaultValue;return Array.isArray(e)&&(e=e.join(",")),e},availableOptions:function(){var e=this.childComponent,t=this.formField;return t.availableValues&&zt[e]?zt[e](t.availableValues,t.type,t.uiControlAttributes):null},defaultValuePretty:function(){var e=this.formField.defaultValue,t=this.availableOptions;if("string"===typeof e&&e){var n=null;try{n=JSON.parse(e)}catch(o){}if(null!==n&&"object"===Jt(n))return""}if(!Array.isArray(t))return Array.isArray(e)?"":e?e.toString():"";var r=[];return Array.isArray(e)||(e=[e]),(t||[]).forEach((function(t){-1!==e.indexOf(t.key)&&"undefined"!==typeof t.value&&r.push(t.value)})),r.join(", ")},defaultValuePrettyTruncated:function(){return this.defaultValuePretty.substring(0,50)}},methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});Ut.render=b;var Kt=Ut,_t={ref:"root"};function qt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",_t,null,512)}function Rt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(n),!0).forEach((function(t){Gt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zt(e){if("undefined"!==typeof e)return JSON.parse(JSON.stringify(e))}var Yt=Object(l["defineComponent"])({props:{modelValue:null,formField:null,templateFile:String},emits:["update:modelValue"],inheritAttrs:!1,setup:function(e,t){var n=Object(l["ref"])(null),r=window.$("<div ng-include=\"'".concat(e.templateFile,"?cb=").concat(i["Matomo"].cacheBuster,"'\"></div>")),o=i["Matomo"].helper.getAngularDependency("$timeout"),a=i["Matomo"].helper.getAngularDependency("$rootScope"),u=a.$new();return u.formField=Wt(Wt({},Zt(e.formField)),{},{value:Zt(e.modelValue)}),u.$watch("formField.value",(function(n,r){n!==r&&JSON.stringify(n)!==JSON.stringify(e.modelValue)&&t.emit("update:modelValue",Zt(n))})),Object(l["watch"])((function(){return e.modelValue}),(function(e){JSON.stringify(e)!==JSON.stringify(u.formField.value)&&o((function(){u.formField.value=e}))})),Object(l["watch"])((function(){return e.formField}),(function(e){o((function(){var t=u.formField.value;u.formField=Wt(Wt({},Zt(e)),{},{value:t})}))}),{deep:!0}),Object(l["onMounted"])((function(){window.$(n.value).append(r),i["Matomo"].helper.compileAngularComponents(r,{scope:u,params:{formField:Wt(Wt({},Zt(e.formField)),{},{value:e.modelValue})}})})),{root:n}}});Yt.render=qt;var Qt=Yt;
+ */function Dt(e,t){if(!e)return[];var n=[];return Object.entries(e).forEach((function(e){var r=xt(e,2),o=r[0],i=r[1];if(i&&"object"===Bt(i)&&"undefined"!==typeof i.key)n.push(i);else{var l=o;"integer"===t&&"string"===typeof o&&(l=parseInt(l,10)),n.push({key:l,value:i})}})),n}function Jt(e){return Jt="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jt(e)}var Ht=["password","url","search","email"],It=["textarea","checkbox","text"],Lt={checkbox:"FieldCheckbox","expandable-select":"FieldExpandableSelect","field-array":"FieldFieldArray",file:"FieldFile",hidden:"FieldHidden",multiselect:"FieldSelect",multituple:"FieldMultituple",number:"FieldNumber",radio:"FieldRadio",select:"FieldSelect",site:"FieldSite",text:"FieldText",textarea:"FieldTextarea"},zt={FieldSelect:et,FieldCheckboxArray:Dt,FieldRadio:Dt,FieldExpandableSelect:_},Ut=Object(l["defineComponent"])({props:{modelValue:null,formField:{type:Object,required:!0}},emits:["update:modelValue"],components:{FieldCheckbox:j,FieldCheckboxArray:P,FieldExpandableSelect:R,FieldFieldArray:Y,FieldFile:ie,FieldHidden:ce,FieldMultituple:pe,FieldNumber:Oe,FieldRadio:Ve,FieldSelect:rt,FieldSite:ut,FieldText:ft,FieldTextArray:ht,FieldTextarea:Vt,FieldTextareaArray:Et},setup:function(e){var t=Object(l["ref"])(null),n=function(e){var n;e&&t.value&&(n="string"===typeof e?0===e.indexOf("#")?window.$(e):window.vueSanitize(e):e,window.$(t.value).html("").append(n))};return Object(l["watch"])((function(){return e.formField.inlineHelp}),n),Object(l["onMounted"])((function(){n(e.formField.inlineHelp)})),{inlineHelp:t}},computed:{childComponent:function(){var e=this.formField;if(e.component)return e.component;var t=e.uiControl,n=Lt[t];return-1!==Ht.indexOf(t)&&(n="FieldText"),"array"===this.formField.type&&-1!==It.indexOf(t)&&(n="".concat(n,"Array")),n},extraChildComponentParams:function(){return"multiselect"===this.formField.uiControl?{multiple:!0}:{}},showFormHelp:function(){return this.formField.description||this.formField.inlineHelp||this.showDefaultValue},showDefaultValue:function(){return this.defaultValuePretty&&"checkbox"!==this.formField.uiControl&&"radio"!==this.formField.uiControl},showField:function(){return!this.formField||!this.formField.condition||this.formField.condition()},processedModelValue:function(){var e=this.formField;if("boolean"===e.type){var t=this.modelValue&&this.modelValue>0&&"0"!==this.modelValue;if("checkbox"===e.uiControl)return t;if("radio"===e.uiControl)return t?"1":"0"}return this.modelValue},defaultValue:function(){var e=this.formField.defaultValue;return Array.isArray(e)?e.join(","):e},availableOptions:function(){var e=this.childComponent;if("string"!==typeof e)return null;var t=this.formField;return t.availableValues&&zt[e]?zt[e](t.availableValues,t.type,t.uiControlAttributes):null},defaultValuePretty:function(){var e=this.formField,t=e.defaultValue,n=this.availableOptions;if("string"===typeof t&&t){var r=null;try{r=JSON.parse(t)}catch(i){}if(null!==r&&"object"===Jt(r))return""}if(!Array.isArray(n))return Array.isArray(t)?"":t?"".concat(t):"";var o=[];return Array.isArray(t)||(t=[t]),(n||[]).forEach((function(e){"undefined"!==typeof e.value&&-1!==t.indexOf(e.key)&&o.push(e.value)})),o.join(", ")},defaultValuePrettyTruncated:function(){return this.defaultValuePretty.substring(0,50)}},methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});Ut.render=b;var Kt=Ut,_t={ref:"root"};function qt(e,t,n,r,o,i){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",_t,null,512)}function Rt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(n),!0).forEach((function(t){Gt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zt(e){if("undefined"!==typeof e)return JSON.parse(JSON.stringify(e))}var Yt=Object(l["defineComponent"])({props:{modelValue:null,formField:{type:null,required:!0},templateFile:{type:String,required:!0}},emits:["update:modelValue"],inheritAttrs:!1,setup:function(e,t){var n=Object(l["ref"])(null),r=window.$("<div ng-include=\"'".concat(e.templateFile,"?cb=").concat(i["Matomo"].cacheBuster,"'\"></div>")),o=i["Matomo"].helper.getAngularDependency("$timeout"),a=i["Matomo"].helper.getAngularDependency("$rootScope"),u=a.$new();return u.formField=Wt(Wt({},Zt(e.formField)),{},{value:Zt(e.modelValue)}),u.$watch("formField.value",(function(n,r){n!==r&&JSON.stringify(n)!==JSON.stringify(e.modelValue)&&t.emit("update:modelValue",Zt(n))})),Object(l["watch"])((function(){return e.modelValue}),(function(e){JSON.stringify(e)!==JSON.stringify(u.formField.value)&&o((function(){u.formField.value=e}))})),Object(l["watch"])((function(){return e.formField}),(function(e){o((function(){var t=u.formField.value;u.formField=Wt(Wt({},Zt(e)),{},{value:t})}))}),{deep:!0}),Object(l["onMounted"])((function(){window.$(n.value).append(r),i["Matomo"].helper.compileAngularComponents(r,{scope:u,params:{formField:Wt(Wt({},Zt(e.formField)),{},{value:e.modelValue})}})})),{root:n}}});Yt.render=qt;var Qt=Yt;function Xt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function en(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xt(Object(n),!0).forEach((function(t){tn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function Xt(e,t){return Object(l["defineAsyncComponent"])((function(){return new Promise((function(n){window.$(document).ready((function(){window[e]?n(window[e][t]):n(null)}))}))}))}function en(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?en(Object(n),!0).forEach((function(t){nn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):en(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function nn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
+ */function nn(e){if(e){var t=e.plugin,n=e.name;if(!t||!n)throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");return Object(i["useExternalPluginComponent"])(t,n)}}function rn(e,t){var n={};return Object.values(e.allSettings||{}).forEach((function(e){"0"===e.value?n[e.name]=0:n[e.name]=e.value})),e.$eval(t,n)}Object(i["createAngularJsAdapter"])({component:Kt,scope:{modelValue:{default:function(e){var t=e.piwikFormField;return"string"!==typeof t.value||!t.value||"array"!==t.type&&"multituple"!==t.uiControl&&"field-array"!==t.uiControl&&"multiselect"!==t.uiControl&&"site"!==t.uiControl||(t.value=JSON.parse(t.value)),"checkbox"===t.uiControl?Object(i["transformAngularJsBoolAttr"])(t.value):t.value}},piwikFormField:{vue:"formField",angularJsBind:"=",transform:function(e,t,n){var r=e;return en(en({},r),{},{condition:r.condition?rn.bind(null,n,r.condition):r.condition,disabled:Object(i["transformAngularJsBoolAttr"])(r.disabled),autocomplete:Object(i["transformAngularJsBoolAttr"])(r.autocomplete),autofocus:Object(i["transformAngularJsBoolAttr"])(r.autofocus),tabindex:Object(i["transformAngularJsIntAttr"])(r.tabindex),fullWidth:Object(i["transformAngularJsBoolAttr"])(r.fullWidth),maxlength:Object(i["transformAngularJsIntAttr"])(r.maxlength),required:Object(i["transformAngularJsBoolAttr"])(r.required),rows:Object(i["transformAngularJsIntAttr"])(r.rows),min:Object(i["transformAngularJsIntAttr"])(r.min),max:Object(i["transformAngularJsIntAttr"])(r.max),component:Object(l["shallowRef"])(r.templateFile?Qt:nn(r.component))})}},allSettings:{angularJsBind:"="}},directiveName:"piwikFormField",events:{"update:modelValue":function(e,t,n,r,o,i,l){e!==n.piwikFormField.value&&l((function(){n.piwikFormField.value=e}))}},$inject:["$timeout"],postCreate:function(e,t){t.$watch("piwikFormField.value",(function(t,n){t!==n&&(e.modelValue=t)})),t.$watch("allSettings",(function(){e.formField=en(en({},e.formField),{},{condition:t.piwikFormField.condition?rn.bind(null,t,t.piwikFormField.condition):t.piwikFormField.condition})}),!0)}});function on(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FormField");return Object(l["openBlock"])(),Object(l["createBlock"])(a,{"form-field":e.field,"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)}),component:e.component},null,8,["form-field","model-value","component"])}function ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function an(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(n),!0).forEach((function(t){un(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function un(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cn={multiselect:"array",checkbox:"boolean",site:"object",number:"integer"},sn=Object(l["defineComponent"])({props:{modelValue:null,uicontrol:String,name:String,defaultValue:null,options:[Object,Array],description:String,introduction:String,title:String,inlineHelp:String,disabled:Boolean,uiControlAttributes:{type:Object,default:function(){return{}}},uiControlOptions:{type:Object,default:function(){return{}}},autocomplete:Boolean,condition:Function,varType:String,autofocus:Boolean,tabindex:Number,fullWidth:Boolean,maxlength:Number,required:Boolean,placeholder:String,rows:Number,min:Number,max:Number,component:null},emits:["update:modelValue"],components:{FormField:Kt},computed:{type:function(){if(this.varType)return this.varType;var e=this.uicontrol;return e&&cn[e]?cn[e]:"string"},field:function(){return{uiControl:this.uicontrol,type:this.type,name:this.name,defaultValue:this.defaultValue,availableValues:this.options,description:this.description,introduction:this.introduction,inlineHelp:this.inlineHelp,title:this.title,uiControlAttributes:an(an({},this.uiControlAttributes),{},{disabled:this.disabled,autocomplete:this.autocomplete,tabindex:this.tabindex,autofocus:this.autofocus,rows:this.rows,required:this.required,maxlength:this.maxlength,placeholder:this.placeholder,min:this.min,max:this.max}),fullWidth:this.fullWidth,uiControlOptions:this.uiControlOptions}}},methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});sn.render=on;var dn=sn;function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mn(Object(n),!0).forEach((function(t){pn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function rn(e){if(e){var t=e.plugin,n=e.name;if(!t||!n)throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");return Xt(t,n)}}function on(e,t){var n={};return Object.values(e.allSettings||{}).forEach((function(e){"0"===e.value?n[e.name]=0:n[e.name]=e.value})),e.$eval(t,n)}Object(i["createAngularJsAdapter"])({component:Kt,scope:{modelValue:{default:function(e){var t=e.piwikFormField;return"string"!==typeof t.value||!t.value||"array"!==t.type&&"multituple"!==t.uiControl&&"field-array"!==t.uiControl&&"multiselect"!==t.uiControl&&"site"!==t.uiControl||(t.value=JSON.parse(t.value)),"checkbox"===t.uiControl?Object(i["transformAngularJsBoolAttr"])(t.value):t.value}},piwikFormField:{vue:"formField",angularJsBind:"=",transform:function(e,t,n){return tn(tn({},e),{},{condition:e.condition?on.bind(null,n,e.condition):e.condition,disabled:Object(i["transformAngularJsBoolAttr"])(e.disabled),autocomplete:Object(i["transformAngularJsBoolAttr"])(e.autocomplete),autofocus:Object(i["transformAngularJsBoolAttr"])(e.autofocus),tabindex:Object(i["transformAngularJsIntAttr"])(e.tabindex),fullWidth:Object(i["transformAngularJsBoolAttr"])(e.fullWidth),maxlength:Object(i["transformAngularJsIntAttr"])(e.maxlength),required:Object(i["transformAngularJsBoolAttr"])(e.required),rows:Object(i["transformAngularJsIntAttr"])(e.rows),min:Object(i["transformAngularJsIntAttr"])(e.min),max:Object(i["transformAngularJsIntAttr"])(e.max),component:Object(l["shallowRef"])(e.templateFile?Qt:rn(e.component))})}},allSettings:{angularJsBind:"="}},directiveName:"piwikFormField",events:{"update:modelValue":function(e,t,n,r,o,i,l){e!==n.piwikFormField.value&&l((function(){n.piwikFormField.value=e}))}},$inject:["$timeout"],postCreate:function(e,t){t.$watch("piwikFormField.value",(function(t,n){t!==n&&(e.modelValue=t)})),t.$watch("allSettings",(function(){e.formField=tn(tn({},e.formField),{},{condition:t.piwikFormField.condition?on.bind(null,t,t.piwikFormField.condition):t.piwikFormField.condition})}),!0)}});function ln(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FormField");return Object(l["openBlock"])(),Object(l["createBlock"])(a,{"form-field":e.field,"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.onChange(t)}),component:e.component},null,8,["form-field","model-value","component"])}function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function un(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?an(Object(n),!0).forEach((function(t){cn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function cn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sn={multiselect:"array",checkbox:"boolean",site:"object",number:"integer"},dn=Object(l["defineComponent"])({props:{modelValue:null,uicontrol:String,name:String,defaultValue:null,options:[Object,Array],description:String,introduction:String,title:String,inlineHelp:String,disabled:Boolean,uiControlAttributes:{type:Object,default:function(){return{}}},uiControlOptions:{type:Object,default:function(){return{}}},autocomplete:Boolean,condition:Function,varType:String,autofocus:Boolean,tabindex:Number,fullWidth:Boolean,maxlength:Number,required:Boolean,placeholder:String,rows:Number,min:Number,max:Number,component:null},emits:["update:modelValue"],components:{FormField:Kt},computed:{type:function(){return this.varType?this.varType:sn[this.uicontrol]?sn[this.uicontrol]:"string"},field:function(){return{uiControl:this.uicontrol,type:this.type,name:this.name,defaultValue:this.defaultValue,availableValues:this.options,description:this.description,introduction:this.introduction,inlineHelp:this.inlineHelp,title:this.title,uiControlAttributes:un(un({},this.uiControlAttributes),{},{disabled:this.disabled,autocomplete:this.autocomplete,tabindex:this.tabindex,autofocus:this.autofocus,rows:this.rows,required:this.required,maxlength:this.maxlength,placeholder:this.placeholder,min:this.min,max:this.max}),fullWidth:this.fullWidth,uiControlOptions:this.uiControlOptions}}},methods:{onChange:function(e){this.$emit("update:modelValue",e)}}});dn.render=ln;var mn=dn;function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fn(Object(n),!0).forEach((function(t){bn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}
+ */function bn(e,t,n){if("string"===typeof e&&e&&("array"===t||"multituple"===n||"field-array"===n||"multiselect"===n||"site"===n)){var r=JSON.parse(e);return"site"===n&&(r.name=i["Matomo"].helper.htmlDecode(r.name)),r}return"checkbox"===n&&"array"!==t?Object(i["transformAngularJsBoolAttr"])(e):e}Object(i["createAngularJsAdapter"])({component:dn,require:"?ngModel",scope:{uicontrol:{angularJsBind:"@"},name:{angularJsBind:"@"},value:{vue:"modelValue",angularJsBind:"@",transform:function(e,t,n){return bn(e,n.varType,n.uicontrol)}},default:{vue:"defaultValue",angularJsBind:"@"},options:{angularJsBind:"="},description:{angularJsBind:"@"},introduction:{angularJsBind:"@"},title:{angularJsBind:"@"},inlineHelp:{angularJsBind:"@"},disabled:{angularJsBind:"=",transform:i["transformAngularJsBoolAttr"]},uiControlAttributes:{angularJsBind:"="},uiControlOptions:{angularJsBind:"="},autocomplete:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},condition:{angularJsBind:"@",transform:function(e,t,n){if(e)return function(t){return n.$eval(e,t)}}},varType:{angularJsBind:"@"},autofocus:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},tabindex:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},fullWidth:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},maxlength:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},required:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},placeholder:{angularJsBind:"@"},rows:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},min:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},max:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},component:{angularJsBind:"<",transform:function(e,t,n){if(e){if(n.templateFile)return Object(l["shallowRef"])(Qt);var r=e.plugin,o=e.name;if(!r||!o)throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");return Object(l["shallowRef"])(Object(i["useExternalPluginComponent"])(r,o))}}}},directiveName:"piwikField",$inject:["$timeout"],events:{"update:modelValue":function(e,t,n,r,o,i,l){var a=i?i.$viewValue:n.value;e!==a&&l((function(){i?(i.$setViewValue(e),i.$render()):n.value=e}))}},postCreate:function(e,t,n,r,o){var a=o;if(a){if(a.$render=function(){Object(l["nextTick"])((function(){e.modelValue=Object(i["removeAngularJsSpecificProperties"])(a.$viewValue)}))},"undefined"!==typeof t.value){var u=bn(t.value,t.varType,t.uicontrol);a.$setViewValue(u)}else a.$setViewValue(e.modelValue);"site"===t.uicontrol&&a.$viewValue&&setTimeout((function(){a.$setViewValue(fn({},a.$viewValue))}))}else t.$watch("value",(function(n){if(n!==e.modelValue){var r=bn(n,t.varType,t.uicontrol);Object(l["nextTick"])((function(){e.modelValue=r}))}}))}});var vn,gn={class:"pluginSettings",ref:"root"},hn=["id"],On={class:"card-content"},yn=["id"],jn=["onClick","disabled","value"],wn={class:"confirm-password-modal modal"},Vn={class:"modal-content"},Cn={class:"modal-footer"},Sn=["disabled"];function kn(e,t,n,r,o,i){var a=this,u=Object(l["resolveComponent"])("PluginSetting"),c=Object(l["resolveComponent"])("ActivityIndicator"),s=Object(l["resolveComponent"])("Field");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",gn,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.settingsPerPlugin,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",{class:"card",id:"".concat(t.pluginName,"PluginSettings"),key:"".concat(t.pluginName,"PluginSettings")},[Object(l["createElementVNode"])("div",On,[Object(l["createElementVNode"])("h2",{class:"card-title",id:t.pluginName},Object(l["toDisplayString"])(t.title),9,yn),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(t.settings,(function(n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",{key:"".concat(n.pluginName,".").concat(n.name)},[Object(l["createVNode"])(u,{modelValue:e.settingValues["".concat(t.pluginName,".").concat(n.name)],"onUpdate:modelValue":function(r){return e.settingValues["".concat(t.pluginName,".").concat(n.name)]=r},"plugin-name":t.pluginName,setting:n,"setting-values":e.settingValues},null,8,["modelValue","onUpdate:modelValue","plugin-name","setting","setting-values"])])})),128)),Object(l["createElementVNode"])("input",{type:"button",onClick:function(n){return e.saveSetting(t.pluginName)},disabled:e.isLoading,class:"pluginsSettingsSubmit btn",value:e.translate("General_Save")},null,8,jn),Object(l["createVNode"])(c,{loading:e.isLoading||e.isSaving[t.pluginName]},null,8,["loading"])])],8,hn)})),128)),Object(l["createElementVNode"])("div",wn,[Object(l["createElementVNode"])("div",Vn,[Object(l["createElementVNode"])("h2",null,Object(l["toDisplayString"])(e.translate("UsersManager_ConfirmWithPassword")),1),Object(l["createElementVNode"])("div",null,[Object(l["createVNode"])(s,{modelValue:e.passwordConfirmation,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.passwordConfirmation=t}),uicontrol:"password",name:"currentUserPassword",autocomplete:!1,"full-width":!0,title:e.translate("UsersManager_YourCurrentPassword")},null,8,["modelValue","title"])])]),Object(l["createElementVNode"])("div",Cn,[Object(l["createElementVNode"])("a",{href:"",class:"modal-action modal-close btn",disabled:e.passwordConfirmation?void 0:"disabled",onClick:t[1]||(t[1]=function(t){t.preventDefault(),e.save(a.settingsToSave)})},Object(l["toDisplayString"])(e.translate("General_Yes")),9,Sn),Object(l["createElementVNode"])("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[2]||(t[2]=function(e){return e.preventDefault()})},Object(l["toDisplayString"])(e.translate("General_No")),1)])])],512)}function An(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?An(Object(n),!0).forEach((function(t){En(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):An(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function En(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FormField");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createVNode"])(a,{"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.changeValue(t)}),"form-field":Fn(Fn({},e.setting),{},{condition:e.conditionFunction})},null,8,["model-value","form-field"])])}function xn(e,t){return Mn(e)||$n(e,t)||Nn(e,t)||Pn()}function Pn(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Nn(e,t){if(e){if("string"===typeof e)return Tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tn(e,t):void 0}}function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $n(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Mn(e){if(Array.isArray(e))return e}var Dn=Object(l["defineComponent"])({props:{pluginName:{type:String,required:!0},setting:{type:Object,required:!0},modelValue:null,settingValues:Object},components:{FormField:Kt},emits:["update:modelValue"],computed:{conditionFunction:function(){var e=this,t=this.setting.condition;if(t)return function(){if(!vn){var n=i["Matomo"].helper.getAngularDependency("$rootScope");vn=n.$new(!0)}return vn.$eval(t,e.conditionValues)}},conditionValues:function(){var e=this,t={};return Object.entries(this.settingValues).forEach((function(n){var r=xn(n,2),o=r[0],i=r[1],l=o.split("."),a=xn(l,2),u=a[0],c=a[1];u===e.pluginName&&(t[c]=i)})),t}},methods:{changeValue:function(e){this.$emit("update:modelValue",e)}}});Dn.render=Bn;var Jn=Dn;function Hn(e,t){return Kn(e)||Un(e,t)||Ln(e,t)||In()}function In(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Ln(e,t){if(e){if("string"===typeof e)return zn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?zn(e,t):void 0}}function zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Un(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Kn(e){if(Array.isArray(e))return e}var _n=window,qn=_n.$,Rn=Object(l["defineComponent"])({props:{mode:String},components:{ActivityIndicator:i["ActivityIndicator"],Field:dn,PluginSetting:Jn},data:function(){return{isLoading:!0,isSaving:{},passwordConfirmation:"",settingsToSave:null,settingsPerPlugin:[],settingValues:{}}},created:function(){var e=this;i["AjaxHelper"].fetch({method:this.apiMethod}).then((function(t){e.isLoading=!1,e.settingsPerPlugin=t,t.forEach((function(t){t.settings.forEach((function(n){e.settingValues["".concat(t.pluginName,".").concat(n.name)]=n.value}))})),window.anchorLinkFix.scrollToAnchorInUrl(),e.addSectionsToTableOfContents()})).catch((function(){e.isLoading=!1}))},computed:{apiMethod:function(){return"admin"===this.mode?"CorePluginsAdmin.getSystemSettings":"CorePluginsAdmin.getUserSettings"},saveApiMethod:function(){return"admin"===this.mode?"CorePluginsAdmin.setSystemSettings":"CorePluginsAdmin.setUserSettings"}},methods:{addSectionsToTableOfContents:function(){var e=qn("#generalSettingsTOC");if(e.length){var t=this.settingsPerPlugin;t.forEach((function(t){var n=t.pluginName,r=t.settings;n&&("CoreAdminHome"===n&&r?r.filter((function(e){return e.introduction})).forEach((function(t){e.append('<a href="#/'.concat(n,'PluginSettings">').concat(t.introduction,"</a> "))})):e.append('<a href="#/'.concat(n,'">').concat(n.replace(/([A-Z])/g," $1").trim(),"</a> ")))}))}},saveSetting:function(e){"admin"===this.mode?this.showPasswordConfirmModal(e):this.save(e)},showPasswordConfirmModal:function(e){var t=this;this.settingsToSave=e;var n=this.$refs.root,r=qn(n),o=function(n){var o=n.keyCode?n.keyCode:n.which;13===o&&(r.find(".confirm-password-modal").modal("close"),t.save(e))};r.find(".confirm-password-modal").modal({dismissible:!1,onOpenEnd:function(){var e=".modal.open #currentUserPassword";qn(e).focus(),qn(e).off("keypress").keypress(o)}}).modal("open")},save:function(e){var t=this,n=this.saveApiMethod;this.isSaving[e]=!0;var r=this.getValuesForPlugin(e);i["AjaxHelper"].post({method:n},{settingValues:r,passwordConfirmation:this.passwordConfirmation}).then((function(){t.isSaving[e]=!1,i["NotificationsStore"].show({message:Object(i["translate"])("CoreAdminHome_PluginSettingsSaveSuccess"),id:"generalSettings",context:"success",type:"transient"}),i["NotificationsStore"].scrollToNotification("generalSettings")})).catch((function(){t.isSaving[e]=!1})),this.passwordConfirmation="",this.settingsToSave=null},getValuesForPlugin:function(e){var t={};return t[e]||(t[e]=[]),Object.entries(this.settingValues).forEach((function(n){var r=Hn(n,2),o=r[0],i=r[1],l=o.split("."),a=Hn(l,2),u=a[0],c=a[1];if(u===e){var s=i;!1===s?s="0":!0===s&&(s="1"),t[u].push({name:c,value:s})}})),t}}});Rn.render=kn;var Wn=Rn,Gn=(Object(i["createAngularJsAdapter"])({component:Wn,scope:{mode:{angularJsBind:"@"}},directiveName:"piwikPluginSettings"}),window),Zn=Gn.$;
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function vn(e,t,n){if("string"===typeof e&&e&&("array"===t||"multituple"===n||"field-array"===n||"multiselect"===n||"site"===n)){var r=JSON.parse(e);return"site"===n&&(r.name=i["Matomo"].helper.htmlDecode(r.name)),r}return"checkbox"===n&&"array"!==t?Object(i["transformAngularJsBoolAttr"])(e):e}Object(i["createAngularJsAdapter"])({component:mn,require:"?ngModel",scope:{uicontrol:{angularJsBind:"@"},name:{angularJsBind:"@"},value:{vue:"modelValue",angularJsBind:"@",transform:function(e,t,n){return vn(e,n.varType,n.uicontrol)}},default:{vue:"defaultValue",angularJsBind:"@"},options:{angularJsBind:"="},description:{angularJsBind:"@"},introduction:{angularJsBind:"@"},title:{angularJsBind:"@"},inlineHelp:{angularJsBind:"@"},disabled:{angularJsBind:"=",transform:i["transformAngularJsBoolAttr"]},uiControlAttributes:{angularJsBind:"="},uiControlOptions:{angularJsBind:"="},autocomplete:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},condition:{angularJsBind:"@",transform:function(e,t,n){var r=e;return e&&(r=function(t){return n.$eval(e,t)}),r}},varType:{angularJsBind:"@"},autofocus:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},tabindex:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},fullWidth:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},maxlength:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},required:{angularJsBind:"@",transform:i["transformAngularJsBoolAttr"]},placeholder:{angularJsBind:"@"},rows:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},min:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},max:{angularJsBind:"@",transform:i["transformAngularJsIntAttr"]},component:{angularJsBind:"<",transform:function(e,t,n){if(!e)return e;if(n.templateFile)return Object(l["shallowRef"])(Qt);var r=e.plugin,o=e.name;if(!r||!o)throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");return Object(l["shallowRef"])(Object(i["useExternalPluginComponent"])(r,o))}}},directiveName:"piwikField",$inject:["$timeout"],events:{"update:modelValue":function(e,t,n,r,o,i,l){var a=i?i.$viewValue:n.value;e!==a&&l((function(){i?(i.$setViewValue(e),i.$render()):n.value=e}))}},postCreate:function(e,t,n,r,o){var a=o;if(a){if(a.$render=function(){Object(l["nextTick"])((function(){e.modelValue=Object(i["removeAngularJsSpecificProperties"])(a.$viewValue)}))},"undefined"!==typeof t.value){var u=vn(t.value,t.varType,t.uicontrol);a.$setViewValue(u)}else a.$setViewValue(e.modelValue);"site"===t.uicontrol&&a.$viewValue&&setTimeout((function(){a.$setViewValue(pn({},a.$viewValue))}))}else t.$watch("value",(function(n){if(n!==e.modelValue){var r=vn(n,t.varType,t.uicontrol);Object(l["nextTick"])((function(){e.modelValue=r}))}}))}});var gn,hn={class:"pluginSettings",ref:"root"},On=["id"],yn={class:"card-content"},jn=["id"],wn=["onClick","disabled","value"],Vn={class:"confirm-password-modal modal"},Cn={class:"modal-content"},Sn={class:"modal-footer"},kn=["disabled"];function An(e,t,n,r,o,i){var a=this,u=Object(l["resolveComponent"])("PluginSetting"),c=Object(l["resolveComponent"])("ActivityIndicator"),s=Object(l["resolveComponent"])("Field");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",hn,[(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(e.settingsPerPlugin,(function(t){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",{class:"card",id:"".concat(t.pluginName,"PluginSettings"),key:"".concat(t.pluginName,"PluginSettings")},[Object(l["createElementVNode"])("div",yn,[Object(l["createElementVNode"])("h2",{class:"card-title",id:t.pluginName},Object(l["toDisplayString"])(t.title),9,jn),(Object(l["openBlock"])(!0),Object(l["createElementBlock"])(l["Fragment"],null,Object(l["renderList"])(t.settings,(function(n){return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",{key:"".concat(n.pluginName,".").concat(n.name)},[Object(l["createVNode"])(u,{modelValue:e.settingValues["".concat(t.pluginName,".").concat(n.name)],"onUpdate:modelValue":function(r){return e.settingValues["".concat(t.pluginName,".").concat(n.name)]=r},"plugin-name":t.pluginName,setting:n,"setting-values":e.settingValues},null,8,["modelValue","onUpdate:modelValue","plugin-name","setting","setting-values"])])})),128)),Object(l["createElementVNode"])("input",{type:"button",onClick:function(n){return e.saveSetting(t.pluginName)},disabled:e.isLoading,class:"pluginsSettingsSubmit btn",value:e.translate("General_Save")},null,8,wn),Object(l["createVNode"])(c,{loading:e.isLoading||e.isSaving[t.pluginName]},null,8,["loading"])])],8,On)})),128)),Object(l["createElementVNode"])("div",Vn,[Object(l["createElementVNode"])("div",Cn,[Object(l["createElementVNode"])("h2",null,Object(l["toDisplayString"])(e.translate("UsersManager_ConfirmWithPassword")),1),Object(l["createElementVNode"])("div",null,[Object(l["createVNode"])(s,{modelValue:e.passwordConfirmation,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.passwordConfirmation=t}),uicontrol:"password",name:"currentUserPassword",autocomplete:!1,"full-width":!0,title:e.translate("UsersManager_YourCurrentPassword")},null,8,["modelValue","title"])])]),Object(l["createElementVNode"])("div",Sn,[Object(l["createElementVNode"])("a",{href:"",class:"modal-action modal-close btn",disabled:e.passwordConfirmation?void 0:"disabled",onClick:t[1]||(t[1]=function(t){t.preventDefault(),e.save(a.settingsToSave)})},Object(l["toDisplayString"])(e.translate("General_Yes")),9,kn),Object(l["createElementVNode"])("a",{href:"",class:"modal-action modal-close modal-no",onClick:t[2]||(t[2]=function(e){return e.preventDefault()})},Object(l["toDisplayString"])(e.translate("General_No")),1)])])],512)}function Fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function En(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fn(Object(n),!0).forEach((function(t){Bn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xn(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("FormField");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",null,[Object(l["createVNode"])(a,{"model-value":e.modelValue,"onUpdate:modelValue":t[0]||(t[0]=function(t){return e.changeValue(t)}),"form-field":En(En({},e.setting),{},{condition:e.conditionFunction})},null,8,["model-value","form-field"])])}function Pn(e,t){return Dn(e)||Mn(e,t)||Tn(e,t)||Nn()}function Nn(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Tn(e,t){if(e){if("string"===typeof e)return $n(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$n(e,t):void 0}}function $n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Mn(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function Dn(e){if(Array.isArray(e))return e}var Jn=Object(l["defineComponent"])({props:{pluginName:String,setting:Object,modelValue:null,settingValues:Object},components:{FormField:Kt},emits:["update:modelValue"],computed:{conditionFunction:function(){var e=this,t=this.setting.condition;if(t)return function(){if(!gn){var n=i["Matomo"].helper.getAngularDependency("$rootScope");gn=n.$new(!0)}return gn.$eval(t,e.conditionValues)}},conditionValues:function(){var e=this,t={};return Object.entries(this.settingValues).forEach((function(n){var r=Pn(n,2),o=r[0],i=r[1],l=o.split("."),a=Pn(l,2),u=a[0],c=a[1];u===e.pluginName&&(t[c]=i)})),t}},methods:{changeValue:function(e){this.$emit("update:modelValue",e)}}});Jn.render=xn;var Hn=Jn;function In(e,t){return _n(e)||Kn(e,t)||zn(e,t)||Ln()}function Ln(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function zn(e,t){if(e){if("string"===typeof e)return Un(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Un(e,t):void 0}}function Un(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Kn(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done);l=!0)if(i.push(r.value),t&&i.length===t)break}catch(u){a=!0,o=u}finally{try{l||null==n["return"]||n["return"]()}finally{if(a)throw o}}return i}}function _n(e){if(Array.isArray(e))return e}var qn=window,Rn=qn.$,Wn=Object(l["defineComponent"])({props:{mode:String},components:{ActivityIndicator:i["ActivityIndicator"],Field:mn,PluginSetting:Hn},data:function(){return{isLoading:!0,isSaving:{},passwordConfirmation:"",settingsToSave:null,settingsPerPlugin:[],settingValues:{}}},created:function(){var e=this;i["AjaxHelper"].fetch({method:this.apiMethod}).then((function(t){e.isLoading=!1,e.settingsPerPlugin=t,t.forEach((function(t){t.settings.forEach((function(n){e.settingValues["".concat(t.pluginName,".").concat(n.name)]=n.value}))})),window.anchorLinkFix.scrollToAnchorInUrl(),e.addSectionsToTableOfContents()})).catch((function(){e.isLoading=!1}))},computed:{apiMethod:function(){return"admin"===this.mode?"CorePluginsAdmin.getSystemSettings":"CorePluginsAdmin.getUserSettings"},saveApiMethod:function(){return"admin"===this.mode?"CorePluginsAdmin.setSystemSettings":"CorePluginsAdmin.setUserSettings"}},methods:{addSectionsToTableOfContents:function(){var e=Rn("#generalSettingsTOC");e.length&&this.settingsPerPlugin.forEach((function(t){var n=t.pluginName,r=t.settings;n&&("CoreAdminHome"===n&&r?r.filter((function(e){return e.introduction})).forEach((function(t){e.append('<a href="#/'.concat(n,'PluginSettings">').concat(t.introduction,"</a> "))})):e.append('<a href="#/'.concat(n,'">').concat(n.replace(/([A-Z])/g," $1").trim(),"</a> ")))}))},saveSetting:function(e){"admin"===this.mode?this.showPasswordConfirmModal(e):this.save(e)},showPasswordConfirmModal:function(e){var t=this;this.settingsToSave=e;var n=this.$refs.root,r=Rn(n),o=function(n){var o=n.keyCode?n.keyCode:n.which;"13"===o&&(r.find(".confirm-password-modal").modal("close"),t.save(e))};r.find(".confirm-password-modal").modal({dismissible:!1,onOpenEnd:function(){var e=".modal.open #currentUserPassword";Rn(e).focus(),Rn(e).off("keypress").keypress(o)}}).modal("open")},save:function(e){var t=this,n=this.saveApiMethod;this.isSaving[e]=!0;var r=this.getValuesForPlugin(e);i["AjaxHelper"].post({method:n},{settingValues:r,passwordConfirmation:this.passwordConfirmation}).then((function(){t.isSaving[e]=!1,i["NotificationsStore"].show({message:Object(i["translate"])("CoreAdminHome_PluginSettingsSaveSuccess"),id:"generalSettings",context:"success",type:"transient"}),i["NotificationsStore"].scrollToNotification("generalSettings")})).catch((function(){t.isSaving[e]=!1})),this.passwordConfirmation="",this.settingsToSave=null},getValuesForPlugin:function(e){var t={};return t[e]||(t[e]=[]),Object.entries(this.settingValues).forEach((function(n){var r=In(n,2),o=r[0],i=r[1],l=o.split("."),a=In(l,2),u=a[0],c=a[1];if(u===e){var s=i;!1===s?s="0":!0===s&&(s="1"),t[u].push({name:c,value:s})}})),t}}});Wn.render=An;var Gn=Wn,Zn=(Object(i["createAngularJsAdapter"])({component:Gn,scope:{mode:{angularJsBind:"@"}},directiveName:"piwikPluginSettings"}),window),Yn=Zn.$;
+ */function Yn(e,t){t.preventDefault();var n=Zn(t.target).attr("href"),r=Zn(t.target).attr("data-plugin-name");if(n&&r){e.value.uninstallConfirmMessage||(e.value.uninstallConfirmMessage=Zn("#uninstallPluginConfirm").text());var o=(e.value.uninstallConfirmMessage||"").replace("%s",r);Zn("#uninstallPluginConfirm").text(o),i["Matomo"].helper.modalConfirm("#confirmUninstallPlugin",{yes:function(){window.location.href=n}})}}function Qn(e){e.preventDefault();var t=Zn(e.target).data("overlay-id");i["Matomo"].helper.modalConfirm("#".concat(t),{})}var Xn={mounted:function(e,t){setTimeout((function(){t.value.uninstallConfirmMessage="",Zn(e).find(".uninstall").click(Yn.bind(null,t)),Zn(e).find(".plugin-donation-link").click(Qn)}))}};
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function Qn(e,t){t.preventDefault();var n=Yn(t.target).attr("href"),r=Yn(t.target).attr("data-plugin-name");if(n&&r){e.value.uninstallConfirmMessage||(e.value.uninstallConfirmMessage=Yn("#uninstallPluginConfirm").text());var o=e.value.uninstallConfirmMessage.replace("%s",r);Yn("#uninstallPluginConfirm").text(o),i["Matomo"].helper.modalConfirm("#confirmUninstallPlugin",{yes:function(){window.location=n}})}}function Xn(e){e.preventDefault();var t=Yn(e.target).data("overlay-id");i["Matomo"].helper.modalConfirm("#".concat(t),{})}var er={mounted:function(e,t){setTimeout((function(){t.value.uninstallConfirmMessage="",Yn(e).find(".uninstall").click(Qn.bind(null,t)),Yn(e).find(".plugin-donation-link").click(Xn)}))}};
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function tr(){return{restrict:"A",link:function(e,t){var n={instance:null,value:{},oldValue:null,modifiers:{},dir:{}};er.mounted(t[0],n)}}}tr.$inject=[],angular.module("piwikApp").directive("piwikPluginManagement",tr);
+ */function er(){return{restrict:"A",link:function(e,t){var n={instance:null,value:{},oldValue:null,modifiers:{},dir:{}};Xn.mounted(t[0],n)}}}window.angular.module("piwikApp").directive("piwikPluginManagement",er);
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-var nr=window,rr=nr.$;function or(e){e.preventDefault(),i["Matomo"].helper.modalConfirm("#installPluginByUpload",{})}function ir(e){var t=rr("[name=pluginZip]"),n=t.val();n&&".zip"===n.slice(-4)?t.data("maxSize")>0&&t[0].files[0].size>1048576*t.data("maxSize")&&(e.preventDefault(),alert(Object(i["translate"])("CorePluginsAdmin_FileExceedsUploadLimit"))):(e.preventDefault(),alert(Object(i["translate"])("CorePluginsAdmin_NoZipFileSelected")))}var lr={mounted:function(){setTimeout((function(){rr(".uploadPlugin").click(or),rr("#uploadPluginForm").submit(ir)}))}};
+var tr=window,nr=tr.$;function rr(e){e.preventDefault(),i["Matomo"].helper.modalConfirm("#installPluginByUpload",{})}function or(e){var t=nr("[name=pluginZip]"),n=t.val();n&&".zip"===n.slice(-4)?t.data("maxSize")>0&&t[0].files[0].size>1048576*t.data("maxSize")&&(e.preventDefault(),alert(Object(i["translate"])("CorePluginsAdmin_FileExceedsUploadLimit"))):(e.preventDefault(),alert(Object(i["translate"])("CorePluginsAdmin_NoZipFileSelected")))}var ir={mounted:function(){setTimeout((function(){nr(".uploadPlugin").click(rr),nr("#uploadPluginForm").submit(or)}))}};
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function ar(){return{restrict:"A",link:function(){lr.mounted()}}}ar.$inject=[],angular.module("piwikApp").directive("piwikPluginUpload",ar);
+ */function lr(){return{restrict:"A",link:function(){ir.mounted()}}}window.angular.module("piwikApp").directive("piwikPluginUpload",lr);
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-var ur=window,cr=ur.$;function sr(e){return e.find(".origin a.active").data("filter-origin")}function dr(e){return e.find(".status a.active").data("filter-status")}function mr(e,t){var n="#plugins tr";return n+="all"===e?"[data-filter-origin]":"[data-filter-origin=".concat(e,"]"),n+="all"===t?"[data-filter-status]":"[data-filter-status=".concat(t,"]"),cr(n)}function fr(e,t,n,r){var o=mr(n,r).length,i=" (".concat(o,")");e.find("".concat(t," .counter")).text(i)}function pr(e){var t=sr(e),n=dr(e);fr(e,'[data-filter-status="all"]',t,"all"),fr(e,'[data-filter-status="active"]',t,"active"),fr(e,'[data-filter-status="inactive"]',t,"inactive"),fr(e,'[data-filter-origin="all"]',"all",n),fr(e,'[data-filter-origin="core"]',"core",n),fr(e,'[data-filter-origin="official"]',"official",n),fr(e,'[data-filter-origin="thirdparty"]',"thirdparty",n)}function br(e){var t=sr(e),n=dr(e),r=mr(t,n);cr("#plugins tr[data-filter-origin][data-filter-status]").css("display","none"),r.css("display","table-row"),pr(e)}function vr(e,t){t.preventDefault(),cr(t.target).siblings().removeClass("active"),cr(t.target).addClass("active"),br(e)}function gr(e,t){t.preventDefault(),cr(t.target).siblings().removeClass("active"),cr(t.target).addClass("active"),br(e)}var hr={mounted:function(e){setTimeout((function(){pr(cr(e)),cr(e).find(".status").on("click","a",vr.bind(null,cr(e))),cr(e).find(".origin").on("click","a",gr.bind(null,cr(e)))}))}};
+var ar=window,ur=ar.$;function cr(e){return e.find(".origin a.active").data("filter-origin")}function sr(e){return e.find(".status a.active").data("filter-status")}function dr(e,t){var n="#plugins tr";return n+="all"===e?"[data-filter-origin]":"[data-filter-origin=".concat(e,"]"),n+="all"===t?"[data-filter-status]":"[data-filter-status=".concat(t,"]"),ur(n)}function mr(e,t,n,r){var o=dr(n,r).length,i=" (".concat(o,")");e.find("".concat(t," .counter")).text(i)}function fr(e){var t=cr(e),n=sr(e);mr(e,'[data-filter-status="all"]',t,"all"),mr(e,'[data-filter-status="active"]',t,"active"),mr(e,'[data-filter-status="inactive"]',t,"inactive"),mr(e,'[data-filter-origin="all"]',"all",n),mr(e,'[data-filter-origin="core"]',"core",n),mr(e,'[data-filter-origin="official"]',"official",n),mr(e,'[data-filter-origin="thirdparty"]',"thirdparty",n)}function pr(e){var t=cr(e),n=sr(e),r=dr(t,n);ur("#plugins tr[data-filter-origin][data-filter-status]").css("display","none"),r.css("display","table-row"),fr(e)}function br(e,t){t.preventDefault(),ur(t.target).siblings().removeClass("active"),ur(t.target).addClass("active"),pr(e)}function vr(e,t){t.preventDefault(),ur(t.target).siblings().removeClass("active"),ur(t.target).addClass("active"),pr(e)}var gr={mounted:function(e){setTimeout((function(){fr(ur(e)),ur(e).find(".status").on("click","a",br.bind(null,ur(e))),ur(e).find(".origin").on("click","a",vr.bind(null,ur(e)))}))}};
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */function Or(){return{restrict:"A",link:function(e,t){hr.mounted(t[0])}}}Or.$inject=[],angular.module("piwikApp").directive("piwikPluginFilter",Or);var yr={class:"matomo-save-button",style:{display:"inline-block"}},jr=["disabled","value"];function wr(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("ActivityIndicator");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",yr,[Object(l["createElementVNode"])("input",{type:"button",onClick:t[0]||(t[0]=function(t){return e.onConfirm(t)}),disabled:e.saving||e.disabled,class:"btn",value:e.value?e.value:e.translate("General_Save")},null,8,jr),Object(l["createVNode"])(a,{loading:e.saving},null,8,["loading"])])}var Vr=Object(l["defineComponent"])({props:{saving:Boolean,value:String,disabled:Boolean},components:{ActivityIndicator:i["ActivityIndicator"]},emits:["confirm"],methods:{onConfirm:function(e){this.$emit("confirm",e)}}});Vr.render=wr;var Cr=Vr,Sr=(Object(i["createAngularJsAdapter"])({component:Cr,scope:{saving:{angularJsBind:"=?"},value:{angularJsBind:"@?"},disabled:{angularJsBind:"=?"},onconfirm:{angularJsBind:"&?",vue:"confirm"}},events:{confirm:function(e,t,n,r,o,i,l){r[0].click(),l()}},replace:!0,directiveName:"piwikSaveButton",$inject:["$timeout"]}),window),kr=Sr.$,Ar={mounted:function(e){setTimeout((function(){kr(e).find("input[type=text]").keypress((function(t){var n=t.keyCode||t.which;13===n&&kr(e).find(".matomo-save-button input").triggerHandler("click")}))}))}};
+ */function hr(){return{restrict:"A",link:function(e,t){gr.mounted(t[0])}}}window.angular.module("piwikApp").directive("piwikPluginFilter",hr);var Or={class:"matomo-save-button",style:{display:"inline-block"}},yr=["disabled","value"];function jr(e,t,n,r,o,i){var a=Object(l["resolveComponent"])("ActivityIndicator");return Object(l["openBlock"])(),Object(l["createElementBlock"])("div",Or,[Object(l["createElementVNode"])("input",{type:"button",onClick:t[0]||(t[0]=function(t){return e.onConfirm(t)}),disabled:e.saving||e.disabled,class:"btn",value:e.value?e.value:e.translate("General_Save")},null,8,yr),Object(l["createVNode"])(a,{loading:e.saving},null,8,["loading"])])}var wr=Object(l["defineComponent"])({props:{saving:Boolean,value:String,disabled:Boolean},components:{ActivityIndicator:i["ActivityIndicator"]},emits:["confirm"],methods:{onConfirm:function(e){this.$emit("confirm",e)}}});wr.render=jr;var Vr=wr,Cr=(Object(i["createAngularJsAdapter"])({component:Vr,scope:{saving:{angularJsBind:"=?"},value:{angularJsBind:"@?"},disabled:{angularJsBind:"=?"},onconfirm:{angularJsBind:"&?",vue:"confirm"}},events:{confirm:function(e,t,n,r,o,i,l){r[0].click(),l()}},replace:!0,directiveName:"piwikSaveButton",$inject:["$timeout"]}),window),Sr=Cr.$,kr={mounted:function(e){setTimeout((function(){Sr(e).find("input[type=text]").keypress((function(t){var n=t.keyCode||t.which;13===n&&Sr(e).find(".matomo-save-button input").triggerHandler("click")}))}))}};
/*!
* Matomo - free/libre analytics platform
*
@@ -73,5 +67,5 @@ var ur=window,cr=ur.$;function sr(e){return e.find(".origin a.active").data("fil
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-function Fr(){return{restrict:"A",link:function(e,t){Ar.mounted(t[0])}}}Fr.$inject=[],angular.module("piwikApp").directive("piwikForm",Fr)}})}));
+function Ar(){return{restrict:"A",link:function(e,t){kr.mounted(t[0])}}}window.angular.module("piwikApp").directive("piwikForm",Ar)}})}));
//# sourceMappingURL=CorePluginsAdmin.umd.min.js.map \ No newline at end of file
diff --git a/plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts b/plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts
index 10f8a6847b..209428c76a 100644
--- a/plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Field/Field.adapter.ts
@@ -5,7 +5,7 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-import { INgModelController, ITimeoutService } from 'angular';
+import { INgModelController, IScope, ITimeoutService } from 'angular';
import { nextTick, shallowRef } from 'vue';
import {
createAngularJsAdapter,
@@ -18,7 +18,7 @@ import {
import Field from './Field.vue';
import FieldAngularJsTemplate from '../FormField/FieldAngularJsTemplate.vue';
-function handleJsonValue(value: unknown, varType: string, uiControl: string) {
+function handleJsonValue(value: unknown, varType: string, uiControl: string): unknown {
if (typeof value === 'string'
&& value
&& (varType === 'array'
@@ -46,6 +46,11 @@ function handleJsonValue(value: unknown, varType: string, uiControl: string) {
return value;
}
+interface ExternalComponentRef {
+ plugin: string;
+ name: string;
+}
+
export default createAngularJsAdapter<[ITimeoutService]>({
component: Field,
require: '?ngModel',
@@ -59,7 +64,8 @@ export default createAngularJsAdapter<[ITimeoutService]>({
value: {
vue: 'modelValue',
angularJsBind: '@',
- transform(value, vm, scope) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ transform(value: unknown, vm: unknown, scope: any): unknown {
// vue components expect object data as input, so we parse JSON data
// for angularjs directives that use JSON.
return handleJsonValue(value, scope.varType, scope.uicontrol);
@@ -100,12 +106,16 @@ export default createAngularJsAdapter<[ITimeoutService]>({
},
condition: {
angularJsBind: '@',
- transform(value, vm, scope) {
- let transformed = value;
- if (value) {
- transformed = (values: unknown[]) => scope.$eval(value, values);
+ transform(
+ value: unknown,
+ vm: unknown,
+ scope: IScope,
+ ): ((values: unknown[]) => boolean)|undefined {
+ if (!value) {
+ return undefined;
}
- return transformed;
+
+ return (values: unknown[]) => (scope.$eval(value as string, values) as boolean);
},
},
varType: {
@@ -148,18 +158,20 @@ export default createAngularJsAdapter<[ITimeoutService]>({
},
component: {
angularJsBind: '<',
- transform(value, vm, scope) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ transform(value: unknown, vm: unknown, scope: any) {
if (!value) {
- return value;
+ return undefined;
}
if (scope.templateFile) {
return shallowRef(FieldAngularJsTemplate);
}
- const { plugin, name } = value;
+ const { plugin, name } = value as ExternalComponentRef;
if (!plugin || !name) {
- throw new Error("Invalid component property given to piwik-field directive, must be {plugin: '...',name: '...'}");
+ throw new Error('Invalid component property given to piwik-field directive, must '
+ + 'be {plugin: \'...\',name: \'...\'}');
}
return shallowRef(useExternalPluginComponent(plugin, name));
@@ -189,7 +201,7 @@ export default createAngularJsAdapter<[ITimeoutService]>({
const ngModel = controller as INgModelController;
if (!ngModel) {
- scope.$watch('value', (newVal) => {
+ scope.$watch('value', (newVal: unknown) => {
if (newVal !== vm.modelValue) {
const transformed = handleJsonValue(newVal, scope.varType, scope.uicontrol);
diff --git a/plugins/CorePluginsAdmin/vue/src/Field/Field.vue b/plugins/CorePluginsAdmin/vue/src/Field/Field.vue
index 02a327d18e..5be5104fc3 100644
--- a/plugins/CorePluginsAdmin/vue/src/Field/Field.vue
+++ b/plugins/CorePluginsAdmin/vue/src/Field/Field.vue
@@ -17,7 +17,7 @@
import { defineComponent } from 'vue';
import FormField from '../FormField/FormField.vue';
-const UI_CONTROLS_TO_TYPE = {
+const UI_CONTROLS_TO_TYPE: Record<string, string> = {
multiselect: 'array',
checkbox: 'boolean',
site: 'object',
@@ -68,8 +68,9 @@ export default defineComponent({
return this.varType;
}
- if (UI_CONTROLS_TO_TYPE[this.uicontrol]) {
- return UI_CONTROLS_TO_TYPE[this.uicontrol];
+ const uicontrol = this.uicontrol as string;
+ if (uicontrol && UI_CONTROLS_TO_TYPE[uicontrol]) {
+ return UI_CONTROLS_TO_TYPE[uicontrol];
}
return 'string';
@@ -104,7 +105,7 @@ export default defineComponent({
},
},
methods: {
- onChange(newValue) {
+ onChange(newValue: unknown) {
this.$emit('update:modelValue', newValue);
},
},
diff --git a/plugins/CorePluginsAdmin/vue/src/Form/Form.adapter.ts b/plugins/CorePluginsAdmin/vue/src/Form/Form.adapter.ts
index 054af6c0e7..188f64f712 100644
--- a/plugins/CorePluginsAdmin/vue/src/Form/Form.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Form/Form.adapter.ts
@@ -17,6 +17,4 @@ export default function piwikForm(): IDirective {
};
}
-piwikForm.$inject = [];
-
-angular.module('piwikApp').directive('piwikForm', piwikForm);
+window.angular.module('piwikApp').directive('piwikForm', piwikForm);
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue
index 10f0dd1846..c608e33682 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldAngularJsTemplate.vue
@@ -17,7 +17,7 @@ import {
} from 'vue';
import { Matomo } from 'CoreHome';
-function clone(obj) {
+function clone<T>(obj?: T): T|undefined {
if (typeof obj === 'undefined') {
return undefined;
}
@@ -28,8 +28,14 @@ function clone(obj) {
export default defineComponent({
props: {
modelValue: null,
- formField: null,
- templateFile: String,
+ formField: {
+ type: null,
+ required: true,
+ },
+ templateFile: {
+ type: String,
+ required: true,
+ },
},
emits: ['update:modelValue'],
inheritAttrs: false,
@@ -49,7 +55,7 @@ export default defineComponent({
value: clone(props.modelValue),
};
- scope.$watch('formField.value', (newValue, oldValue) => {
+ scope.$watch('formField.value', (newValue: unknown, oldValue: unknown) => {
if (newValue !== oldValue
&& JSON.stringify(newValue) !== JSON.stringify(props.modelValue)
) {
@@ -77,7 +83,7 @@ export default defineComponent({
// append on mount
onMounted(() => {
- window.$(root.value).append($element);
+ window.$(root.value! as HTMLElement).append($element);
Matomo.helper.compileAngularComponents($element, {
scope,
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue
index 3e172d63d7..1d1bb8d560 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckbox.vue
@@ -36,8 +36,8 @@ export default defineComponent({
emits: ['update:modelValue'],
methods: {
onChange(event: Event) {
- if (this.modelValue !== event.target.checked) {
- this.$emit('update:modelValue', event.target.checked);
+ if (this.modelValue !== (event.target as HTMLInputElement).checked) {
+ this.$emit('update:modelValue', (event.target as HTMLInputElement).checked);
}
},
},
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue
index 3eb91ea865..f6ba555691 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldCheckboxArray.vue
@@ -35,13 +35,17 @@
<script lang="ts">
import { defineComponent } from 'vue';
-function getCheckboxStates(availableOptions, modelValue) {
+interface Option {
+ key: unknown;
+}
+
+function getCheckboxStates(availableOptions?: Option[], modelValue?: unknown[]) {
return (availableOptions || []).map((o) => modelValue && modelValue.indexOf(o.key) !== -1);
}
export default defineComponent({
props: {
- modelValue: Object,
+ modelValue: Array,
name: String,
title: String,
availableOptions: Array,
@@ -52,7 +56,7 @@ export default defineComponent({
emits: ['update:modelValue'],
computed: {
checkboxStates() {
- return getCheckboxStates(this.availableOptions, this.modelValue);
+ return getCheckboxStates(this.availableOptions as Option[], this.modelValue);
},
},
mounted() {
@@ -63,8 +67,10 @@ export default defineComponent({
const checkboxStates = [...this.checkboxStates];
checkboxStates[changedIndex] = !checkboxStates[changedIndex];
- const newValue = [];
- Object.values(this.availableOptions).forEach((option, index) => {
+ const availableOptions = (this.availableOptions || {}) as Record<string, Option>;
+
+ const newValue: unknown[] = [];
+ Object.values(availableOptions).forEach((option: Option, index: number) => {
if (checkboxStates[index]) {
newValue.push(option.key);
}
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue
index c775e120f8..b0b4909eb8 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldExpandableSelect.vue
@@ -76,17 +76,32 @@ interface SelectValueInfo {
interface AvailableOptions {
group: string;
- key: unknown;
+ key: string|number;
+ value: unknown;
+ tooltip?: string;
+}
+
+interface Option {
+ key: string|number;
value: unknown;
tooltip?: string;
}
+interface OptionGroup {
+ group: string;
+ values: Option[];
+}
+
export function getAvailableOptions(
- availableValues: Record<string, unknown>,
-): { key: string, value: unknown }[] {
- const flatValues = [];
+ availableValues: Record<string, unknown>|null,
+): OptionGroup[] {
+ const flatValues: OptionGroup[] = [];
+
+ if (!availableValues) {
+ return flatValues;
+ }
- const groups = {};
+ const groups: Record<string, OptionGroup> = {};
Object.values(availableValues).forEach((uncastedValue) => {
const value = uncastedValue as AvailableOptions;
const group = value.group || '';
@@ -95,7 +110,7 @@ export function getAvailableOptions(
groups[group] = { values: [], group };
}
- const formatted: Record<string, unknown> = { key: value.key, value: value.value };
+ const formatted: Option = { key: value.key, value: value.value };
if ('tooltip' in value && value.tooltip) {
formatted.tooltip = value.tooltip;
@@ -139,17 +154,18 @@ export default defineComponent({
}
const key = this.modelValue;
+ const availableOptions = (this.availableOptions || []) as OptionGroup[];
- let keyItem: { key: string|number, value: unknown };
- (this.availableOptions || []).some((option) => {
+ let keyItem!: { key: string|number, value: unknown }|undefined;
+ availableOptions.some((option) => {
keyItem = option.values.find((item) => item.key === key);
return keyItem; // stop iterating if found
});
if (keyItem) {
- return keyItem.value.toString();
+ return keyItem.value ? `${keyItem.value}` : '';
}
- return key;
+ return key ? `${key}` : '';
},
},
methods: {
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue
index 12faca52de..e1b45a38b6 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldFile.vue
@@ -33,11 +33,11 @@ export default defineComponent({
inheritAttrs: false,
emits: ['update:modelValue'],
setup(props) {
- const fileInput = ref<HTMLInputElement>(null);
+ const fileInput = ref<HTMLInputElement|null>(null);
watch(() => props.modelValue, (v) => {
if (v === '') {
- const fileInputElement = fileInput.value;
+ const fileInputElement = fileInput.value!;
fileInputElement.value = '';
}
});
@@ -48,7 +48,12 @@ export default defineComponent({
},
methods: {
onChange(event: Event) {
- const file = (event.target as HTMLInputElement).files.item(0);
+ const { files } = event.target as HTMLInputElement;
+ if (!files) {
+ return;
+ }
+
+ const file = files.item(0);
this.$emit('update:modelValue', file);
},
},
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue
index 8fbc118c53..2b024a46a1 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldSelect.vue
@@ -64,15 +64,15 @@ import { defineComponent, nextTick } from 'vue';
interface OptionGroup {
group?: string;
- key: string;
+ key: string|number;
value: unknown;
disabled?: boolean;
}
function initMaterialSelect(
- select: HTMLSelectElement,
+ select: HTMLSelectElement|undefined|null,
modelValue: string|number|string[],
- placeholder: string,
+ placeholder: string|undefined,
uiControlOptions = {},
multiple: boolean,
) {
@@ -85,10 +85,8 @@ function initMaterialSelect(
// reset selected since materialize removes them
Array.from(select.options).forEach((opt) => {
if (multiple) {
- opt.selected = modelValue
- && (modelValue as string[]).indexOf(
- opt.value.replace(/^string:/, ''),
- ) !== -1;
+ opt.selected = !!modelValue
+ && (modelValue as unknown[]).indexOf(opt.value.replace(/^string:/, '')) !== -1;
} else {
opt.selected = `string:${modelValue}` === opt.value;
}
@@ -103,14 +101,16 @@ function initMaterialSelect(
}
}
-function hasGroupedValues(availableValues) {
+function hasGroupedValues(availableValues: unknown) {
if (Array.isArray(availableValues)
|| !(typeof availableValues === 'object')
) {
return false;
}
- return Object.values(availableValues).some((v) => typeof v === 'object');
+ return Object.values(availableValues as Record<string, unknown>).some(
+ (v) => typeof v === 'object',
+ );
}
function hasOption(flatValues: OptionGroup[], key: string) {
@@ -118,9 +118,9 @@ function hasOption(flatValues: OptionGroup[], key: string) {
}
export function getAvailableOptions(
- givenAvailableValues?: Record<string, unknown>|null,
+ givenAvailableValues: Record<string, unknown>|null,
type: string,
- uiControlAttributes: Record<string, unknown>,
+ uiControlAttributes?: Record<string, unknown>,
): OptionGroup[] {
if (!givenAvailableValues) {
return [];
@@ -134,15 +134,15 @@ export function getAvailableOptions(
hasGroups = false;
}
- const flatValues = [];
+ const flatValues: OptionGroup[] = [];
Object.entries(availableValues).forEach(([group, values]) => {
Object.entries(values).forEach(([valueObjKey, value]) => {
- if (typeof value === 'object' && typeof value.key !== 'undefined') {
- flatValues.push(value);
+ if (value && typeof value === 'object' && typeof (value as OptionGroup).key !== 'undefined') {
+ flatValues.push(value as OptionGroup);
return;
}
- let key: number = valueObjKey as number;
+ let key: number|string = valueObjKey;
if (type === 'integer' && typeof valueObjKey === 'string') {
key = parseInt(valueObjKey, 10);
}
@@ -152,7 +152,7 @@ export function getAvailableOptions(
});
// for selects w/ a placeholder, add an option to unset the select
- if (uiControlAttributes.placeholder
+ if (uiControlAttributes?.placeholder
&& !hasOption(flatValues, '')
) {
return [{ key: '', value: '' }, ...flatValues];
@@ -161,9 +161,9 @@ export function getAvailableOptions(
return flatValues;
}
-function handleOldAngularJsValues(value: unknown) {
+function handleOldAngularJsValues<T>(value: T): T {
if (typeof value === 'string') {
- return value.replace(/^string:/, '');
+ return value.replace(/^string:/, '') as unknown as T;
}
return value;
}
@@ -181,36 +181,39 @@ export default defineComponent({
inheritAttrs: false,
emits: ['update:modelValue'],
computed: {
- options() {
+ options(): OptionGroup[]|undefined {
// if modelValue is empty, but there is no empty value allowed in availableOptions,
// add one temporarily until something is set
- if (this.availableOptions
- && !hasOption(this.availableOptions, '')
+ const availableOptions = this.availableOptions as OptionGroup[]|undefined;
+ if (availableOptions
+ && !hasOption(availableOptions, '')
&& (typeof this.modelValue === 'undefined'
|| this.modelValue === null
|| this.modelValue === '')
) {
return [
{ key: '', value: this.modelValue, group: this.hasGroups ? '' : undefined },
- ...this.availableOptions,
+ ...availableOptions,
];
}
- return this.availableOptions;
+ return availableOptions;
},
hasGroups() {
- const { availableOptions } = this;
+ const availableOptions = this.availableOptions as OptionGroup[]|undefined;
return availableOptions && availableOptions[0] && typeof availableOptions[0].group !== 'undefined';
},
groupedOptions() {
- if (!this.hasGroups) {
+ const { options } = this;
+
+ if (!this.hasGroups || !options) {
return null;
}
- const { options } = this;
- const groups = {};
- options.forEach((entry) => {
- groups[entry.group] = groups[entry.group] || [];
- groups[entry.group].push(entry);
+ const groups: Record<string, OptionGroup[]> = {};
+ (options as OptionGroup[]).forEach((entry) => {
+ const group = entry.group!;
+ groups[group] = groups[group] || [];
+ groups[group].push(entry);
});
const result = Object.entries(groups);
@@ -235,7 +238,7 @@ export default defineComponent({
let newValue: string|number|(string|number)[];
if (this.multiple) {
newValue = Array.from(element.options).filter((e) => e.selected).map((e) => e.value);
- newValue = newValue.map(handleOldAngularJsValues);
+ newValue = newValue.map((x) => handleOldAngularJsValues(x));
} else {
newValue = element.value;
newValue = handleOldAngularJsValues(newValue);
@@ -255,9 +258,9 @@ export default defineComponent({
window.$(this.$refs.select as HTMLSelectElement).val(newVal);
setTimeout(() => {
initMaterialSelect(
- this.$refs.select,
+ this.$refs.select as HTMLSelectElement,
newVal,
- this.uiControlAttributes.placeholder,
+ this.uiControlAttributes?.placeholder,
this.uiControlOptions,
this.multiple,
);
@@ -269,13 +272,13 @@ export default defineComponent({
this.onModelValueChange(newVal);
},
'uiControlAttributes.disabled': {
- handler(newVal, oldVal) {
+ handler(newVal?: boolean, oldVal?: boolean) {
setTimeout(() => {
if (newVal !== oldVal) {
initMaterialSelect(
- this.$refs.select,
+ this.$refs.select as HTMLSelectElement,
this.modelValue,
- this.uiControlAttributes.placeholder,
+ this.uiControlAttributes?.placeholder,
this.uiControlOptions,
this.multiple,
);
@@ -283,13 +286,13 @@ export default defineComponent({
});
},
},
- availableOptions(newVal, oldVal) {
+ availableOptions(newVal?: OptionGroup[], oldVal?: OptionGroup[]) {
if (newVal !== oldVal) {
setTimeout(() => {
initMaterialSelect(
- this.$refs.select,
+ this.$refs.select as HTMLSelectElement,
this.modelValue,
- this.uiControlAttributes.placeholder,
+ this.uiControlAttributes?.placeholder,
this.uiControlOptions,
this.multiple,
);
@@ -300,9 +303,9 @@ export default defineComponent({
mounted() {
setTimeout(() => {
initMaterialSelect(
- this.$refs.select,
+ this.$refs.select as HTMLSelectElement,
this.modelValue,
- this.uiControlAttributes.placeholder,
+ this.uiControlAttributes?.placeholder,
this.uiControlOptions,
this.multiple,
);
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue
index 54441fdcda..dedd60eba9 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldSite.vue
@@ -24,7 +24,7 @@
<script lang="ts">
import { defineComponent } from 'vue';
-import { SiteSelector, SiteReference } from 'CoreHome';
+import { SiteSelector, SiteRef } from 'CoreHome';
export default defineComponent({
props: {
@@ -39,7 +39,7 @@ export default defineComponent({
},
emits: ['update:modelValue'],
methods: {
- onChange(newValue: SiteReference) {
+ onChange(newValue: SiteRef) {
this.$emit('update:modelValue', newValue);
},
},
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue
index 6af65c666c..8a39525a52 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FieldTextareaArray.vue
@@ -51,7 +51,7 @@ export default defineComponent({
this.onKeydown = debounce(this.onKeydown.bind(this), 50);
},
methods: {
- onKeydown(event) {
+ onKeydown(event: KeyboardEvent) {
const value = (event.target as HTMLTextAreaElement).value.split(SEPARATOR);
this.$emit('update:modelValue', value);
},
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts b/plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts
index 9a9526e79f..36dc49c942 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FormField.adapter.ts
@@ -5,16 +5,16 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
-import { ITimeoutService } from 'angular';
+import { IScope, ITimeoutService } from 'angular';
import {
createAngularJsAdapter,
transformAngularJsBoolAttr,
transformAngularJsIntAttr,
+ useExternalPluginComponent,
} from 'CoreHome';
import { shallowRef } from 'vue';
import FormField from './FormField.vue';
import FieldAngularJsTemplate from './FieldAngularJsTemplate.vue';
-import useExternalPluginComponent from '../../../../CoreHome/vue/src/useExternalPluginComponent';
function transformVueComponentRef(value?: Record<string, string>) {
if (!value) {
@@ -35,7 +35,8 @@ interface Setting {
value: unknown;
}
-function conditionFn(scope, condition) {
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function conditionFn(scope: any, condition: string) {
const values: Record<string, unknown> = {};
Object.values((scope.allSettings || {}) as Record<string, Setting>).forEach((setting) => {
if (setting.value === '0') {
@@ -52,7 +53,8 @@ export default createAngularJsAdapter<[ITimeoutService]>({
component: FormField,
scope: {
modelValue: {
- default(scope) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ default(scope: any) {
const field = scope.piwikFormField;
// vue components expect object data as input, so we parse JSON data
@@ -77,11 +79,12 @@ export default createAngularJsAdapter<[ITimeoutService]>({
piwikFormField: {
vue: 'formField',
angularJsBind: '=',
- transform(value, vm, scope) {
+ transform(v: unknown, vm: unknown, scope: IScope) {
+ const value = v as Record<string, unknown>;
return {
...value,
condition: value.condition
- ? conditionFn.bind(null, scope, value.condition)
+ ? conditionFn.bind(null, scope, value.condition as string)
: value.condition,
disabled: transformAngularJsBoolAttr(value.disabled),
autocomplete: transformAngularJsBoolAttr(value.autocomplete),
@@ -94,7 +97,9 @@ export default createAngularJsAdapter<[ITimeoutService]>({
min: transformAngularJsIntAttr(value.min),
max: transformAngularJsIntAttr(value.max),
component: shallowRef(
- value.templateFile ? FieldAngularJsTemplate : transformVueComponentRef(value.component),
+ value.templateFile
+ ? FieldAngularJsTemplate
+ : transformVueComponentRef(value.component as Record<string, string>),
),
};
},
@@ -115,7 +120,7 @@ export default createAngularJsAdapter<[ITimeoutService]>({
},
$inject: ['$timeout'],
postCreate(vm, scope) {
- scope.$watch('piwikFormField.value', (newVal, oldVal) => {
+ scope.$watch('piwikFormField.value', (newVal: unknown, oldVal: unknown) => {
if (newVal !== oldVal) {
vm.modelValue = newVal;
}
@@ -127,7 +132,7 @@ export default createAngularJsAdapter<[ITimeoutService]>({
vm.formField = {
...vm.formField,
condition: scope.piwikFormField.condition
- ? conditionFn.bind(null, scope, scope.piwikFormField.condition)
+ ? conditionFn.bind(null, scope, scope.piwikFormField.condition as string)
: scope.piwikFormField.condition,
};
}, true);
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue b/plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue
index 68095c89a6..db03ed212d 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/FormField.vue
@@ -71,6 +71,7 @@ import {
onMounted,
ref,
watch,
+ Component,
} from 'vue';
import FieldCheckbox from './FieldCheckbox.vue';
import FieldCheckboxArray from './FieldCheckboxArray.vue';
@@ -95,7 +96,7 @@ import { processCheckboxAndRadioAvailableValues } from './utilities';
const TEXT_CONTROLS = ['password', 'url', 'search', 'email'];
const CONTROLS_SUPPORTING_ARRAY = ['textarea', 'checkbox', 'text'];
-const CONTROL_TO_COMPONENT_MAP = {
+const CONTROL_TO_COMPONENT_MAP: Record<string, string> = {
checkbox: 'FieldCheckbox',
'expandable-select': 'FieldExpandableSelect',
'field-array': 'FieldFieldArray',
@@ -111,13 +112,34 @@ const CONTROL_TO_COMPONENT_MAP = {
textarea: 'FieldTextarea',
};
-const CONTROL_TO_AVAILABLE_OPTION_PROCESSOR = {
+type ProcessAvailableOptionsFn = (
+ availableValues: Record<string, unknown>|null,
+ type: string,
+ uiControlAttributes?: Record<string, unknown>,
+) => unknown[];
+
+const CONTROL_TO_AVAILABLE_OPTION_PROCESSOR: Record<string, ProcessAvailableOptionsFn> = {
FieldSelect: getSelectAvailableOptions,
FieldCheckboxArray: processCheckboxAndRadioAvailableValues,
FieldRadio: processCheckboxAndRadioAvailableValues,
FieldExpandableSelect: getExpandableSelectAvailableOptions,
};
+interface FormField {
+ availableValues: Record<string, unknown>;
+ type: string;
+ uiControlAttributes?: Record<string, unknown>;
+ defaultValue: unknown;
+ uiControl: string;
+ component: Component;
+ inlineHelp?: string;
+}
+
+interface OptionLike {
+ key?: string|number;
+ value?: unknown;
+}
+
export default defineComponent({
props: {
modelValue: null,
@@ -145,28 +167,32 @@ export default defineComponent({
FieldTextareaArray,
},
setup(props) {
- const inlineHelpNode = ref(null);
+ const inlineHelpNode = ref<HTMLElement|null>(null);
- const setInlineHelp = (newVal) => {
- let toAppend: HTMLElement|string;
+ const setInlineHelp = (newVal?: string|HTMLElement|JQuery) => {
+ let toAppend: HTMLElement|JQuery|string;
- if (!newVal) {
+ if (!newVal || !inlineHelpNode.value) {
return;
}
- if (typeof newVal === 'string' && newVal && newVal.indexOf('#') === 0) {
- toAppend = window.$(newVal);
+ if (typeof newVal === 'string') {
+ if (newVal.indexOf('#') === 0) {
+ toAppend = window.$(newVal);
+ } else {
+ toAppend = window.vueSanitize(newVal);
+ }
} else {
- toAppend = window.vueSanitize(newVal);
+ toAppend = newVal;
}
window.$(inlineHelpNode.value).html('').append(toAppend);
};
- watch(() => props.formField.inlineHelp, setInlineHelp);
+ watch(() => (props.formField as FormField).inlineHelp, setInlineHelp);
onMounted(() => {
- setInlineHelp(props.formField.inlineHelp);
+ setInlineHelp((props.formField as FormField).inlineHelp);
});
return {
@@ -174,12 +200,14 @@ export default defineComponent({
};
},
computed: {
- childComponent() {
- if (this.formField.component) {
- return this.formField.component;
+ childComponent(): string|Component {
+ const formField = this.formField as FormField;
+
+ if (formField.component) {
+ return formField.component;
}
- const { uiControl } = this.formField;
+ const { uiControl } = formField;
let control = CONTROL_TO_COMPONENT_MAP[uiControl];
if (TEXT_CONTROLS.indexOf(uiControl) !== -1) {
@@ -218,7 +246,7 @@ export default defineComponent({
return this.formField.condition();
},
processedModelValue() {
- const field = this.formField;
+ const field = this.formField as FormField;
// convert boolean values since angular 1.6 uses strict equals when determining if a model
// value matches the ng-value of an input.
@@ -237,15 +265,20 @@ export default defineComponent({
return this.modelValue;
},
- defaultValue() {
- let { defaultValue } = this.formField;
+ defaultValue(): string {
+ const { defaultValue } = this.formField as FormField;
if (Array.isArray(defaultValue)) {
- defaultValue = defaultValue.join(',');
+ return (defaultValue as unknown[]).join(',');
}
- return defaultValue;
+ return defaultValue as string;
},
availableOptions() {
- const { childComponent, formField } = this;
+ const { childComponent } = this;
+ if (typeof childComponent !== 'string') {
+ return null;
+ }
+
+ const formField = this.formField as FormField;
if (!formField.availableValues
|| !CONTROL_TO_AVAILABLE_OPTION_PROCESSOR[childComponent]
@@ -260,7 +293,8 @@ export default defineComponent({
);
},
defaultValuePretty() {
- let { defaultValue } = this.formField;
+ const formField = this.formField as FormField;
+ let { defaultValue } = formField;
const { availableOptions } = this;
if (typeof defaultValue === 'string' && defaultValue) {
@@ -282,18 +316,20 @@ export default defineComponent({
return '';
}
- return defaultValue ? defaultValue.toString() : '';
+ return defaultValue ? `${defaultValue}` : '';
}
- const prettyValues = [];
+ const prettyValues: unknown[] = [];
if (!Array.isArray(defaultValue)) {
defaultValue = [defaultValue];
}
(availableOptions || []).forEach((value) => {
- if (defaultValue.indexOf(value.key) !== -1 && typeof value.value !== 'undefined') {
- prettyValues.push(value.value);
+ if (typeof (value as OptionLike).value !== 'undefined'
+ && (defaultValue as unknown[]).indexOf((value as OptionLike).key) !== -1
+ ) {
+ prettyValues.push((value as OptionLike).value);
}
});
diff --git a/plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts b/plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts
index eeb50f347e..9a3a3864cd 100644
--- a/plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts
+++ b/plugins/CorePluginsAdmin/vue/src/FormField/utilities.ts
@@ -5,18 +5,23 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
+interface Option {
+ key: string|number;
+ value: unknown;
+}
+
export function processCheckboxAndRadioAvailableValues(
- availableValues: Record<string, unknown>,
+ availableValues: Record<string, unknown>|null,
type: string,
-): { key: string, value: unknown }[] {
+): Option[] {
if (!availableValues) {
return [];
}
- const flatValues = [];
+ const flatValues: Option[] = [];
Object.entries(availableValues).forEach(([valueObjKey, value]) => {
- if (typeof value === 'object' && typeof value.key !== 'undefined') {
- flatValues.push(value);
+ if (value && typeof value === 'object' && typeof (value as Option).key !== 'undefined') {
+ flatValues.push(value as Option);
return;
}
diff --git a/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue b/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue
index 191d55dc16..47f6660fd5 100644
--- a/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue
+++ b/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSetting.vue
@@ -28,8 +28,14 @@ let conditionScope: IScope;
export default defineComponent({
props: {
- pluginName: String,
- setting: Object,
+ pluginName: {
+ type: String,
+ required: true,
+ },
+ setting: {
+ type: Object,
+ required: true,
+ },
modelValue: null,
settingValues: Object,
},
@@ -39,7 +45,7 @@ export default defineComponent({
emits: ['update:modelValue'],
computed: {
conditionFunction() {
- const { condition } = this.setting;
+ const condition = this.setting.condition as string;
if (!condition) {
return undefined;
}
@@ -54,8 +60,8 @@ export default defineComponent({
};
},
conditionValues() {
- const values = {};
- Object.entries(this.settingValues).forEach(([key, value]) => {
+ const values: Record<string, unknown> = {};
+ Object.entries(this.settingValues as Record<string, unknown>).forEach(([key, value]) => {
const [pluginName, settingName] = key.split('.');
if (pluginName !== this.pluginName) {
return;
diff --git a/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue b/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue
index 7f57b883fe..7d401dcfcd 100644
--- a/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue
+++ b/plugins/CorePluginsAdmin/vue/src/PluginSettings/PluginSettings.vue
@@ -80,11 +80,32 @@ import {
NotificationsStore,
translate,
} from 'CoreHome';
+import KeyPressEvent = JQuery.KeyPressEvent;
import Field from '../Field/Field.vue';
import PluginSetting from './PluginSetting.vue';
const { $ } = window;
+interface Setting {
+ name: string;
+ value: unknown;
+ introduction?: string;
+}
+
+interface SettingsForSinglePlugin {
+ pluginName: string;
+ settings: Setting[];
+}
+
+interface PluginSettingsState {
+ isLoading: boolean;
+ isSaving: Record<string, boolean>;
+ passwordConfirmation: string;
+ settingsToSave: null|string; // name of plugin whose settings to save
+ settingsPerPlugin: SettingsForSinglePlugin[];
+ settingValues: Record<string, unknown>;
+}
+
export default defineComponent({
props: {
mode: String,
@@ -94,7 +115,7 @@ export default defineComponent({
Field,
PluginSetting,
},
- data() {
+ data(): PluginSettingsState {
return {
isLoading: true,
isSaving: {},
@@ -105,7 +126,9 @@ export default defineComponent({
};
},
created() {
- AjaxHelper.fetch({ method: this.apiMethod }).then((settingsPerPlugin) => {
+ AjaxHelper.fetch({
+ method: this.apiMethod,
+ }).then((settingsPerPlugin: SettingsForSinglePlugin[]) => {
this.isLoading = false;
this.settingsPerPlugin = settingsPerPlugin;
@@ -141,7 +164,8 @@ export default defineComponent({
return;
}
- this.settingsPerPlugin.forEach((settingsForPlugin) => {
+ const settingsPerPlugin = this.settingsPerPlugin as SettingsForSinglePlugin[];
+ settingsPerPlugin.forEach((settingsForPlugin) => {
const { pluginName, settings } = settingsForPlugin;
if (!pluginName) {
return;
@@ -165,11 +189,11 @@ export default defineComponent({
},
showPasswordConfirmModal(requestedPlugin: string) {
this.settingsToSave = requestedPlugin;
- const { root } = this.$refs;
+ const root = this.$refs.root as HTMLElement;
const $root = $(root);
- const onEnter = (event) => {
+ const onEnter = (event: KeyPressEvent) => {
const keycode = event.keyCode ? event.keyCode : event.which;
- if (keycode === '13') {
+ if (keycode === 13) {
$root.find('.confirm-password-modal').modal('close');
this.save(requestedPlugin);
}
@@ -212,7 +236,7 @@ export default defineComponent({
this.settingsToSave = null;
},
getValuesForPlugin(requestedPlugin: string) {
- const values = {};
+ const values: Record<string, Setting[]> = {};
if (!values[requestedPlugin]) {
values[requestedPlugin] = [];
}
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.adapter.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.adapter.ts
index 557cca16ad..521477bd7a 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.adapter.ts
@@ -17,6 +17,4 @@ export default function piwikPluginFilter(): IDirective {
};
}
-piwikPluginFilter.$inject = [];
-
-angular.module('piwikApp').directive('piwikPluginFilter', piwikPluginFilter);
+window.angular.module('piwikApp').directive('piwikPluginFilter', piwikPluginFilter);
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts
index e858b846a7..eaa839ab47 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginFilter.ts
@@ -5,6 +5,8 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
+import ClickEvent = JQuery.ClickEvent;
+
const { $ } = window;
function getCurrentFilterOrigin(element: JQuery) {
@@ -15,7 +17,7 @@ function getCurrentFilterStatus(element: JQuery) {
return element.find('.status a.active').data('filter-status');
}
-function getMatchingNodes(filterOrigin, filterStatus) {
+function getMatchingNodes(filterOrigin: string, filterStatus: string): JQuery {
let query = '#plugins tr';
if (filterOrigin === 'all') {
@@ -35,9 +37,9 @@ function getMatchingNodes(filterOrigin, filterStatus) {
function updateNumberOfMatchingPluginsInFilter(
element: JQuery,
- selectorFilterToUpdate,
- filterOrigin,
- filterStatus,
+ selectorFilterToUpdate: string,
+ filterOrigin: string,
+ filterStatus: string,
) {
const numMatchingNodes = getMatchingNodes(filterOrigin, filterStatus).length;
const updatedCounterText = ` (${numMatchingNodes})`;
@@ -49,14 +51,49 @@ function updateAllNumbersOfMatchingPluginsInFilter(element: JQuery) {
const filterOrigin = getCurrentFilterOrigin(element);
const filterStatus = getCurrentFilterStatus(element);
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-status="all"]', filterOrigin, 'all');
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-status="active"]', filterOrigin, 'active');
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-status="inactive"]', filterOrigin, 'inactive');
-
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-origin="all"]', 'all', filterStatus);
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-origin="core"]', 'core', filterStatus);
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-origin="official"]', 'official', filterStatus);
- updateNumberOfMatchingPluginsInFilter(element, '[data-filter-origin="thirdparty"]', 'thirdparty', filterStatus);
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-status="all"]',
+ filterOrigin,
+ 'all',
+ );
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-status="active"]',
+ filterOrigin,
+ 'active',
+ );
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-status="inactive"]',
+ filterOrigin,
+ 'inactive',
+ );
+
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-origin="all"]',
+ 'all',
+ filterStatus,
+ );
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-origin="core"]',
+ 'core',
+ filterStatus,
+ );
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-origin="official"]',
+ 'official',
+ filterStatus,
+ );
+ updateNumberOfMatchingPluginsInFilter(
+ element,
+ '[data-filter-origin="thirdparty"]',
+ 'thirdparty',
+ filterStatus,
+ );
}
function filterPlugins(element: JQuery) {
@@ -71,20 +108,20 @@ function filterPlugins(element: JQuery) {
updateAllNumbersOfMatchingPluginsInFilter(element);
}
-function onClickStatus(element: JQuery, event) {
+function onClickStatus(element: JQuery, event: ClickEvent) {
event.preventDefault();
- $(event.target).siblings().removeClass('active');
- $(event.target).addClass('active');
+ $(event.target as HTMLElement).siblings().removeClass('active');
+ $(event.target as HTMLElement).addClass('active');
filterPlugins(element);
}
-function onClickOrigin(element: JQuery, event) {
+function onClickOrigin(element: JQuery, event: ClickEvent) {
event.preventDefault();
- $(event.target).siblings().removeClass('active');
- $(event.target).addClass('active');
+ $(event.target as HTMLElement).siblings().removeClass('active');
+ $(event.target as HTMLElement).addClass('active');
filterPlugins(element);
}
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.adapter.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.adapter.ts
index ac3c0020b7..86fc15f318 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.adapter.ts
@@ -25,6 +25,4 @@ export default function piwikPluginManagement(): IDirective {
};
}
-piwikPluginManagement.$inject = [];
-
-angular.module('piwikApp').directive('piwikPluginManagement', piwikPluginManagement);
+window.angular.module('piwikApp').directive('piwikPluginManagement', piwikPluginManagement);
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.ts
index cd8b22fafb..06fb47e70f 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginManagement.ts
@@ -7,6 +7,7 @@
import { DirectiveBinding } from 'vue';
import { Matomo } from 'CoreHome';
+import ClickEvent = JQuery.ClickEvent;
const { $ } = window;
@@ -14,11 +15,11 @@ interface PluginManagementState {
uninstallConfirmMessage?: string;
}
-function onClickUninstall(binding: DirectiveBinding<PluginManagementState>, event: MouseEvent) {
+function onClickUninstall(binding: DirectiveBinding<PluginManagementState>, event: ClickEvent) {
event.preventDefault();
- const link = $(event.target).attr('href');
- const pluginName = $(event.target).attr('data-plugin-name');
+ const link = $(event.target as HTMLElement).attr('href');
+ const pluginName = $(event.target as HTMLElement).attr('data-plugin-name');
if (!link || !pluginName) {
return;
@@ -28,21 +29,21 @@ function onClickUninstall(binding: DirectiveBinding<PluginManagementState>, even
binding.value.uninstallConfirmMessage = $('#uninstallPluginConfirm').text();
}
- const messageToDisplay = binding.value.uninstallConfirmMessage.replace('%s', pluginName);
+ const messageToDisplay = (binding.value.uninstallConfirmMessage || '').replace('%s', pluginName);
$('#uninstallPluginConfirm').text(messageToDisplay);
Matomo.helper.modalConfirm('#confirmUninstallPlugin', {
yes: () => {
- window.location = link;
+ window.location.href = link;
},
});
}
-function onDonateLinkClick(event: MouseEvent) {
+function onDonateLinkClick(event: ClickEvent) {
event.preventDefault();
- const overlayId = $(event.target).data('overlay-id');
+ const overlayId = $(event.target as HTMLElement).data('overlay-id') as string;
Matomo.helper.modalConfirm(`#${overlayId}`, {});
}
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.adapter.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.adapter.ts
index c8e83ba31a..251585ec1f 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.adapter.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.adapter.ts
@@ -17,6 +17,4 @@ export default function piwikPluginUpload(): IDirective {
};
}
-piwikPluginUpload.$inject = [];
-
-angular.module('piwikApp').directive('piwikPluginUpload', piwikPluginUpload);
+window.angular.module('piwikApp').directive('piwikPluginUpload', piwikPluginUpload);
diff --git a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts
index 9c620fd556..8416343752 100644
--- a/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts
+++ b/plugins/CorePluginsAdmin/vue/src/Plugins/PluginUpload.ts
@@ -4,25 +4,28 @@
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
+
import { Matomo, translate } from 'CoreHome';
+import ClickEvent = JQuery.ClickEvent;
+import SubmitEvent = JQuery.SubmitEvent;
const { $ } = window;
-function onUploadPlugin(event: MouseEvent) {
+function onUploadPlugin(event: ClickEvent) {
event.preventDefault();
Matomo.helper.modalConfirm('#installPluginByUpload', {});
}
-function onSubmitPlugin(event: MouseEvent) {
- const $zipFile = $('[name=pluginZip]');
- const fileName = $zipFile.val();
+function onSubmitPlugin(event: SubmitEvent) {
+ const $zipFile = $('[name=pluginZip]') as JQuery<HTMLInputElement>;
+ const fileName = $zipFile.val() as string;
if (!fileName || fileName.slice(-4) !== '.zip') {
event.preventDefault();
// eslint-disable-next-line no-alert
alert(translate('CorePluginsAdmin_NoZipFileSelected'));
} else if ($zipFile.data('maxSize') > 0
- && $zipFile[0].files[0].size > $zipFile.data('maxSize') * 1048576
+ && $zipFile[0].files![0].size > $zipFile.data('maxSize') * 1048576
) {
event.preventDefault();
// eslint-disable-next-line no-alert
diff --git a/plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue b/plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue
index 9d2d9bc00d..c3fde0e356 100644
--- a/plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue
+++ b/plugins/CorePluginsAdmin/vue/src/SaveButton/SaveButton.vue
@@ -34,8 +34,8 @@ export default defineComponent({
},
emits: ['confirm'],
methods: {
- onConfirm($event) {
- this.$emit('confirm', $event);
+ onConfirm(event: MouseEvent) {
+ this.$emit('confirm', event);
},
},
});