modoboa 2.5.1__py3-none-any.whl → 2.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- modoboa/admin/api/v2/serializers.py +6 -1
- modoboa/admin/api/v2/tests.py +16 -0
- modoboa/admin/api/v2/viewsets.py +11 -1
- modoboa/admin/app_settings.py +39 -0
- modoboa/admin/lib.py +8 -3
- modoboa/admin/models/alias.py +22 -0
- modoboa/admin/models/domain.py +1 -1
- modoboa/admin/models/mixins.py +3 -1
- modoboa/admin/tests/test_alias_targets.py +68 -0
- modoboa/admin/tests/test_mx.py +12 -12
- modoboa/autoconfig/__init__.py +0 -0
- modoboa/autoconfig/apps.py +6 -0
- modoboa/autoconfig/templates/autoconfig/autoconfig.xml +24 -0
- modoboa/autoconfig/templates/autoconfig/autodiscover.xml +27 -0
- modoboa/autoconfig/tests.py +38 -0
- modoboa/autoconfig/urls.py +21 -0
- modoboa/autoconfig/views.py +109 -0
- modoboa/autoreply/api/v2/tests.py +4 -4
- modoboa/autoreply/models.py +2 -2
- modoboa/calendars/tests.py +8 -8
- modoboa/contacts/tests.py +5 -7
- modoboa/core/commands/templates/settings.py.tpl +25 -2
- modoboa/core/models.py +1 -1
- modoboa/core/tests/test_ldap.py +2 -0
- modoboa/core/views/auth.py +27 -8
- modoboa/frontend_dist/assets/{AccountAliasForm-C0oHHyZL.js → AccountAliasForm-CqtTlaTr.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-lgSJ2Se8.js → AccountEditView-vbG3aNZy.js} +1 -1
- modoboa/frontend_dist/assets/AccountLayout-Dr0kIVYn.js +1 -0
- modoboa/frontend_dist/assets/{AccountPasswordSubForm-YsaE_cDx.js → AccountPasswordSubForm-KRg2Sc3j.js} +1 -1
- modoboa/frontend_dist/assets/{AccountView-1jfKFDwb.js → AccountView-ojD2hYFN.js} +1 -1
- modoboa/frontend_dist/assets/{AddressBook-CwN64Zls.js → AddressBook-UKBKm1mQ.js} +1 -1
- modoboa/frontend_dist/assets/AdminLayout-Dj4_-niL.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-CdHVE0Hh.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-Dal0VD8U.css +1 -0
- modoboa/frontend_dist/assets/AliasEditView-CYDSiX8l.css +1 -0
- modoboa/frontend_dist/assets/AliasEditView-DmAxOjKB.js +1 -0
- modoboa/frontend_dist/assets/AliasRecipientForm-BrTdirrM.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-DMzA10eD.js → AliasView-Sr8AZcUK.js} +1 -1
- modoboa/frontend_dist/assets/{AuditTrailView-5dnGX5El.js → AuditTrailView-B0U4QZw5.js} +1 -1
- modoboa/frontend_dist/assets/{CalendarView-DZONeDA9.js → CalendarView-5ZhvN1XU.js} +1 -1
- modoboa/frontend_dist/assets/{ChoiceField-DnwXRkht.js → ChoiceField-APLYjZCH.js} +1 -1
- modoboa/frontend_dist/assets/{ComposeEmailForm-kghmfNuE.js → ComposeEmailForm-DkLwcddN.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailView-Du9di9mX.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-CnWM982L.js +1 -0
- modoboa/frontend_dist/assets/ConnectedLayout-CiKHST8t.js +1 -0
- modoboa/frontend_dist/assets/{CreationForm-CW4lxnPg.js → CreationForm-BDQpHM1l.js} +1 -1
- modoboa/frontend_dist/assets/DashboardView-nIp1bBh1.js +1 -0
- modoboa/frontend_dist/assets/{DomainAdminList-C3jcDDc3.js → DomainAdminList-CzY3elnc.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-ph8AaElX.js → DomainEditView-B_vQgqL-.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-NCz6Bl-h.js → DomainTransportForm-HOsP56gy.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BgMSSuU-.js → DomainView-CPDvROg8.js} +3 -3
- modoboa/frontend_dist/assets/DomainsView-WlF6IHNs.css +1 -0
- modoboa/frontend_dist/assets/DomainsView-haCsU12U.js +1 -0
- modoboa/frontend_dist/assets/{EmailField-DeqDPm5j.js → EmailField-Cjy8TitF.js} +1 -1
- modoboa/frontend_dist/assets/{EmailView-DczVhVO0.js → EmailView-dnVoHho7.js} +1 -1
- modoboa/frontend_dist/assets/EmptyLayout-Deh2_dQt.js +1 -0
- modoboa/frontend_dist/assets/{FiltersView-nJj_gSCx.js → FiltersView-Csn8N70V.js} +1 -1
- modoboa/frontend_dist/assets/ForwardEmailView-CUBLqaN5.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-BWRdelVw.js → HtmlEditor-CXZVsQx7.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-Cl2lbfkM.css +1 -0
- modoboa/frontend_dist/assets/IdentitiesView-lIu0dkk7.js +1 -0
- modoboa/frontend_dist/assets/{InformationView-BBWKSX8D.js → InformationView-DQqhhU9V.js} +1 -1
- modoboa/frontend_dist/assets/{LoadingData-G57nJ_JV.js → LoadingData-fbGWs7ji.js} +1 -1
- modoboa/frontend_dist/assets/LoginCallbackView-3Hv94z-r.js +1 -0
- modoboa/frontend_dist/assets/{LoginView-CqCCXYLo.js → LoginView-BUbinhV5.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-CYPFkxfT.js +1 -0
- modoboa/frontend_dist/assets/{MenuItems-BqIZW5av.js → MenuItems-Dg2GGDq6.js} +1 -1
- modoboa/frontend_dist/assets/{MessageView-D_6tx_gd.js → MessageView-Dz7CnObf.js} +1 -1
- modoboa/frontend_dist/assets/{MessagesView-BH7JIR03.js → MessagesView-BJAKsy9_.js} +1 -1
- modoboa/frontend_dist/assets/{MigrationsView-Cv_So9T-.js → MigrationsView-6k4E9C53.js} +1 -1
- modoboa/frontend_dist/assets/ParametersForm-Bfv6vx6R.js +1 -0
- modoboa/frontend_dist/assets/ParametersForm-t6-3GMDS.css +1 -0
- modoboa/frontend_dist/assets/ParametersView-BOIkKJtp.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-BcyDgfqX.css +1 -0
- modoboa/frontend_dist/assets/ParametersView-BnQQOUOX.js +1 -0
- modoboa/frontend_dist/assets/{ProviderEditView-zh7CY832.js → ProviderEditView-DIc_KMp4.js} +1 -1
- modoboa/frontend_dist/assets/{ProviderGeneralForm-BQU7t3ma.js → ProviderGeneralForm-VpYAY2D4.js} +1 -1
- modoboa/frontend_dist/assets/{ProvidersView-CoF_ZkZA.js → ProvidersView-CgNIFDfD.js} +1 -1
- modoboa/frontend_dist/assets/QuarantineLayout-aTeFWNaK.js +1 -0
- modoboa/frontend_dist/assets/{QuarantineView-DNvpoycb.js → QuarantineView-n30IFBjf.js} +1 -1
- modoboa/frontend_dist/assets/ReplyEmailView-To3fx256.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-Dy_SbQPT.js +1 -0
- modoboa/frontend_dist/assets/SelfServiceLayout-CsOvD1_L.js +1 -0
- modoboa/frontend_dist/assets/{SettingsView-gQiJ2NVb.js → SettingsView-oiWlLNP2.js} +2 -2
- modoboa/frontend_dist/assets/{StatisticsView-DYalet_q.js → StatisticsView-CTON4fgZ.js} +1 -1
- modoboa/frontend_dist/assets/{TimeSerieChart-BZ2htbFk.js → TimeSerieChart-DR0-ujj7.js} +1 -1
- modoboa/frontend_dist/assets/{TimeSerieChart-CxiwMzE8.css → TimeSerieChart-Dn6Wznn8.css} +1 -1
- modoboa/frontend_dist/assets/UserLayout-BBz6nSHf.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-4r6LxKtg.js → VAlert-BWUQvs3i.js} +1 -1
- modoboa/frontend_dist/assets/{VApp-CX_C7AUN.js → VApp-1CFpPM0s.js} +1 -1
- modoboa/frontend_dist/assets/{VAutocomplete-DNKmBvyZ.js → VAutocomplete-vTx-9foZ.js} +1 -1
- modoboa/frontend_dist/assets/{VAvatar-DbuoZWmf.js → VAvatar-Wz1UmZ2b.js} +1 -1
- modoboa/frontend_dist/assets/{VBadge-Bv2nvUmC.js → VBadge-C08Ii4Nb.js} +1 -1
- modoboa/frontend_dist/assets/{VCard-DzjUT5OP.js → VCard-BrQzTMsm.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckbox-dr7UFjl4.js → VCheckbox-IdHLHDAe.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckboxBtn-CpFdBnTv.js → VCheckboxBtn-BMf4a9DP.js} +1 -1
- modoboa/frontend_dist/assets/{VChip-CaQvfmkw.js → VChip-B1E7xQW1.js} +1 -1
- modoboa/frontend_dist/assets/VColorPicker-CuNM9hII.js +1 -0
- modoboa/frontend_dist/assets/{VContainer-74Dnn8Ux.js → VContainer-f9kXL-37.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTable-CL7yHvG7.js → VDataTable-CVJjOdhF.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableServer-BqvNcIdw.js → VDataTableServer-BSZUbic1.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableVirtual--KsOP8i6.js → VDataTableVirtual-Ceu9uaGm.js} +1 -1
- modoboa/frontend_dist/assets/{VDialog-DmTGCGR0.js → VDialog-BF9xR7BQ.js} +1 -1
- modoboa/frontend_dist/assets/{VExpansionPanels-B7sSTCwd.js → VExpansionPanels-Rq8tzNGV.js} +1 -1
- modoboa/frontend_dist/assets/{VFileInput-SULIc6F3.js → VFileInput-CXyx9q4a.js} +1 -1
- modoboa/frontend_dist/assets/{VForm-DsRLc-sa.js → VForm-RVvaatfV.js} +1 -1
- modoboa/frontend_dist/assets/{VInput-DVKUObZe.js → VInput-ssnfbpwr.js} +1 -1
- modoboa/frontend_dist/assets/{VMenu-nv0XOgg0.js → VMenu-BPG7b7dT.js} +1 -1
- modoboa/frontend_dist/assets/{VPicker-DnDSWJHJ.js → VPicker-Cv_7ON7Q.js} +1 -1
- modoboa/frontend_dist/assets/{VProgressCircular-qK6p5X_Y.js → VProgressCircular-Bdwj7JuI.js} +1 -1
- modoboa/frontend_dist/assets/{VRadioGroup-CbiPLy0t.js → VRadioGroup-BdEZyWNi.js} +1 -1
- modoboa/frontend_dist/assets/{VRow-DJ0NB63-.js → VRow-DGPh2Qmm.js} +1 -1
- modoboa/frontend_dist/assets/{VSelect-CxCFMHyF.js → VSelect-CzmrBwOO.js} +1 -1
- modoboa/frontend_dist/assets/{VSelectionControl-C-6A4us5.js → VSelectionControl-BIXXUgD4.js} +1 -1
- modoboa/frontend_dist/assets/{VSheet-DI6SxLnG.js → VSheet-C07oo1bg.js} +1 -1
- modoboa/frontend_dist/assets/VSpacer-Pa16wvUF.js +1 -0
- modoboa/frontend_dist/assets/{VSwitch-DPnjPQuU.js → VSwitch-C8Eq78Y3.js} +1 -1
- modoboa/frontend_dist/assets/{VTable-ldTxgQPW.js → VTable-C08Q6ok2.js} +1 -1
- modoboa/frontend_dist/assets/{VTabs-aS8WSL9I.js → VTabs-CaqxP8RF.js} +1 -1
- modoboa/frontend_dist/assets/{VTextField-DKbr4H5w.js → VTextField-BBIziqiv.js} +1 -1
- modoboa/frontend_dist/assets/{VTextarea-BttkFsM4.js → VTextarea-PURjBZRs.js} +1 -1
- modoboa/frontend_dist/assets/{VToolbar-BxX3W2kR.js → VToolbar-CILwTR5O.js} +1 -1
- modoboa/frontend_dist/assets/VWindowItem-l3wU5Kto.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-uF8MMy0l.js +1 -0
- modoboa/frontend_dist/assets/{accounts-CC2F0a0c.js → accounts-DkNidbb0.js} +1 -1
- modoboa/frontend_dist/assets/{admin-CHCHFGI6.js → admin-C5XWZaxP.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-C9bUD4Ws.js → aliases-eOyMwyZV.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DCVJxuui.js → amavis-BOgLfXLH.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-BhzV4rgf.js → amavis-w7390k8i.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-Dxz6eWpf.js → contacts-Ch-bKxJM.js} +1 -1
- modoboa/frontend_dist/assets/domains-DEEhRTFJ.js +1 -0
- modoboa/frontend_dist/assets/{domains.store-BLKRipG8.js → domains.store-BhRRATEd.js} +1 -1
- modoboa/frontend_dist/assets/{filter-rmxrcjKk.js → filter-CfvL3jIf.js} +1 -1
- modoboa/frontend_dist/assets/{forwardRefs-CpzzjgpX.js → forwardRefs-GE5Osi9V.js} +1 -1
- modoboa/frontend_dist/assets/{global.store-DndbMXYb.js → global.store-CxPrtY0_.js} +1 -1
- modoboa/frontend_dist/assets/importExport-C1_milrO.js +1 -0
- modoboa/frontend_dist/assets/index-D9OmnhdE.js +982 -0
- modoboa/frontend_dist/assets/{layout-DbjDe3Wl.js → layout-CuwY6Rle.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-Vq5mvIp7.js → layout.store-uEYOXtgD.js} +1 -1
- modoboa/frontend_dist/assets/{logos-Bvcy0usu.js → logos-BOVDV-my.js} +1 -1
- modoboa/frontend_dist/assets/{logs-BuItINky.js → logs-DT7l7Npx.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-C8IYEP7q.js → parameters-DlTg3gyZ.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-1cwSP2JP.js → parameters.store-eTs-B-pe.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-DQjAcO9S.js → permissions-B-P8ks2E.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-BxIQ9ccA.js → ssrBoot-DaeAGyhc.js} +1 -1
- modoboa/frontend_dist/assets/{tag-3cfI1_f7.js → tag-jImTUiWx.js} +1 -1
- modoboa/frontend_dist/assets/theme-tqh89n3L.js +1 -0
- modoboa/frontend_dist/assets/transports-BnIcB3M9.js +1 -0
- modoboa/frontend_dist/assets/{webmail-B2IUjaxM.js → webmail-Dqo8FjAw.js} +1 -1
- modoboa/frontend_dist/index.html +1 -1
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +1 -1
- modoboa/relaydomains/tests.py +1 -1
- modoboa/static/css/offline.css +7 -20
- modoboa/templates/registration/base.html +18 -0
- modoboa/templates/registration/login.html +1 -1
- modoboa/urls.py +1 -5
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/METADATA +9 -9
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/RECORD +164 -156
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/licenses/LICENSE +1 -1
- modoboa/core/api/v1/tests.py +0 -26
- modoboa/frontend_dist/assets/AccountLayout-U386K8zy.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-Cxm1lggg.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-9yKGbmkC.css +0 -1
- modoboa/frontend_dist/assets/AlarmsView-Bcjsicac.js +0 -1
- modoboa/frontend_dist/assets/AliasEditView-Cx9410JP.css +0 -1
- modoboa/frontend_dist/assets/AliasEditView-k3rVt1tG.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-IehUzKok.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-DLv3wk1k.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-CcPrCKuI.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CWlBK7Hf.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-DXVZMbMo.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-CEEU9btK.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-DZ-ss9bI.css +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-BXgcfMLH.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-Bgv3JQb6.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-DPrrRMS5.css +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-Dld9IloZ.js +0 -1
- modoboa/frontend_dist/assets/LoginCallbackView-DjyE2SG_.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-DRrs9eLO.js +0 -1
- modoboa/frontend_dist/assets/ParametersForm-3qXttTuQ.js +0 -1
- modoboa/frontend_dist/assets/ParametersForm-Dk-qwlRm.css +0 -1
- modoboa/frontend_dist/assets/ParametersView-3Ns04cpQ.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B5B5Dt6K.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-DaKFNERg.css +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-CYBsrbJM.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-D1XTcglu.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-BW8rUGgZ.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DfDHiYeX.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-zUtHi-z-.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-ByGpCW5O.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-CoJVmx8k.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-Cvqvdegd.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BT2k6U7q.js +0 -1
- modoboa/frontend_dist/assets/domains-C2cornvL.js +0 -1
- modoboa/frontend_dist/assets/importExport-C3uqrcok.js +0 -1
- modoboa/frontend_dist/assets/index-LhNzkzAh.js +0 -984
- modoboa/frontend_dist/assets/transports-D4Jk4-AP.js +0 -1
- {modoboa-2.5.1.data → modoboa-2.6.1.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/WHEEL +0 -0
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/entry_points.txt +0 -0
- {modoboa-2.5.1.dist-info → modoboa-2.6.1.dist-info}/top_level.txt +0 -0
modoboa/core/api/v1/tests.py
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
from django.urls import reverse_lazy
|
|
2
|
-
|
|
3
|
-
from modoboa.lib.tests import ModoTestCase
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class OpenAPITestCase(ModoTestCase):
|
|
7
|
-
openapi_schema_url = reverse_lazy("schema-v1-legacy")
|
|
8
|
-
|
|
9
|
-
def test_unauthorized(self):
|
|
10
|
-
self.client.logout()
|
|
11
|
-
|
|
12
|
-
response = self.client.get(self.openapi_schema_url)
|
|
13
|
-
self.assertEqual(response.status_code, 401)
|
|
14
|
-
|
|
15
|
-
def test_get_schema(self):
|
|
16
|
-
self.assertEqual(self.openapi_schema_url, "/docs/openapi.json")
|
|
17
|
-
|
|
18
|
-
response = self.client.get(self.openapi_schema_url)
|
|
19
|
-
self.assertEqual(response.status_code, 200)
|
|
20
|
-
self.assertEqual(
|
|
21
|
-
response.json()["info"],
|
|
22
|
-
{
|
|
23
|
-
"title": "Modoboa API",
|
|
24
|
-
"version": "v1",
|
|
25
|
-
},
|
|
26
|
-
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as n,b as c,g as u,h as s,c as l,o as f}from"./index-LhNzkzAh.js";import{_}from"./ConnectedLayout-CWlBK7Hf.js";import{p as h}from"./parameters-C8IYEP7q.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./layout.store-Vq5mvIp7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const q={__name:"AccountLayout",setup(d){const i=n(),{$gettext:e}=c(),r=u([]),m=s(()=>i.authUser),p=s(()=>{const t=[],a={contacts:"mdi-contacts-outline",webmail:"mdi-at"};if(t.push({text:e("Settings"),to:{name:"AccountSettings"},icon:"mdi-cog"}),m.value.mailbox){t.push({text:e("Filters"),to:{name:"AccountFilters"},icon:"mdi-filter"});for(const o of r.value)t.push({icon:a[o.name],text:o.label,to:{name:"AccountParametersEdit",params:{app:o.name}}})}return t});return h.getUserApplications().then(t=>{r.value=t.data}),(t,a)=>(f(),l(_,{color:"grey","menu-items":p.value},null,8,["menu-items"]))}};export{q as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as D,u as g,g as l,h as p,i as t,j as c,c as b,o as x}from"./index-LhNzkzAh.js";import{p as _}from"./parameters-C8IYEP7q.js";import{_ as N}from"./ConnectedLayout-CWlBK7Hf.js";import{u as h}from"./parameters.store-1cwSP2JP.js";import{u as f}from"./global.store-DndbMXYb.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./layout.store-Vq5mvIp7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const W={__name:"AdminLayout",async setup(L){let a,e;const{$gettext:i}=D(),A=g(),s=f(),r=h(),n=l(!1),d=l("/rspamd"),u=l([]),M=p(()=>A.authUser),R=p(()=>r.imapMigrationEnabled),S=()=>{window.location=d.value},I=p(()=>{const o=[{text:i("Dashboard"),to:{name:"Dashboard"},exact:!0,icon:"mdi-view-dashboard-outline"},{text:i("Domains"),to:{name:"DomainList"},icon:"mdi-domain",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Identities"),to:{name:"Identities"},icon:"mdi-account",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Alarms"),to:{name:"Alarms"},icon:"mdi-bell"},{icon:"mdi-history",text:i("Monitoring"),roles:[t.SUPER_ADMIN,t.RESELLER,t.DOMAIN_ADMIN],children:[{text:i("Statistics"),to:{name:"Statistics"},roles:[t.SUPER_ADMIN]},{text:i("Audit trail"),to:{name:"AuditTrail"},roles:[t.SUPER_ADMIN]},{text:i("Messages"),to:{name:"MessageLog"},roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]}]},{icon:"mdi-email-sync-outline",text:i("IMAP Migration"),roles:[t.SUPER_ADMIN,t.RESELLER],condition:()=>R.value,children:[{text:i("Email providers"),to:{name:"ProvidersList"},roles:[t.SUPER_ADMIN,t.RESELLER]},{text:i("Migrations"),to:{name:"MigrationsList"},roles:[t.RESELLER,t.SUPER_ADMIN]}]}],m=[];return u.value.forEach(E=>{m.push({text:E.label,to:{name:"ParametersEdit",params:{app:E.name}}})}),o.concat([{icon:"mdi-cog",text:i("Settings"),children:m,roles:[t.SUPER_ADMIN]},{icon:"mdi-email-check-outline",text:"Rspamd",action:S,roles:[t.SUPER_ADMIN],condition:()=>n.value},{icon:"mdi-information",text:i("Information"),roles:[t.SUPER_ADMIN],to:{name:"Information"},withBell:!0}])});if(M.value.role===t.SUPER_ADMIN){let o=([a,e]=c(()=>_.getGlobalApplications()),a=await a,e(),a);u.value=o.data,[a,e]=c(()=>s.fetchCapabilities()),await a,e(),s.capabilities.imap_migration&&r.imapMigrationEnabled===null&&(o=([a,e]=c(()=>_.getGlobalApplication("imap_migration")),a=await a,e(),a),r.imapMigrationEnabled=o.data.params.enabled_imapmigration),n.value="rspamd"in s.capabilities,n.value&&(d.value=s.capabilities.rspamd.location||"/rspamd")}return(o,m)=>(x(),b(N,{"menu-items":I.value},null,8,["menu-items"]))}};export{W as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-text-field--outlined[data-v-dd012795] fieldset{border-color:#bfc5d2}.v-input--checkbox[data-v-dd012795] .v-label{font-size:.875rem!important}.v-toolbar[data-v-d7e4ea18]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as U}from"./index-DuzUMVLM.js";import{C as V,_ as T,b as G,n as q,g as h,c as k,w as a,a as s,e as H,f as d,v as D,k as n,t as m,l as x,F as w,i as y,o as u}from"./index-LhNzkzAh.js";import{_ as S}from"./MenuItems-BqIZW5av.js";import{V as N}from"./VMenu-nv0XOgg0.js";import{V as M,c as J}from"./VAvatar-DbuoZWmf.js";import{V as L}from"./VChip-CaQvfmkw.js";import{V as E,a as K}from"./VToolbar-BxX3W2kR.js";import{V as Q}from"./VTextField-DKbr4H5w.js";import{V as W}from"./forwardRefs-CpzzjgpX.js";import{V as X}from"./VDataTableServer-BqvNcIdw.js";import{a as Y}from"./VCard-DzjUT5OP.js";import"./VProgressCircular-qK6p5X_Y.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./ssrBoot-BxIQ9ccA.js";import"./VDataTable-CL7yHvG7.js";import"./VSelect-CxCFMHyF.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";const b="alarms",v={getAll(i){return V.get(`${b}/`,{params:i})},switchStatus(i,e){return V.patch(`${b}/${i}/switch/`,e)},delete(i){return V.delete(`${b}/${i}/`)},bulkDelete(i){return V.post(`${b}/bulk_delete/`,{ids:i})}},Z={class:"text-right"},ee={__name:"AlarmList",setup(i){const{$gettext:e}=G(),p=q(),C=h([]),A=h(!1),f=h(""),g=h([]),$=h(0),O=[{title:e("Triggered"),key:"created"},{title:e("Status"),key:"status"},{title:e("Domain"),key:"domain.name",sortable:!1},{title:e("Mailbox"),key:"mailbox",sortable:!1},{title:e("Message"),key:"title"},{title:e("Actions"),key:"actions",sortable:!1,align:"right"}],z=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}];function I(){const l=[];return g.value.length>0&&l.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:B,color:"red"}),l.push({label:e("Reload"),icon:"mdi-reload",onClick:r}),l}function P(l){const o=[];return o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:R,color:"red"}),l.status===y.ALARM_OPENED?o.push({label:e("Close alarm"),icon:"mdi-check",onClick:j,color:"green"}):o.push({label:e("Reopen alarm"),icon:"mdi-alert-circle-outline",onClick:F,color:"orange"}),o}function r({page:l,itemsPerPage:o,sortBy:t}){const _={page:l||1,page_size:o||10};t&&t.length&&(_.ordering=t.map(c=>c.order!=="asc"?`-${c.key}`:c.key).join(",")),f.value!==""&&(_.search=f.value),A.value=!0,v.getAll(_).then(c=>{C.value=c.data.results,$.value=c.data.count,A.value=!1})}async function R(l,o=!0){v.delete(l.id).then(()=>{o&&(p.displayNotification({msg:e("Alarm deleted")}),r({}))})}async function B(){await v.bulkDelete(g.value),p.displayNotification({msg:e("Alarms deleted")}),g.value=[],r({})}async function j(l){v.switchStatus(l.id,{status:y.ALARM_CLOSED}).then(()=>{p.displayNotification({msg:e("Alarm closed")}),r({})})}async function F(l){v.switchStatus(l.id,{status:y.ALARM_OPENED}).then(()=>{p.displayNotification({msg:e("Alarm re-opened")}),r({})})}return r=U(r,500),(l,o)=>(u(),k(Y,{class:"mt-6"},{default:a(()=>[s(X,{modelValue:g.value,"onUpdate:modelValue":o[1]||(o[1]=t=>g.value=t),headers:O,items:C.value,search:f.value,"item-value":"id","items-length":$.value,"items-per-page-options":z,loading:A.value,elevation:"0","show-select":"","onUpdate:options":r},{top:a(()=>[s(E,{color:"white",flat:""},{default:a(()=>[s(Q,{modelValue:f.value,"onUpdate:modelValue":o[0]||(o[0]=t=>f.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:d(e)("Search"),density:"compact",variant:"outlined","hide-details":"",flat:"","single-line":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),s(N,{location:"bottom"},{activator:a(({props:t})=>[s(M,D(t,{size:"small"}),{default:a(()=>[n(m(d(e)("Actions"))+" ",1),s(J,{right:""},{default:a(()=>o[2]||(o[2]=[n("mdi-chevron-down")])),_:1,__:[2]})]),_:2},1040)]),default:a(()=>[s(W,{density:"compact"},{default:a(()=>[s(d(S),{items:I()},null,8,["items"])]),_:1})]),_:1})]),_:1})]),"item.status":a(({item:t})=>[t.status===1?(u(),k(L,{key:0,color:"warning",size:"small"},{default:a(()=>[n(m(d(e)("Opened")),1)]),_:1})):(u(),k(L,{key:1,color:"info",size:"small"},{default:a(()=>[n(m(d(e)("Closed")),1)]),_:1}))]),"item.mailbox":a(({item:t})=>[t.mailbox?(u(),x(w,{key:0},[n(m(t.mailbox.address)+"@"+m(t.domain.name),1)],64)):(u(),x(w,{key:1},[n(" / ")],64))]),"item.created":a(({item:t})=>[n(m(l.$date(t.created)),1)]),"item.actions":a(({item:t})=>[H("div",Z,[s(N,{location:"bottom"},{activator:a(({props:_})=>[s(M,D({icon:"mdi-dots-horizontal"},_,{variant:"text"}),null,16)]),default:a(()=>[s(d(S),{items:P(t),obj:t},null,8,["items","obj"])]),_:2},1024)])]),_:2},1032,["modelValue","items","search","items-length","loading"])]),_:1}))}},te=T(ee,[["__scopeId","data-v-dd012795"]]),ae={__name:"AlarmsView",setup(i){return(e,p)=>(u(),x(w,null,[s(E,{flat:""},{default:a(()=>[s(K,null,{default:a(()=>[n(m(e.$gettext("Opened alarms")),1)]),_:1})]),_:1}),s(te)],64))}},xe=T(ae,[["__scopeId","data-v-d7e4ea18"]]);export{xe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-toolbar[data-v-21c8ea90]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as j,_ as G}from"./AliasRecipientForm-IehUzKok.js";import{L as I}from"./LoadingData-G57nJ_JV.js";import{b as C,B as M,q as S,g as p,d as q,c as f,l as v,o as s,a,e as E,w as e,k as r,t as i,f as u,F as R,s as z,_ as O}from"./index-LhNzkzAh.js";import{a as w}from"./aliases-C9bUD4Ws.js";import{d as b,c as A,V as T}from"./VAvatar-DbuoZWmf.js";import{V as $,c as h,a as B,b as H}from"./VExpansionPanels-B7sSTCwd.js";import{V as k,a as c}from"./VRow-DJ0NB63-.js";import{V as J}from"./VChip-CaQvfmkw.js";import{V as K,a as Q}from"./VToolbar-BxX3W2kR.js";import"./EmailField-DeqDPm5j.js";import"./VTextField-DKbr4H5w.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./domains.store-BLKRipG8.js";import"./domains-C2cornvL.js";import"./VForm-DsRLc-sa.js";import"./VSwitch-DPnjPQuU.js";import"./VSelectionControl-C-6A4us5.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VTextarea-BttkFsM4.js";import"./VContainer-74Dnn8Ux.js";/* empty css */const W={key:1},X={key:0},Y={class:"mr-2"},Z={key:0},ee={class:"mt-4 d-flex justify-end"},ae={__name:"AliasEditForm",setup(N){const{$gettext:n}=C(),d=M(),y=S(),o=p({pk:d.params.id}),V=p(0),m=p(!0),g=p(!1),x=p(),F=p(),P={generalForm:x,recipientForm:F};async function D(){g.value=!1,V.value=[];for(const[_,t]of Object.entries(P))if(t.value!=null){const{valid:l}=await t.value.vFormRef.validate();l||(g.value=!0,V.value.push(_))}if(!g.value){m.value=!0;try{await w.patch(d.params.id,o.value),y.push({name:"AliasDetail",params:{id:d.params.id}})}finally{m.value=!1}}}return q(()=>{w.get(d.params.id).then(_=>{o.value=_.data,m.value=!1})}),(_,t)=>m.value?(s(),f(I,{key:0})):(s(),v("div",W,[a(H,{modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=l=>V.value=l),multiple:g.value},{default:e(()=>[a($,{eager:"",value:"generalForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("General")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",X)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(c,{cols:"6"},{default:e(()=>[r(i(u(n)("Address"))+": "+i(o.value.address),1)]),_:1}),a(c,{cols:"6"},{default:e(()=>[E("div",Y,i(u(n)("Enabled")),1),o.value.enabled?(s(),f(A,{key:0,color:"success"},{default:e(()=>t[4]||(t[4]=[r("mdi-check-circle-outline")])),_:1,__:[4]})):(s(),f(A,{key:1},{default:e(()=>t[5]||(t[5]=[r("mdi-close-circle-outline")])),_:1,__:[5]}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(j,{ref_key:"generalForm",ref:x,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a($,{eager:"",value:"recipientForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("Recipients")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",Z)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[(s(!0),v(R,null,z(o.value.recipients,(L,U)=>(s(),f(J,{key:U,size:"small"},{default:e(()=>[r(i(L),1)]),_:2},1024))),128))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(u(G),{ref_key:"recipientForm",ref:F,modelValue:o.value.recipients,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.recipients=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","multiple"]),E("div",ee,[a(T,{loading:m.value,onClick:t[3]||(t[3]=l=>_.$router.go(-1))},{default:e(()=>[r(i(u(n)("Cancel")),1)]),_:1},8,["loading"]),a(T,{class:"ml-4",color:"primary darken-1",loading:m.value,onClick:D},{default:e(()=>[r(i(u(n)("Save")),1)]),_:1},8,["loading"])])]))}},te={__name:"AliasEditView",setup(N){const{$gettext:n}=C();return(d,y)=>(s(),v(R,null,[a(K,{flat:""},{default:e(()=>[a(Q,null,{default:e(()=>[r(i(u(n)("Edit alias")),1)]),_:1})]),_:1}),a(ae,{alias:d.alias},null,8,["alias"])],64))}},Be=O(te,[["__scopeId","data-v-21c8ea90"]]);export{Be as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as S}from"./aliases-C9bUD4Ws.js";import{E as w}from"./EmailField-DeqDPm5j.js";import{r as A,V as E}from"./VForm-DsRLc-sa.js";import{d as T}from"./domains-C2cornvL.js";import{V as U}from"./VSwitch-DPnjPQuU.js";import{V as N}from"./VSelect-CxCFMHyF.js";import{V as h}from"./VAvatar-DbuoZWmf.js";import{V as C}from"./VTextField-DKbr4H5w.js";import{V as j}from"./VTextarea-BttkFsM4.js";import{h as _,g as m,c as f,o as r,w as u,m as q,l as x,a as o,e as V,F,t as i,f as d,b as G,s as L,k as O}from"./index-LhNzkzAh.js";import{V as P}from"./VChip-CaQvfmkw.js";const z={class:"m-label"},H={class:"m-label"},I={class:"m-label"},J={class:"m-label"},se={__name:"AliasGeneralForm",props:{modelValue:{type:Object,default:null}},setup(b,{expose:y}){const g=b,e=_(()=>g.modelValue),p=m([]),c=m();function n(){e.value.address!=null&&navigator.clipboard.writeText(e.value.address)}async function s(){e.value.domain!=null&&S.getRandomAddress().then(t=>{e.value.address=`${t.data.address}@${e.value.domain.name}`})}return T.getDomains().then(t=>{p.value=t.data}),y({vFormRef:c}),(t,a)=>(r(),f(E,{ref_key:"vFormRef",ref:c},{default:u(()=>[e.value.pk?q("",!0):(r(),f(U,{key:0,modelValue:e.value.random,"onUpdate:modelValue":a[0]||(a[0]=l=>e.value.random=l),label:t.$gettext("Random address"),color:"primary"},null,8,["modelValue","label"])),e.value.random?(r(),x(F,{key:2},[V("label",H,i(t.$gettext("Domain")),1),o(N,{modelValue:e.value.domain,"onUpdate:modelValue":[a[2]||(a[2]=l=>e.value.domain=l),s],items:p.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",rules:[d(A).required]},{append:u(()=>[o(h,{variant:"flat",icon:"mdi-reload",onClick:s})]),_:1},8,["modelValue","items","rules"]),o(C,{modelValue:e.value.address,"onUpdate:modelValue":a[3]||(a[3]=l=>e.value.address=l),label:t.$gettext("Generated address"),variant:"outlined",readonly:""},{"append-inner":u(()=>[o(h,{variant:"flat",icon:"mdi-clipboard-outline",onClick:n})]),_:1},8,["modelValue","label"])],64)):(r(),x(F,{key:1},[V("label",z,i(t.$gettext("Email address")),1),o(d(w),{ref:"address",modelValue:e.value.address,"onUpdate:modelValue":a[1]||(a[1]=l=>e.value.address=l),type:"email",variant:"outlined",density:"compact",rules:[d(A).required]},null,8,["modelValue","rules"])],64)),o(U,{modelValue:e.value.enabled,"onUpdate:modelValue":a[4]||(a[4]=l=>e.value.enabled=l),label:t.$gettext("Enabled"),color:"primary"},null,8,["modelValue","label"]),V("label",I,i(t.$gettext("Expire at")),1),o(C,{modelValue:e.value.expire,"onUpdate:modelValue":a[5]||(a[5]=l=>e.value.expire=l),variant:"outlined",density:"compact"},null,8,["modelValue"]),V("label",J,i(t.$gettext("Description")),1),o(j,{modelValue:e.value.description,"onUpdate:modelValue":a[6]||(a[6]=l=>e.value.description=l),rows:"2",variant:"outlined",density:"compact"},null,8,["modelValue"])]),_:1},512))}},re={__name:"AliasRecipientForm",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:model-value"],setup(b,{expose:y,emit:g}){const{$gettext:e}=G(),p=g,c=b,n=_({get:()=>c.modelValue,set:v=>p("update:model-value",v)}),s=m(""),t=m(),a=m();async function l(){n.value.push(s.value),s.value="",a.value.resetValidation()}function B(v){n.value.splice(v,1)}const D=[()=>n.value.length>0||e("Please add at least one recipient.")];return y({vFormRef:a}),(v,$)=>(r(),f(E,{ref_key:"vFormRef",ref:a},{default:u(()=>[o(d(w),{ref_key:"recipientField",ref:t,modelValue:s.value,"onUpdate:modelValue":$[0]||($[0]=k=>s.value=k),placeholder:d(e)("Start typing a name here..."),hint:d(e)("Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)."),"persistent-hint":"","allow-add":"",rules:D,onDomainSelected:l},null,8,["modelValue","placeholder","hint"]),(r(!0),x(F,null,L(n.value,(k,R)=>(r(),f(P,{key:R,class:"mr-2 mt-2",closable:"","onClick:close":K=>B(R)},{default:u(()=>[O(i(k),1)]),_:2},1032,["onClick:close"]))),128))]),_:1},512))}};export{re as _,se as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as o}from"./ComposeEmailForm-kghmfNuE.js";import{c as r,f as t,o as m}from"./index-LhNzkzAh.js";import"./index-DuzUMVLM.js";import"./webmail-B2IUjaxM.js";import"./VForm-DsRLc-sa.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VCard-DzjUT5OP.js";import"./VFileInput-SULIc6F3.js";import"./VTextField-DKbr4H5w.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./HtmlEditor-BWRdelVw.js";import"./VTextarea-BttkFsM4.js";import"./contacts-Dxz6eWpf.js";import"./VToolbar-BxX3W2kR.js";import"./VRow-DJ0NB63-.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./filter-rmxrcjKk.js";import"./VDialog-DmTGCGR0.js";const H={__name:"ComposeEmailView",setup(p){return(i,e)=>(m(),r(t(o)))}};export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as C,g as s,c as V,w as a,a as l,L as h,k as r,t as n,aj as L,x as T,m as z,aQ as D,o as g}from"./index-LhNzkzAh.js";import{V as S,a as B}from"./VToolbar-BxX3W2kR.js";import{V as K,b as N,a as j}from"./VCard-DzjUT5OP.js";import{V as I}from"./VSpacer-CoJVmx8k.js";import{V as x}from"./VAvatar-DbuoZWmf.js";import{V as O}from"./VDialog-DmTGCGR0.js";const R={__name:"ConfirmDialog",props:{callback_agree:{type:Function,default:null}},setup(_,{expose:b}){const{$gettext:f}=C(),m=_,o=s(!1),c=s(""),p=s("");let u;const e=s({color:"primary",width:400,zIndex:2400,noconfirm:!1,cancelLabel:f("Cancel"),agreeLabel:f("OK")});function w(i,t,d){return o.value=!0,p.value=i,c.value=t,e.value=Object.assign(e.value,d),new Promise(y=>{u=y})}b({open:w});async function k(){m.callback_agree!==null&&!await m.callback_agree()||(u(!0),o.value=!1)}function v(){u(!1),o.value=!1}return(i,t)=>(g(),V(O,{modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=d=>o.value=d),"max-width":e.value.width,"z-index":e.value.zIndex,onKeydown:D(v,["esc"])},{default:a(()=>[l(j,null,{default:a(()=>[l(S,{color:e.value.color,density:"compact",variant:"flat"},{default:a(()=>[l(B,{class:"text-body-2 font-weight-bold"},{default:a(()=>[r(n(p.value),1)]),_:1})]),_:1},8,["color"]),h(l(K,{class:"pa-4"},{default:a(()=>[r(n(c.value)+" ",1),T(i.$slots,"default")]),_:3},512),[[L,!!c.value]]),l(N,{class:"pt-3"},{default:a(()=>[l(I),e.value.noconfirm?z("",!0):(g(),V(x,{key:0,onClick:v},{default:a(()=>[r(n(e.value.cancelLabel),1)]),_:1})),l(x,{color:e.value.color,onClick:k},{default:a(()=>[r(n(e.value.agreeLabel),1)]),_:1},8,["color"])]),_:1})]),_:3})]),_:3},8,["modelValue","max-width","z-index"]))}};export{R as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as ne,r as Oe,c as C,o as k,w as m,a as i,b5 as pe,b6 as Ye,a6 as N,h as V,a2 as He,d as ee,z,aw as we,b7 as Ue,b8 as q,aa as _e,b9 as be,az as ze,I as ke,J as xe,ac as We,al as Ve,Q as Xe,O as Se,g as Y,a7 as te,a0 as Ce,aS as Fe,T as je,e as P,v as J,F as E,am as Te,V as qe,u as Pe,q as Ge,f as O,p as Ze,l as I,s as G,m as Q,k as F,t as R,b as Be,ba as Je,ad as Ke,C as Qe,N as et,bb as tt,P as at,n as ot,bc as nt,x as ce}from"./index-LhNzkzAh.js";import{V as lt}from"./VContainer-74Dnn8Ux.js";import{V as rt,a as it}from"./VApp-CX_C7AUN.js";import{u as st}from"./logos-Bvcy0usu.js";import{u as ut}from"./layout.store-Vq5mvIp7.js";import{x as ct,l as vt,n as Le,y as dt,z as mt,o as Me,p as ft,A as ht,j as Ee,e as Ie,V as Z,c as K,b as gt,B as yt,C as pt,g as wt,a as _t,D as bt,E as kt,F as xt}from"./VAvatar-DbuoZWmf.js";import{V as oe,g as Vt,a as A,h as St,c as ve,b as de,f as Ct}from"./forwardRefs-CpzzjgpX.js";import{u as me}from"./VProgressCircular-qK6p5X_Y.js";import{u as $e,c as Tt,b as Pt}from"./tag-3cfI1_f7.js";import{u as Ae,b as Bt,m as Lt,V as ae,a as fe,c as Mt}from"./VMenu-nv0XOgg0.js";import{a as Et,b as It,V as $t,u as At}from"./layout-DbjDe3Wl.js";import{u as Nt}from"./ssrBoot-BxIQ9ccA.js";import{u as Dt}from"./global.store-DndbMXYb.js";import{V as Rt}from"./VBadge-Bv2nvUmC.js";import{a as he}from"./VCard-DzjUT5OP.js";import{V as Ot,a as Yt}from"./VRow-DJ0NB63-.js";import{V as Ht}from"./VSheet-DI6SxLnG.js";const Ut={__name:"ConnectedView",setup(e){return(r,o)=>{const u=Oe("router-view");return k(),C(rt,null,{default:m(()=>[i(lt,{fluid:"",style:{height:"100%"}},{default:m(()=>[i(u,null,{default:m(({Component:t})=>[i(pe,{name:"fade"},{default:m(()=>[(k(),C(Ye(t)))]),_:2},1024)]),_:1})]),_:1})]),_:1})}}},zt=ne(Ut,[["__scopeId","data-v-b2ffa9e6"]]);function Wt(e){let{rootEl:r,isSticky:o,layoutItemStyles:u}=e;const t=N(!1),v=N(0),l=V(()=>{const w=typeof t.value=="boolean"?"top":t.value;return[o.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[w]:He(v.value)}:{top:u.value.top}]});ee(()=>{z(o,w=>{w?window.addEventListener("scroll",p,{passive:!0}):window.removeEventListener("scroll",p)},{immediate:!0})}),we(()=>{window.removeEventListener("scroll",p)});let y=0;function p(){const w=y>window.scrollY?"up":"down",a=r.value.getBoundingClientRect(),s=parseFloat(u.value.top??0),d=window.scrollY-Math.max(0,v.value-s),n=a.height+Math.max(v.value,s)-window.scrollY-window.innerHeight,c=parseFloat(getComputedStyle(r.value).getPropertyValue("--v-body-scroll-y"))||0;a.height<window.innerHeight-s?(t.value="top",v.value=s):w==="up"&&t.value==="bottom"||w==="down"&&t.value==="top"?(v.value=window.scrollY+a.top-c,t.value=!0):w==="down"&&n<=0?(v.value=0,t.value="bottom"):w==="up"&&d<=0&&(c?t.value!=="top"&&(v.value=-d+c+s,t.value="top"):(v.value=a.top+d,t.value="top")),y=window.scrollY}return{isStuck:t,stickyStyles:l}}const Xt=100,Ft=20;function ge(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function ye(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let r=0;for(let o=e.length-1;o>0;o--){if(e[o].t===e[o-1].t)continue;const u=ge(r),t=(e[o].d-e[o-1].d)/(e[o].t-e[o-1].t);r+=(t-u)*Math.abs(t),o===e.length-1&&(r*=.5)}return ge(r)*1e3}function jt(){const e={};function r(t){Array.from(t.changedTouches).forEach(v=>{(e[v.identifier]??(e[v.identifier]=new Ue(Ft))).push([t.timeStamp,v])})}function o(t){Array.from(t.changedTouches).forEach(v=>{delete e[v.identifier]})}function u(t){var w;const v=(w=e[t])==null?void 0:w.values().reverse();if(!v)throw new Error(`No samples for touch id ${t}`);const l=v[0],y=[],p=[];for(const a of v){if(l[0]-a[0]>Xt)break;y.push({t:a[0],d:a[1].clientX}),p.push({t:a[0],d:a[1].clientY})}return{x:ye(y),y:ye(p),get direction(){const{x:a,y:s}=this,[d,n]=[Math.abs(a),Math.abs(s)];return d>n&&a>=0?"right":d>n&&a<=0?"left":n>d&&s>=0?"down":n>d&&s<=0?"up":qt()}}}return{addMovement:r,endTouch:o,getVelocity:u}}function qt(){throw new Error}function Gt(e){let{el:r,isActive:o,isTemporary:u,width:t,touchless:v,position:l}=e;ee(()=>{window.addEventListener("touchstart",M,{passive:!0}),window.addEventListener("touchmove",B,{passive:!1}),window.addEventListener("touchend",W,{passive:!0})}),we(()=>{window.removeEventListener("touchstart",M),window.removeEventListener("touchmove",B),window.removeEventListener("touchend",W)});const y=V(()=>["left","right"].includes(l.value)),{addMovement:p,endTouch:w,getVelocity:a}=jt();let s=!1;const d=N(!1),n=N(0),c=N(0);let S;function D(f,g){return(l.value==="left"?f:l.value==="right"?document.documentElement.clientWidth-f:l.value==="top"?f:l.value==="bottom"?document.documentElement.clientHeight-f:X())-(g?t.value:0)}function H(f){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const _=l.value==="left"?(f-c.value)/t.value:l.value==="right"?(document.documentElement.clientWidth-f-c.value)/t.value:l.value==="top"?(f-c.value)/t.value:l.value==="bottom"?(document.documentElement.clientHeight-f-c.value)/t.value:X();return g?ze(_):_}function M(f){if(v.value)return;const g=f.changedTouches[0].clientX,_=f.changedTouches[0].clientY,b=25,x=l.value==="left"?g<b:l.value==="right"?g>document.documentElement.clientWidth-b:l.value==="top"?_<b:l.value==="bottom"?_>document.documentElement.clientHeight-b:X(),h=o.value&&(l.value==="left"?g<t.value:l.value==="right"?g>document.documentElement.clientWidth-t.value:l.value==="top"?_<t.value:l.value==="bottom"?_>document.documentElement.clientHeight-t.value:X());(x||h||o.value&&u.value)&&(S=[g,_],c.value=D(y.value?g:_,o.value),n.value=H(y.value?g:_),s=c.value>-20&&c.value<80,w(f),p(f))}function B(f){const g=f.changedTouches[0].clientX,_=f.changedTouches[0].clientY;if(s){if(!f.cancelable){s=!1;return}const x=Math.abs(g-S[0]),h=Math.abs(_-S[1]);(y.value?x>h&&x>3:h>x&&h>3)?(d.value=!0,s=!1):(y.value?h:x)>3&&(s=!1)}if(!d.value)return;f.preventDefault(),p(f);const b=H(y.value?g:_,!1);n.value=Math.max(0,Math.min(1,b)),b>1?c.value=D(y.value?g:_,!0):b<0&&(c.value=D(y.value?g:_,!1))}function W(f){if(s=!1,!d.value)return;p(f),d.value=!1;const g=a(f.changedTouches[0].identifier),_=Math.abs(g.x),b=Math.abs(g.y);(y.value?_>b&&_>400:b>_&&b>3)?o.value=g.direction===({left:"right",right:"left",top:"down",bottom:"up"}[l.value]||X()):o.value=n.value>.5}const U=V(()=>d.value?{transform:l.value==="left"?`translateX(calc(-100% + ${n.value*t.value}px))`:l.value==="right"?`translateX(calc(100% - ${n.value*t.value}px))`:l.value==="top"?`translateY(calc(-100% + ${n.value*t.value}px))`:l.value==="bottom"?`translateY(calc(100% - ${n.value*t.value}px))`:X(),transition:"none"}:void 0);return q(d,()=>{var _,b;const f=((_=r.value)==null?void 0:_.style.transform)??null,g=((b=r.value)==null?void 0:b.style.transition)??null;_e(()=>{var x,h,L,$;(h=r.value)==null||h.style.setProperty("transform",((x=U.value)==null?void 0:x.transform)||"none"),($=r.value)==null||$.style.setProperty("transition",((L=U.value)==null?void 0:L.transition)||null)}),be(()=>{var x,h;(x=r.value)==null||x.style.setProperty("transform",f),(h=r.value)==null||h.style.setProperty("transition",g)})}),{isDragging:d,dragProgress:n,dragStyles:U}}function X(){throw new Error}const Zt=["start","end","left","right","top","bottom"],Jt=xe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>Zt.includes(e)},sticky:Boolean,...ht(),...Pt(),...Lt(),...qe({mobile:null}),...ft(),...It(),...Me(),...Tt({tag:"nav"}),...Te()},"VNavigationDrawer"),Kt=ke()({name:"VNavigationDrawer",props:Jt(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,r){let{attrs:o,emit:u,slots:t}=r;const{isRtl:v}=We(),{themeClasses:l}=Ve(e),{borderClasses:y}=ct(e),{backgroundColorClasses:p,backgroundColorStyles:w}=me(()=>e.color),{elevationClasses:a}=vt(e),{displayClasses:s,mobile:d}=Xe(e),{roundedClasses:n}=Le(e),c=dt(),S=Se(e,"modelValue",null,T=>!!T),{ssrBootStyles:D}=Nt(),{scopeId:H}=Ae(),M=Y(),B=N(!1),{runOpenDelay:W,runCloseDelay:U}=Bt(e,T=>{B.value=T}),f=V(()=>e.rail&&e.expandOnHover&&B.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),g=V(()=>mt(e.location,v.value)),_=te(()=>e.persistent),b=V(()=>!e.permanent&&(d.value||e.temporary)),x=V(()=>e.sticky&&!b.value&&g.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{z(B,T=>u("update:rail",!T))}),q(()=>!e.disableResizeWatcher,()=>{z(b,T=>!e.permanent&&Ce(()=>S.value=!T))}),q(()=>!e.disableRouteWatcher&&!!c,()=>{z(c.currentRoute,()=>b.value&&(S.value=!1))}),z(()=>e.permanent,T=>{T&&(S.value=!0)}),e.modelValue==null&&!b.value&&(S.value=e.permanent||!d.value);const{isDragging:h,dragProgress:L}=Gt({el:M,isActive:S,isTemporary:b,width:f,touchless:te(()=>e.touchless),position:g}),$=V(()=>{const T=b.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):f.value;return h.value?T*L.value:T}),{layoutItemStyles:j,layoutItemScrimStyles:Ne}=Et({id:e.name,order:V(()=>parseInt(e.order,10)),position:g,layoutSize:$,elementSize:f,active:Fe(S),disableTransitions:te(()=>h.value),absolute:V(()=>e.absolute||x.value&&typeof le.value!="string")}),{isStuck:le,stickyStyles:De}=Wt({rootEl:M,isSticky:x,layoutItemStyles:j}),re=me(()=>typeof e.scrim=="string"?e.scrim:null),Re=V(()=>({...h.value?{opacity:L.value*.2,transition:"none"}:void 0,...Ne.value}));return je({VList:{bgColor:"transparent"}}),$e(()=>{const T=t.image||e.image;return P(E,null,[i(e.tag,J({ref:M,onMouseenter:W,onMouseleave:U,class:["v-navigation-drawer",`v-navigation-drawer--${g.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":B.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":b.value,"v-navigation-drawer--persistent":_.value,"v-navigation-drawer--active":S.value,"v-navigation-drawer--sticky":x.value},l.value,p.value,y.value,s.value,a.value,n.value,e.class],style:[w.value,j.value,D.value,De.value,e.style]},H,o),{default:()=>{var ie,se,ue;return[T&&P("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?i(Ie,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):i(Ee,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&P("div",{class:"v-navigation-drawer__prepend"},[(ie=t.prepend)==null?void 0:ie.call(t)]),P("div",{class:"v-navigation-drawer__content"},[(se=t.default)==null?void 0:se.call(t)]),t.append&&P("div",{class:"v-navigation-drawer__append"},[(ue=t.append)==null?void 0:ue.call(t)])]}}),i(pe,{name:"fade-transition"},{default:()=>[b.value&&(h.value||S.value)&&!!e.scrim&&P("div",J({class:["v-navigation-drawer__scrim",re.backgroundColorClasses.value],style:[Re.value,re.backgroundColorStyles.value],onClick:()=>{_.value||(S.value=!1)}},H),null)]})])}),{isStuck:le}}}),Qt={class:"d-flex align-center"},ea={__name:"NavBar",props:{color:{type:String,default:"primary"},menuItems:{type:Array,required:!1,default:null},logoRoute:{type:Object,default:null}},setup(e){const r=e,o=Pe(),u=ut(),t=Ge(),{menuLogoPath:v}=st(),l=Y(!1),y=Y(!0),p=V(()=>o.authUser),w=V(()=>o.isAuthenticated);function a(s){return w.value?(s.roles===void 0||s.roles.indexOf(p.value.role)!==-1)&&(s.condition===void 0||s.condition())&&s.activated!==!1:!1}return(s,d)=>(k(),C(Kt,{modelValue:y.value,"onUpdate:modelValue":d[2]||(d[2]=n=>y.value=n),rail:l.value,permanent:"",color:e.color,app:""},{default:m(()=>[P("div",Qt,[i(Ee,{src:O(v),"max-width":"190",class:"logo",onClick:d[0]||(d[0]=n=>O(t).push(r.logoRoute))},null,8,["src"]),i(Z,{icon:l.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:d[1]||(d[1]=Ze(n=>l.value=!l.value,["stop"]))},null,8,["icon"])]),i(oe,{density:O(u).compactLeftMenu?"compact":"default",lines:!O(u).compactLeftMenu,nav:""},{default:m(()=>[(k(!0),I(E,null,G(e.menuItems,n=>(k(),I(E,{key:n.text},[a(n)?(k(),I(E,{key:0},[n.subheader?(k(),C(Vt,{key:0,class:"text-white"},{default:m(()=>[F(R(n.text.toUpperCase()),1)]),_:2},1024)):n.action?(k(),C(A,{key:1,value:n,exact:n.exact,title:n.text,"prepend-icon":n.icon,onClick:n.action},null,8,["value","exact","title","prepend-icon","onClick"])):n.children?(k(),C(St,{key:3,value:n.text},{activator:m(({props:c})=>[(k(),C(A,J({ref_for:!0},c,{key:n.text,title:n.text,color:"white","prepend-icon":n.icon}),null,16,["title","prepend-icon"]))]),default:m(()=>[(k(!0),I(E,null,G(n.children,c=>(k(),I(E,{key:c.text},[a(c)?(k(),I(E,{key:0},[c.action?(k(),C(A,{key:0,title:c.text,value:c,"prepend-icon":c.icon,onClick:c.action},null,8,["title","value","prepend-icon","onClick"])):(k(),C(A,{key:1,to:c.to,link:"",title:c.text,value:c,"prepend-icon":c.icon},null,8,["to","title","value","prepend-icon"]))],64)):Q("",!0)],64))),128))]),_:2},1032,["value"])):(k(),C(A,{key:2,value:n,to:n.to,link:"",exact:n.exact,title:n.text,"prepend-icon":n.icon},null,8,["value","to","exact","title","prepend-icon"]))],64)):Q("",!0)],64))),128))]),_:1},8,["density","lines"])]),_:1},8,["modelValue","rail","color"]))}},ta=ne(ea,[["__scopeId","data-v-4deeb2f7"]]),aa={key:0,class:"top-menu"},oa={class:"text-center"},na={class:"mt-2"},la={class:"text-center"},ra={class:"text-h5"},ia={__name:"TopMenu",props:{user:{type:Object,default:null},remote:{type:Boolean,default:!1}},setup(e){const r=e,{$gettext:o}=Be(),u=Dt(),t=Y([]),v=V(()=>r.user.first_name&&r.user.last_name?`${r.user.first_name[0].toUpperCase()}${r.user.last_name[0].toUpperCase()}`:r.user.username?r.user.username.slice(0,2).toUpperCase():""),l=V(()=>[{text:o("Account"),icon:"mdi-account-circle-outline",to:r.remote?null:{name:"AccountSettings"},href:r.remote?"https://localhost:3000/account":"",click:()=>null},{text:o("Logout"),icon:"mdi-logout",click:y}]);async function y(){Je()._s.forEach(async p=>await p.$reset())}return ee(()=>{Ke.getAvailableApplications().then(p=>{t.value=p.data}),u.fetchNotifications()}),(p,w)=>e.user?(k(),I("div",aa,[O(u).activeNotifications?(k(),C(Z,{key:0,icon:"",color:"error",class:"mr-4",variant:"tonal",size:"small"},{default:m(()=>[i(K,{icon:"mdi-bell"}),i(ae,{activator:"parent",location:"bottom"},{default:m(()=>[i(oe,null,{default:m(()=>[P("div",oa,[i(A,{title:O(o)("Notifications")},null,8,["title"])]),i(ve),(k(!0),I(E,null,G(O(u).notifications,a=>(k(),C(A,{key:a.id,to:a.url},{prepend:m(()=>[i(Rt,{color:a.color,content:a.counter,inline:""},null,8,["color","content"])]),default:m(()=>[i(de,null,{default:m(()=>[F(R(a.text),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})]),_:1})):Q("",!0),i(Z,{icon:"",class:"mr-4",variant:"flat"},{default:m(()=>[i(K,{icon:"mdi-apps"}),i(ae,{activator:"parent",location:"bottom"},{default:m(()=>[i(he,{"min-width":"350","max-width":"400",class:"pa-4"},{default:m(()=>[i(Ot,{class:"justify-center"},{default:m(()=>[(k(!0),I(E,null,G(t.value,a=>(k(),C(Yt,{key:a.name,cols:"6"},{default:m(()=>[i(Ht,{rounded:"",class:"application text-center pa-4 text-body-2",onClick:s=>p.$router.push(a.url)},{default:m(()=>[i(K,{color:"primary",icon:a.icon,size:"x-large"},null,8,["icon"]),P("div",na,R(a.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),i(Z,{icon:"",flat:"",color:"primary"},{default:m(()=>[F(R(v.value)+" ",1),i(ae,{activator:"parent",location:"bottom"},{default:m(()=>[i(he,{"min-width":"300","max-width":"350"},{default:m(()=>[i(oe,null,{default:m(()=>[P("div",la,[i(gt,{color:"primary"},{default:m(()=>[P("span",ra,R(v.value),1)]),_:1}),i(A,{title:e.user.username},null,8,["title"])]),i(ve),(k(!0),I(E,null,G(l.value,a=>(k(),C(A,{key:a.text,to:a.to,href:a.href,link:"",onClick:a.click},{prepend:m(()=>[i(K,{icon:a.icon},null,8,["icon"])]),default:m(()=>[i(de,null,{default:m(()=>[F(R(a.text),1)]),_:2},1024)]),_:2},1032,["to","href","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})])):Q("",!0)}},sa=ne(ia,[["__scopeId","data-v-7bd1943d"]]),ua={getTheme(){return Qe.get("/theme/")}};function ca(e){const r=N(e());let o=-1;function u(){clearInterval(o)}function t(){u(),Ce(()=>r.value=e())}function v(l){const y=l?getComputedStyle(l):{transitionDuration:.2},p=parseFloat(y.transitionDuration)*1e3||200;if(u(),r.value<=0)return;const w=performance.now();o=window.setInterval(()=>{const a=performance.now()-w+p;r.value=Math.max(e()-a,0),r.value<=0&&u()},p)}return be(u),{clear:u,time:r,start:v,reset:t}}const va=xe({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...xt({location:"bottom"}),...kt(),...Me(),...bt(),...Te(),...at(Mt({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),da=ke()({name:"VSnackbar",props:va(),emits:{"update:modelValue":e=>!0},setup(e,r){let{slots:o}=r;const u=Se(e,"modelValue"),{positionClasses:t}=yt(e),{scopeId:v}=Ae(),{themeClasses:l}=Ve(e),{colorClasses:y,colorStyles:p,variantClasses:w}=pt(e),{roundedClasses:a}=Le(e),s=ca(()=>Number(e.timeout)),d=Y(),n=Y(),c=N(!1),S=N(0),D=Y(),H=et($t,void 0);q(()=>!!H,()=>{const h=At();_e(()=>{D.value=h.mainStyles.value})}),z(u,B),z(()=>e.timeout,B),ee(()=>{u.value&&B()});let M=-1;function B(){s.reset(),window.clearTimeout(M);const h=Number(e.timeout);if(!u.value||h===-1)return;const L=tt(n.value);s.start(L),M=window.setTimeout(()=>{u.value=!1},h)}function W(){s.reset(),window.clearTimeout(M)}function U(){c.value=!0,W()}function f(){c.value=!1,B()}function g(h){S.value=h.touches[0].clientY}function _(h){Math.abs(S.value-h.changedTouches[0].clientY)>50&&(u.value=!1)}function b(){c.value&&f()}const x=V(()=>e.location.split(" ").reduce((h,L)=>(h[`v-snackbar--${L}`]=!0,h),{}));return $e(()=>{const h=fe.filterProps(e),L=!!(o.default||o.text||e.text);return i(fe,J({ref:d,class:["v-snackbar",{"v-snackbar--active":u.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},x.value,t.value,e.class],style:[D.value,e.style]},h,{modelValue:u.value,"onUpdate:modelValue":$=>u.value=$,contentProps:J({class:["v-snackbar__wrapper",l.value,y.value,a.value,w.value],style:[p.value],onPointerenter:U,onPointerleave:f},h.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:g,onTouchend:_,onAfterLeave:b},v),{default:()=>{var $,j;return[wt(!1,"v-snackbar"),e.timer&&!c.value&&P("div",{key:"timer",class:"v-snackbar__timer"},[i(_t,{ref:n,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,"model-value":s.time.value},null)]),L&&P("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[(($=o.text)==null?void 0:$.call(o))??e.text,(j=o.default)==null?void 0:j.call(o)]),o.actions&&i(Ie,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[P("div",{class:"v-snackbar__actions"},[o.actions({isActive:u})])]})]},activator:o.activator})}),Ct({},d)}}),ma=2e3,Ma={__name:"ConnectedLayout",props:{color:{type:String,default:"primary"},menuItems:{type:Array,default:null},loadTheme:{type:Boolean,default:!0}},setup(e){const r=Pe(),o=ot(),{$gettext:u}=Be(),t=nt(),v=e,l=V(()=>r.authUser),y=V(()=>o.notificationColor),p=V(()=>o.notification),w=Y(!1);return o.$onAction(({name:a,after:s})=>{a==="displayNotification"&&s(()=>{w.value=!0})},!0),v.loadTheme&&ua.getTheme().then(a=>{a.data.theme_primary_color!==t.themes.value.light.colors.primary&&(t.themes.value.light.colors.primary=a.data.theme_primary_color),a.data.theme_primary_color_light!==t.themes.value.light.colors["primary-lighten-1"]&&(t.themes.value.light.colors["primary-lighten-1"]=a.data.theme_primary_color_light),a.data.theme_primary_color_dark!==t.themes.value.light.colors["primary-darken-1"]&&(t.themes.value.light.colors["primary-darken-1"]=a.data.theme_primary_color_dark),a.data.theme_secondary_color!==t.themes.value.light.colors.secondary&&(t.themes.value.light.colors.secondary=a.data.theme_secondary_color),a.data.theme_label_color!==t.themes.value.light.colors.label&&(t.themes.value.light.colors.label=a.data.theme_label_color)}),(a,s)=>(k(),C(it,null,{default:m(()=>[ce(a.$slots,"navbar",{},()=>[i(ta,{color:e.color,"menu-items":e.menuItems},null,8,["color","menu-items"])]),ce(a.$slots,"topbar",{},()=>[i(sa,{user:l.value},null,8,["user"])]),i(zt),i(da,{modelValue:w.value,"onUpdate:modelValue":s[1]||(s[1]=d=>w.value=d),color:y.value,timeout:ma,location:"top"},{actions:m(()=>[i(Z,{color:"white",text:"",onClick:s[0]||(s[0]=d=>w.value=!1)},{default:m(()=>[F(R(O(u)("Close")),1)]),_:1})]),default:m(()=>[F(R(p.value)+" ",1)]),_:1},8,["modelValue","color"])]),_:3}))}};export{Kt as V,Ma as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as _,j as h,c as p,o as c,w as o,a as l,e as t,t as a,_ as b,k as V,b as k,u as x,d as y,l as A,m as N,f as d,i as C}from"./index-LhNzkzAh.js";import{a as w}from"./admin-CHCHFGI6.js";import{V as v,a as $,b as D}from"./VCard-DzjUT5OP.js";import{V as S}from"./VTable-ldTxgQPW.js";import{V as T}from"./VDataTable-CL7yHvG7.js";import{p as B}from"./parameters-C8IYEP7q.js";import{V as M,a as W}from"./VToolbar-BxX3W2kR.js";import{V as F,a as g}from"./VRow-DJ0NB63-.js";import"./tag-3cfI1_f7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VInput-DVKUObZe.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VChip-CaQvfmkw.js";import"./filter-rmxrcjKk.js";/* empty css */const G={__name:"GlobalStatisticsWidget",async setup(f){let s,i;const e=_({}),n=([s,i]=h(()=>w.getStatistics()),s=await s,i(),s);return e.value=n.data,(r,u)=>(c(),p($,{title:r.$gettext("Statistics")},{default:o(()=>[l(v,null,{default:o(()=>[l(S,null,{default:o(()=>[t("tbody",null,[t("tr",null,[t("td",null,a(r.$gettext("Domain count")),1),t("td",null,a(e.value.domain_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Domain alias count")),1),t("td",null,a(e.value.domain_alias_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Account count")),1),t("td",null,a(e.value.account_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Alias count")),1),t("td",null,a(e.value.alias_count),1)])])]),_:1})]),_:1})]),_:1},8,["title"]))}},I=["href"],j={href:"https://modoboa.org/weblog/",target:"_blank"},E={__name:"NewsFeedWidget",async setup(f){let s,i;const e=_([]),n=[{title:"",key:"title"},{title:"",key:"published",align:"end"}],r=([s,i]=h(()=>w.getNewsFeed()),s=await s,i(),s);return e.value=r.data,(u,L)=>(c(),p($,{title:u.$gettext("Latest news")},{default:o(()=>[l(v,null,{default:o(()=>[l(T,{headers:n,items:e.value,"hide-default-header":"","hide-default-footer":""},{"item.title":o(({item:m})=>[t("a",{href:m.link,target:"_blank"},a(m.title),9,I)]),"item.published":o(({item:m})=>[V(a(u.$date(m.published)),1)]),_:2},1032,["items"])]),_:1}),l(D,{class:"justify-center"},{default:o(()=>[t("div",null,[t("a",j,a(u.$gettext("Visit the official weblog for more information")),1)])]),_:1})]),_:1},8,["title"]))}},R=b(E,[["__scopeId","data-v-e0975b37"]]),U={__name:"DashboardView",setup(f){const{$gettext:s}=k(),i=x(),e=_("");return y(async()=>{const n=await B.getGlobalApplication("core");n.data.params.custom_welcome_message?e.value=n.data.params.custom_welcome_message:e.value=s("Welcome to Modoboa")}),(n,r)=>(c(),A("div",null,[l(M,{flat:""},{default:o(()=>[l(W,null,{default:o(()=>[V(a(e.value),1)]),_:1})]),_:1}),l(F,null,{default:o(()=>[l(g,{sm:"12",md:"6"},{default:o(()=>[l(d(R)),d(i).authUser.role===d(C).SUPER_ADMIN?(c(),p(d(G),{key:0,class:"mt-4"})):N("",!0)]),_:1}),l(g,{sm:"12",md:"6"})]),_:1})]))}},dt=b(U,[["__scopeId","data-v-24210b96"]]);export{dt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as U}from"./domains-C2cornvL.js";import{b as O,n as ae,g as m,h as L,d as te,c as w,o as V,w as l,a as t,p as Ve,e as D,t as v,f as r,m as M,k as x,q as me,l as I,F as ue,_ as de,s as be,v as P,r as ge,x as ke}from"./index-LhNzkzAh.js";import{u as pe}from"./permissions-DQjAcO9S.js";import{V as ce,r as X}from"./VForm-DsRLc-sa.js";import{c as xe,V as we,b as De,a as fe}from"./VCard-DzjUT5OP.js";import{V as le}from"./VTextField-DKbr4H5w.js";import{V as Ce}from"./VSelect-CxCFMHyF.js";import{V as J}from"./VSwitch-DPnjPQuU.js";import{V as he}from"./VSpacer-CoJVmx8k.js";import{V as $,a as ne}from"./VAvatar-DbuoZWmf.js";import{p as Ae}from"./parameters-C8IYEP7q.js";import{_ as $e}from"./CreationForm-CW4lxnPg.js";import{_ as Se,a as Ne,b as Ue,c as Fe}from"./DomainTransportForm-NCz6Bl-h.js";import{_ as qe}from"./AccountPasswordSubForm-YsaE_cDx.js";import{a as E,V as ie}from"./VRow-DJ0NB63-.js";import{_ as Le,a as Te}from"./DomainAdminList-C3jcDDc3.js";import{_ as Ee}from"./ConfirmDialog-CcPrCKuI.js";import{V as Z}from"./VChip-CaQvfmkw.js";import{_ as Ie}from"./MenuItems-BqIZW5av.js";import{V as ee}from"./VMenu-nv0XOgg0.js";import{V as Oe}from"./VBadge-Bv2nvUmC.js";import{V as ve,a as Re}from"./VToolbar-BxX3W2kR.js";import{V as _e,a as se,b as re}from"./forwardRefs-CpzzjgpX.js";import{V as Me}from"./VDataTable-CL7yHvG7.js";import{V as ze}from"./VCheckbox-dr7UFjl4.js";import{V as R}from"./VDialog-DmTGCGR0.js";import{_ as Be,i as Pe}from"./importExport-C3uqrcok.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";/* empty css */import"./logos-Bvcy0usu.js";import"./VWindowItem-Cvqvdegd.js";import"./ssrBoot-BxIQ9ccA.js";import"./VContainer-74Dnn8Ux.js";import"./VSheet-DI6SxLnG.js";import"./ChoiceField-DnwXRkht.js";import"./transports-D4Jk4-AP.js";import"./VAutocomplete-DNKmBvyZ.js";import"./filter-rmxrcjKk.js";import"./accounts-CC2F0a0c.js";import"./VAlert-4r6LxKtg.js";import"./VDataTableVirtual--KsOP8i6.js";import"./VTable-ldTxgQPW.js";import"./VFileInput-SULIc6F3.js";const Je={class:"headline"},je={class:"m-label"},Ge={class:"m-label"},ye={__name:"DomainAliasForm",props:{domainAlias:{type:Object,default:()=>null}},emits:["close"],setup(S,{emit:b}){const{$gettext:e}=O(),c=b,{displayNotification:k}=ae(),_=S,h=m([]),a=m({enabled:!0}),u=m(!1),A=m(),C=L(()=>_.domainAlias?e("Update"):e("Add")),f=L(()=>_.domainAlias?e("Edit domain alias"):e("Add a new domain alias"));async function y(){u.value=!0;try{await U.deleteDomainAlias(_.domainAlias.pk),k({msg:e("Domain alias deleted")}),c("close")}finally{u.value=!1}}async function N(){const{valid:g}=await A.value.validate();if(g){u.value=!0;try{if(!a.value.pk)await U.createDomainAlias(a.value),k({msg:e("Domain alias created")});else{const s=JSON.parse(JSON.stringify(a.value));await U.updateDomainAlias(_.domainAlias.pk,s),k({msg:e("Domain alias updated")})}c("close")}finally{u.value=!1}}}return te(()=>{U.getDomains().then(g=>{h.value=g.data}),_.domainAlias&&(a.value=JSON.parse(JSON.stringify(_.domainAlias)))}),(g,s)=>(V(),w(fe,null,{default:l(()=>[t(ce,{ref_key:"vFormRef",ref:A,onSubmit:Ve(N,["prevent"])},{default:l(()=>[t(xe,null,{default:l(()=>[D("span",Je,v(f.value),1)]),_:1}),t(we,null,{default:l(()=>[D("label",je,v(r(e)("Name")),1),t(le,{modelValue:a.value.name,"onUpdate:modelValue":s[0]||(s[0]=d=>a.value.name=d),variant:"outlined",density:"compact",rules:[r(X).required]},null,8,["modelValue","rules"]),D("label",Ge,v(r(e)("Choose a domain")),1),t(Ce,{modelValue:a.value.target,"onUpdate:modelValue":s[1]||(s[1]=d=>a.value.target=d),items:h.value,"item-title":"name","item-value":"pk",rules:[r(X).required],"single-line":"",variant:"outlined",density:"compact"},null,8,["modelValue","items","rules"]),t(J,{modelValue:a.value.enabled,"onUpdate:modelValue":s[2]||(s[2]=d=>a.value.enabled=d),label:"Enabled",color:"primary"},null,8,["modelValue"])]),_:1}),t(De,null,{default:l(()=>[t(he),t($,{loading:u.value,onClick:s[3]||(s[3]=d=>c("close"))},{default:l(()=>[x(v(r(e)("Close")),1)]),_:1},8,["loading"]),S.domainAlias&&S.domainAlias.pk?(V(),w($,{key:0,color:"error",loading:u.value,onClick:y},{default:l(()=>[x(v(r(e)("Delete")),1)]),_:1},8,["loading"])):M("",!0),t($,{color:"primary",type:"submit",loading:u.value},{default:l(()=>[x(v(C.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},We={__name:"DomainOptionsForm",props:{modelValue:{type:Object,default:null}},emits:["createAdmin"],setup(S,{expose:b,emit:e}){const{$gettext:c}=O(),k=S,_=e,h=m(),a=m(!1),u=L(()=>k.modelValue);function A(C){_("createAdmin",C)}return b({vFormRef:h}),(C,f)=>(V(),w(ce,{ref_key:"vFormRef",ref:h},{default:l(()=>[t(J,{modelValue:a.value,"onUpdate:modelValue":[f[0]||(f[0]=y=>a.value=y),A],label:r(c)("Create a domain administrator"),color:"primary"},null,8,["modelValue","label"]),t(le,{modelValue:u.value.domain_admin.username,"onUpdate:modelValue":f[1]||(f[1]=y=>u.value.domain_admin.username=y),label:r(c)("Name"),hint:r(c)("Name of the administrator"),"persistent-hint":"",variant:"outlined",disabled:!a.value,suffix:`@${u.value.name}`,rules:[!a.value||r(X).required]},null,8,["modelValue","label","hint","disabled","suffix","rules"]),t(qe,{modelValue:u.value.domain_admin,"onUpdate:modelValue":f[2]||(f[2]=y=>u.value.domain_admin=y),disabled:!a.value},null,8,["modelValue","disabled"]),t(J,{modelValue:u.value.domain_admin.with_mailbox,"onUpdate:modelValue":f[3]||(f[3]=y=>u.value.domain_admin.with_mailbox=y),label:r(c)("With a mailbox"),disabled:!a.value,hint:r(c)("Create a mailbox for the administrator."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"]),t(J,{modelValue:u.value.domain_admin.with_aliases,"onUpdate:modelValue":f[4]||(f[4]=y=>u.value.domain_admin.with_aliases=y),label:r(c)("Create aliases"),disabled:!a.value,hint:r(c)("Create standard aliases for the domain."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"])]),_:1},512))}},Ke={class:"text-grey"},Qe={__name:"DomainCreationForm",emits:["close","created"],setup(S,{emit:b}){const{$gettext:e}=O(),c=ae(),k=me(),_=b,a=m({name:"",type:"domain",enabled:!0,enable_dns_checks:!0,enable_dkim:!1,dkim_key_selector:"modoboa",quota:0,default_mailbox_quota:0,domain_admin:{username:"admin",random_password:!1,with_mailbox:!1,with_aliases:!1},transport:{settings:{}}});te(()=>{Ae.getGlobalApplication("admin").then(i=>{const o=i.data.params;a.value.quota=o.default_domain_quota,a.value.default_mailbox_quota=o.default_mailbox_quota,o.default_domain_message_limit!==null&&(a.value.message_limit=o.default_domain_message_limit)})});const u=m(!1),A=m(),C=m(),f=m(),y=m(),N=m(),g=m(),s={general:C,dns:f,limitations:y,options:N,transport:g},d=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"options",title:e("Options")}],z=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"transport",title:e("Transport")}],j=L(()=>a.value.type==="domain"?d:z),T=L(()=>{const i=[{title:e("General"),items:[{key:e("Name"),value:a.value.name},{key:e("Type"),value:a.value.type},{key:e("Enabled"),value:a.value.enabled,type:"yesno"}]},{title:e("DNS"),items:[{key:e("Enable DNS checks"),value:a.value.enable_dns_checks,type:"yesno"},{key:e("Enable DKIM signing"),value:a.value.enable_dkim,type:"yesno"}]},{title:e("Limitations"),items:[{key:e("Quota"),value:a.value.quota},{key:e("Default mailbox quota"),value:a.value.default_mailbox_quota},{key:e("Message sending limit"),value:a.value.message_limit}]}];if(a.value.enable_dkim&&(i[1].items.push({key:e("DKIM key selector"),value:a.value.dkim_key_selector}),i[1].items.push({key:e("DKIM key length"),value:a.value.dkim_key_length})),a.value.type==="relaydomain"&&a.value.transport.service){const o={title:e("Transport"),items:[{key:e("Service"),value:a.value.transport.service}]};for(const p of g.value.service.settings){const n={key:p.label,value:a.value.transport.settings[`${a.value.transport.service}_${p.name}`]};p.type==="boolean"&&(n.type="yesno"),o.items.push(n)}i.push(o)}else if(a.value.type==="domain"){const o={title:e("Options"),items:[{key:e("Create a domain administrator"),value:u.value,type:"yesno"}]};u.value&&o.items.push({key:e("Administrator name"),value:a.value.domain_admin.username},{name:"random_password",key:e("Random password"),value:a.value.domain_admin.random_password,type:"yesno"},{key:e("With mailbox"),value:a.value.domain_admin.with_mailbox,type:"yesno"},{key:e("Create aliases"),value:a.value.domain_admin.with_aliases,type:"yesno"}),i.push(o)}return i});function B(){_("close")}function G(){navigator.clipboard.writeText(a.value.domain_admin.password).then(()=>{c.displayNotification({msg:e("Password copied to clipboard")})})}function W(i){return s.value[i.name]}function K(i){return s[i.name].value.vFormRef}async function Q(){}function H(i){u.value=i}async function Y(){const i=JSON.parse(JSON.stringify(a.value));u.value||delete i.domain_admin,i.message_limit===""&&delete i.message_limit,i.type==="relaydomain"?g.value.checkSettingTypes(i):delete i.transport;try{const o=await U.createDomain(i);k.push({name:"DomainDetail",params:{id:o.data.pk}}),c.displayNotification({msg:e("Domain created")}),B()}finally{A.value.working=!1}}return(i,o)=>(V(),w($e,{ref_key:"form",ref:A,title:r(e)("New domain"),steps:j.value,"form-getter":W,"get-v-form-ref":K,"validate-object":Q,"summary-sections":T.value,onClose:B,onCreate:Y},{"form.general":l(()=>[t(Fe,{ref_key:"general",ref:C,modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=p=>a.value=p),class:"ml-4"},null,8,["modelValue"])]),"form.dns":l(()=>[t(Ue,{ref_key:"dns",ref:f,modelValue:a.value,"onUpdate:modelValue":o[1]||(o[1]=p=>a.value=p),class:"ml-4"},null,8,["modelValue"])]),"form.limitations":l(()=>[t(Ne,{ref_key:"limitations",ref:y,modelValue:a.value,"onUpdate:modelValue":o[2]||(o[2]=p=>a.value=p),class:"ml-4"},null,8,["modelValue"])]),"form.options":l(()=>[t(We,{ref_key:"options",ref:N,modelValue:a.value,"onUpdate:modelValue":o[3]||(o[3]=p=>a.value=p),class:"ml-4",onCreateAdmin:H},null,8,["modelValue"])]),"form.transport":l(()=>[t(Se,{ref_key:"transport",ref:g,modelValue:a.value.transport,"onUpdate:modelValue":o[4]||(o[4]=p=>a.value.transport=p),class:"ml-4"},null,8,["modelValue"])]),"item.random_password":l(({item:p})=>[p.value?(V(),w(E,{key:0,cols:"12",class:"highligth text-white"},{default:l(()=>[t(ie,null,{default:l(()=>[t(E,null,{default:l(()=>[D("span",null,v(p.key),1)]),_:2},1024),t(E,{class:"text-right"},{default:l(()=>[x(v(i.$yesno(p.value)),1)]),_:2},1024)]),_:2},1024),t(ie,null,{default:l(()=>[t(E,{class:"text-right py-1"},{default:l(()=>[x(v(a.value.domain_admin.password)+" ",1),t($,{icon:"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:r(e)("Copy to clipboard"),onClick:G},null,8,["title"])]),_:1})]),_:1})]),_:2},1024)):(V(),I(ue,{key:1},[t(E,null,{default:l(()=>[D("span",Ke,v(p.key),1)]),_:2},1024),t(E,{class:"text-right"},{default:l(()=>[x(v(i.$yesno(p.value)),1)]),_:2},1024)],64))]),_:2},1032,["title","steps","summary-sections"]))}},He={__name:"DNSStatusChip",props:{status:{type:String,default:"pending"}},setup(S){const b=S,{$gettext:e}=O(),c=L(()=>b.status==="disabled"?e("Disabled"):b.status==="pending"?e("Pending"):b.status==="critical"?e("Problem"):b.status==="ok"?e("Valid"):e("Unknown")),k=L(()=>b.status==="disabled"?"":b.status==="pending"?"info":b.status==="critical"?"error":b.status==="ok"?"success":"warning");return(_,h)=>(V(),w(Z,{color:k.value,size:"small"},{default:l(()=>[x(v(c.value),1)]),_:1},8,["color"]))}},Ye={key:1},Xe={key:1},Ze={class:"text-right"},ea={class:"grey lighten-4"},aa=["colspan"],ta={__name:"DomainList",setup(S,{expose:b}){const{$gettext:e}=O(),c=me(),{canSetRole:k}=pe(),_=ae(),h=[{title:e("Name"),key:"name"},{title:e("Enabled"),key:"enabled",width:"5%"},{title:e("Aliases"),key:"data-table-expand",width:"10%"},{title:e("DNS status"),key:"dns_global_status",sortable:!1},{title:e("Sending limit"),key:"message_limit"},{title:e("Quota"),key:"allocated_quota_in_percent"}];k.value&&h.push({title:e("Actions"),value:"actions",sortable:!1,align:"end"});const a=m({}),u=m(),A=m([]),C=m(!1),f=m(!1),y=m(null),N=m(null),g=m(!1),s=m(!1),d=m(""),z=m([]),j=m([]);async function T(){a.value={},f.value=!0;try{const i=await U.getDomains();A.value=i.data}finally{f.value=!1}}function B(){s.value=!1,y.value=null,N.value=null}async function G(i){if(await u.value.open(e("Warning"),e("Do you really want to delete the domain %{ domain }?",{domain:i.name}),{color:"error",cancelLabel:e("No"),agreeLabel:e("Yes")})){f.value=!0;try{const p={keep_folder:C.value};await U.deleteDomain(i.pk,p),T(),_.displayNotification({msg:e("Domain deleted")}),C.value=!1}finally{f.value=!1}}}function W(i){c.push({name:"DomainEdit",params:{id:i.pk}})}function K(i,o){y.value=i,N.value=o,s.value=!0}async function Q(i,o,p,n){if(!p(o)){const q=await U.getDomainAliases(i.name);a.value[i.name]=q.data}}function H(i){y.value=i,g.value=!0}function Y(i){const o=[{label:e("Administrators"),icon:"mdi-account-supervisor",onClick:H},{label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:W},{label:e("Delete"),icon:"mdi-delete-outline",onClick:G,color:"red"}];return i.opened_alarms_count&&o.push({label:e("Alarms"),icon:"mdi-bell",color:"red",onClick:()=>c.push({name:"Alarms"})}),o}return te(()=>{T()}),b({reloadDomains:T}),(i,o)=>{const p=ge("router-link");return V(),w(fe,{class:"mt-6"},{default:l(()=>[t(Me,{modelValue:z.value,"onUpdate:modelValue":o[1]||(o[1]=n=>z.value=n),expanded:j.value,headers:h,items:A.value,"item-value":"pk",search:d.value,"show-select":"","expand-on-click":"",loading:f.value},{top:l(()=>[t(ve,{color:"white",flat:""},{default:l(()=>[t(le,{modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=n=>d.value=n),"prepend-inner-icon":"mdi-magnify",placeholder:r(e)("Search"),variant:"outlined","single-line":"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),ke(i.$slots,"extraActions",{},void 0,!0),t(ee,{location:"bottom"},{activator:l(({props:n})=>[t($,P({variant:"flat","append-icon":"mdi-chevron-down"},n,{size:"small"}),{default:l(()=>[x(v(r(e)("Actions")),1)]),_:2},1040)]),default:l(()=>[t(_e,{density:"compact"})]),_:1}),t($,{variant:"text",icon:"mdi-reload",onClick:T})]),_:3})]),"item.name":l(({item:n})=>[t(p,{to:{name:"DomainDetail",params:{id:n.pk}}},{default:l(()=>[x(v(n.name),1)]),_:2},1032,["to"]),n.type==="relaydomain"?(V(),w(Z,{key:0,size:"small",color:"primary",class:"ml-2"},{default:l(()=>[x(v(r(e)("Relay")),1)]),_:1})):M("",!0)]),"item.enabled":l(({item:n})=>[t(Le,{value:n.enabled},null,8,["value"])]),"item.data-table-expand":l(({item:n,internalItem:F,isExpanded:q,toggleExpand:oe})=>[x(v(n.domainalias_count)+" aliases ",1),n.domainalias_count?(V(),w($,{key:0,variant:"text",size:"small",icon:q(F)?"mdi-chevron-up":"mdi-chevron-down",onClick:na=>Q(n,F,q,oe)},null,8,["icon","onClick"])):M("",!0)]),"item.dns_global_status":l(({item:n})=>[t(He,{status:n.dns_global_status},null,8,["status"])]),"item.message_limit":l(({item:n})=>[n.message_limit?(V(),w(ne,{key:0,color:n.sent_messages_in_percent<80?"primary":"warning","model-value":n.sent_messages_in_percent},null,8,["color","model-value"])):(V(),I("span",Ye,v(r(e)("Unlimited")),1))]),"item.allocated_quota_in_percent":l(({item:n})=>[n.quota!=="0"?(V(),w(ne,{key:0,color:n.allocated_quota_in_percent<80?"primary":"warning","model-value":n.allocated_quota_in_percent},null,8,["color","model-value"])):(V(),I("span",Xe,v(r(e)("Unlimited")),1))]),"item.actions":l(({item:n})=>[D("div",Ze,[t(ee,{"offset-y":""},{activator:l(({props:F})=>[n.opened_alarms_count?(V(),w(Oe,{key:0,bordered:"",color:"error",icon:"mdi-bell",overlap:""},{default:l(()=>[t($,P({icon:"mdi-dots-horizontal",variant:"text"},F),null,16)]),_:2},1024)):(V(),w($,P({key:1,icon:"mdi-dots-horizontal",variant:"text"},F),null,16))]),default:l(()=>[t(Ie,{items:Y(n),obj:n},null,8,["items","obj"])]),_:2},1024)])]),"expanded-row":l(({item:n,columns:F})=>[D("tr",ea,[D("td",{colspan:F.length},[(V(!0),I(ue,null,be(a.value[n.name],q=>(V(),I("span",{key:q.name,class:"mr-4"},[t(Z,{class:"mr-2",onClick:oe=>K(n,q)},{default:l(()=>[x(v(q.name),1)]),_:2},1032,["onClick"])]))),128))],8,aa)])]),_:2},1032,["modelValue","expanded","items","search","loading"]),t(Ee,{ref_key:"confirm",ref:u},{default:l(()=>[t(ze,{modelValue:C.value,"onUpdate:modelValue":o[2]||(o[2]=n=>C.value=n),label:r(e)("Do not delete domain folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),t(R,{modelValue:s.value,"onUpdate:modelValue":o[3]||(o[3]=n=>s.value=n),persistent:"","max-width":"800px"},{default:l(()=>[t(ye,{"domain-alias":N.value,onClose:B},null,8,["domain-alias"])]),_:1},8,["modelValue"]),t(R,{modelValue:g.value,"onUpdate:modelValue":o[5]||(o[5]=n=>g.value=n),persistent:"","max-width":"800px"},{default:l(()=>[t(Te,{domain:y.value,"dialog-mode":"",onClose:o[4]||(o[4]=n=>g.value=!1)},null,8,["domain"])]),_:1},8,["modelValue"])]),_:3})}}},la=de(ta,[["__scopeId","data-v-e52ea065"]]),oa={__name:"DomainsView",setup(S){const b=m(),e=m(!1),c=m(!1),k=m(!1),{$gettext:_}=O(),{canAddDomain:h}=pe(),a=m(),{importContent:u,exportContent:A}=Pe();function C(){U.exportAll().then(g=>{A(g.data,"domains",_)})}function f(g){u(U,g,a,_)}const y=()=>{e.value=!1,b.value.reloadDomains()},N=()=>{k.value=!1,b.value.reloadDomains()};return(g,s)=>(V(),I("div",null,[t(ve,{flat:""},{default:l(()=>[t(Re,null,{default:l(()=>[x(v(r(_)("Domains")),1)]),_:1})]),_:1}),t(r(la),{ref_key:"domainList",ref:b},{extraActions:l(()=>[r(h)?(V(),w(ee,{key:0,"offset-y":""},{activator:l(({props:d})=>[t($,P({color:"primary",variant:"outlined"},d,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:l(()=>[x(v(g.$pgettext("male","New")),1)]),_:2},1040)]),default:l(()=>[t(_e,{density:"compact"},{default:l(()=>[t(se,{onClick:s[0]||(s[0]=d=>c.value=!0)},{default:l(()=>[t(re,null,{default:l(()=>[x(v(r(_)("Domain")),1)]),_:1})]),_:1}),t(se,{onClick:s[1]||(s[1]=d=>e.value=!0)},{default:l(()=>[t(re,null,{default:l(()=>[x(v(r(_)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1})):M("",!0),r(h)?(V(),w($,{key:1,class:"mr-2",title:r(_)("Import domains and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:s[2]||(s[2]=d=>k.value=!0)},null,8,["title"])):M("",!0),t($,{class:"mr-2",title:r(_)("Export domains and aliases to CSV"),variant:"flat",icon:"mdi-file-export-outline",onClick:C},null,8,["title"])]),_:1},512),t(R,{modelValue:c.value,"onUpdate:modelValue":s[4]||(s[4]=d=>c.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:l(()=>[t(r(Qe),{onClose:s[3]||(s[3]=d=>c.value=!1)})]),_:1},8,["modelValue"]),t(R,{modelValue:e.value,"onUpdate:modelValue":s[6]||(s[6]=d=>e.value=d),persistent:"","max-width":"800px"},{default:l(()=>[t(r(ye),{onClose:s[5]||(s[5]=d=>y())})]),_:1},8,["modelValue"]),t(R,{modelValue:k.value,"onUpdate:modelValue":s[7]||(s[7]=d=>k.value=d),persistent:"","max-width":"800px"},{default:l(()=>[t(r(Be),{ref_key:"importForm",ref:a,title:r(_)("Import domains"),onSubmit:f,onClose:N},{help:l(()=>s[8]||(s[8]=[D("ul",null,[D("li",null,[D("em",null,"domain; name; quota; default mailbox quota; enabled")]),D("li",null,[D("em",null,"domainalias; name; targeted domain; enabled")]),D("li",null,[D("em",null,"relaydomain; name; target host; target port; service; enabled; verify recipients")])],-1)])),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},Za=de(oa,[["__scopeId","data-v-de80aa3f"]]);export{Za as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.highligth{background-color:#515d78}.v-text-field--outlined[data-v-e52ea065] fieldset{border-color:#bfc5d2}.v-input--checkbox[data-v-e52ea065] .v-label{font-size:.875rem!important}a[data-v-e52ea065]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-e52ea065]:visited{color:rgb(var(--v-theme-primary))}.v-toolbar[data-v-de80aa3f],.v-tabs-items[data-v-de80aa3f]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{V as s,a as c}from"./VApp-CX_C7AUN.js";import{r as m,c as t,o as e,w as o,a as r}from"./index-LhNzkzAh.js";import"./tag-3cfI1_f7.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";const u={__name:"EmptyView",setup(a){return(_,n)=>{const p=m("router-view");return e(),t(s,null,{default:o(()=>[r(p)]),_:1})}}},d={__name:"EmptyLayout",setup(a){return(_,n)=>(e(),t(c,null,{default:o(()=>[r(u)]),_:1}))}};export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as i,B as m,c as p,f as a,o as e}from"./index-LhNzkzAh.js";import{_ as n}from"./ComposeEmailForm-kghmfNuE.js";import{a as l}from"./webmail-B2IUjaxM.js";import"./index-DuzUMVLM.js";import"./VForm-DsRLc-sa.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VCard-DzjUT5OP.js";import"./VFileInput-SULIc6F3.js";import"./VTextField-DKbr4H5w.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./HtmlEditor-BWRdelVw.js";import"./VTextarea-BttkFsM4.js";import"./contacts-Dxz6eWpf.js";import"./VToolbar-BxX3W2kR.js";import"./VRow-DJ0NB63-.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./filter-rmxrcjKk.js";import"./VDialog-DmTGCGR0.js";const L={__name:"ForwardEmailView",setup(s){const o=m(),r=i();return l.getEmailContent(o.query.mailbox,o.query.mailid,{context:"forward"}).then(t=>{r.value=t.data}),(t,c)=>(e(),p(a(n),{"original-email":r.value},null,8,["original-email"]))}};export{L as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a[data-v-7c25d4c7]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-7c25d4c7]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-c34f0ee8],.v-tabs-items[data-v-c34f0ee8]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as X,H as ie,A as Ee,c as F,o as v,w as t,a as l,l as U,F as T,s as Le,k as _,t as p,_ as fe,b as J,n as oe,g as r,h as z,d as Ne,m as Y,v as ae,f,r as qe,x as De,q as ve,i as Z,e as P}from"./index-LhNzkzAh.js";import{_ as ne}from"./MenuItems-BqIZW5av.js";import{_ as se}from"./ConfirmDialog-CcPrCKuI.js";import{V as Te,b as je,a as ye}from"./VCard-DzjUT5OP.js";import{V as _e}from"./VCheckbox-dr7UFjl4.js";import{V as Me}from"./VSpacer-CoJVmx8k.js";import{V as q,c as ee,a as re}from"./VAvatar-DbuoZWmf.js";import{a as G}from"./accounts-CC2F0a0c.js";import{a as H}from"./aliases-C9bUD4Ws.js";import{d as Pe}from"./index-DuzUMVLM.js";import{V as le}from"./VMenu-nv0XOgg0.js";import{V as ze}from"./VChip-CaQvfmkw.js";import{V as be,a as Oe}from"./VToolbar-BxX3W2kR.js";import{V as Be}from"./VTextField-DKbr4H5w.js";import{V as ge,a as ue,b as de}from"./forwardRefs-CpzzjgpX.js";import{a as We,V as me}from"./VRadioGroup-CbiPLy0t.js";import{V as Ge}from"./VDataTableServer-BqvNcIdw.js";import{V as Q}from"./VDialog-DmTGCGR0.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-IehUzKok.js";import{_ as ke}from"./CreationForm-CW4lxnPg.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-C0oHHyZL.js";import{u as Ze}from"./permissions-DQjAcO9S.js";import{a as W,V as ce}from"./VRow-DJ0NB63-.js";import{u as et}from"./domains.store-BLKRipG8.js";import{_ as tt,i as at}from"./importExport-C3uqrcok.js";import{V as lt}from"./VSwitch-DPnjPQuU.js";import"./tag-3cfI1_f7.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VInput-DVKUObZe.js";/* empty css */import"./ssrBoot-BxIQ9ccA.js";import"./VDataTable-CL7yHvG7.js";import"./VSelect-CxCFMHyF.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";import"./EmailField-DeqDPm5j.js";import"./VForm-DsRLc-sa.js";import"./domains-C2cornvL.js";import"./VTextarea-BttkFsM4.js";import"./logos-Bvcy0usu.js";import"./VWindowItem-Cvqvdegd.js";import"./VContainer-74Dnn8Ux.js";import"./VSheet-DI6SxLnG.js";import"./ChoiceField-DnwXRkht.js";import"./VAlert-4r6LxKtg.js";import"./AccountPasswordSubForm-YsaE_cDx.js";import"./VFileInput-SULIc6F3.js";const te="identities",pe={getAll(){return X.get(`${te}/`)},exportAll(){return X.get(`/${te}/export/`)},importFromCSV(D){return X.post(`/${te}/import/`,D,{headers:{"Content-Type":"multipart/form-data"}})}},ot={__name:"ChooseColumnsForm",props:ie({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:ie(["apply"],["update:modelValue"]),setup(D,{emit:V}){const e=D,R=Ee(D,"modelValue"),S=V,C=()=>{S("apply",R.value)};return R.value=e.columns.map(x=>x.key),(x,g)=>(v(),F(ye,{title:x.$gettext("Choose columns to display")},{default:t(()=>[l(Te,null,{default:t(()=>[(v(!0),U(T,null,Le(e.availableColumns,A=>(v(),U("div",{key:A.key},[l(_e,{modelValue:R.value,"onUpdate:modelValue":g[0]||(g[0]=h=>R.value=h),value:A.key,label:A.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes(A.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),l(je,null,{default:t(()=>[l(Me),l(q,{color:"primary",variant:"outlined",onClick:C},{default:t(()=>[_(p(x.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},it={key:1},nt={key:1},st={__name:"IdentityList",setup(D,{expose:V}){const{$gettext:e}=J(),R=ve(),{displayNotification:S}=oe(),C={address:{title:e("Address"),key:"address"},enabled:{title:e("Enabled"),key:"enabled"},recipients:{title:e("Recipients"),key:"recipients"},expire_at:{title:e("Expire at"),key:"expire_at"},description:{title:e("Description"),key:"description"},creation:{title:e("Creation date"),key:"creation"},last_modification:{title:e("Last modification"),key:"last_modification"}},x=[C.address,C.enabled,C.recipients],g={username:{title:e("Name"),key:"username"},first_name:{title:e("First name"),key:"first_name"},last_name:{title:e("Last Name"),key:"last_name"},is_active:{title:e("Enabled"),key:"is_active"},role:{title:e("Role"),key:"role"},quota:{title:e("Quota"),key:"quota_usage"},message_limit:{title:e("Message limit"),key:"sent_messages_in_percent"},language:{title:e("Language"),key:"language"},phone_number:{title:e("Phone number"),key:"phone_number"},secondary_email:{title:e("Secondary email"),key:"secondary_email"},tfa_enabled:{title:e("TFA enabled"),key:"tfa_enabled"},totp_enabled:{title:e("TOTP enabled"),key:"totp_enabled"},webauth_enabled:{title:e("WebAutn enabled"),key:"webauth_enabled"},date_joined:{title:e("Creation date"),key:"date_joined"},last_login:{title:e("Last login"),key:"last_login"}},A=[g.username,g.is_active,g.role,g.quota],h=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],o=r("account"),c=r(0),E=r([]),y=r(!1),n=r(""),d=r([]),I=r(!1),O=r(),B=r(),k=r(1),$=r(10),w=r([]),j=r(A),M=r(!1),K=z(()=>j.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),u=z(()=>o.value==="account"?Object.values(g):Object.values(C)),m=z(()=>o.value==="account"?["username"]:["address"]);async function b(s){y.value=!0,E.value=[],w.value=[],s==="account"?j.value=A:j.value=x,await L()}async function Ve({page:s,itemsPerPage:i,sortBy:N}){k.value=s,$.value=i,w.value=N,L()}async function L(){y.value=!0;const s={page:k.value||1,page_size:$.value||10};w.value&&w.value.length&&(s.ordering=w.value.map(i=>i.order!=="asc"?`-${i.key}`:i.key).join(",")),n.value!==""&&(s.search=n.value);try{const i=o.value==="account"?await G.getAll(s):await H.getAll(s);E.value=i.data.results,c.value=i.data.count,d.value=[]}finally{y.value=!1}}function xe(s){j.value=u.value.filter(i=>s.includes(i.key)),M.value=!1}function we(s){const i=[];return o.value==="account"?(s.possible_actions.forEach(N=>{i.push({label:N.label,icon:N.icon,onClick:a=>{N.name==="get_credentials"&&$e(a),L()}})}),i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})):o.value==="alias"&&(i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Re}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ue,color:"red"})),i}function Ce(){const s=[];return d.value.length>0&&s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ie,color:"red"}),s}function Ae(s){R.push({name:"AccountEdit",params:{id:s.pk}})}async function he(s){if(await B.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){y.value=!1;try{await G.delete(s.pk,{keepdir:I.value}),L(),S({msg:e("Account deleted")})}finally{y.value=!1}}}async function $e(s){const i=await G.getCredentials(s.pk),N=new Blob([i.data],{type:i.headers["Content-Type"]}),a=document.createElement("a");a.href=URL.createObjectURL(N),a.download=`credentials_${s.pk}.pdf`,a.click(),URL.revokeObjectURL(a.href)}function Re(){}function Ie(){}async function Ue(s){if(await O.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){y.value=!1;try{await H.delete(s.pk),L(),S({msg:e("Alias deleted")})}finally{y.value=!1}}}function Fe(s){return s.recipients?s.recipients.join(", "):""}return Ne(()=>{L()}),V({fetchIdentities:L}),L=Pe(L,500),(s,i)=>{const N=qe("router-link");return v(),F(ye,{class:"mt-6"},{default:t(()=>[l(Ge,{modelValue:d.value,"onUpdate:modelValue":i[3]||(i[3]=a=>d.value=a),headers:K.value,items:E.value,search:n.value,loading:y.value,"items-length":c.value,page:k.value,"items-per-page":$.value,"items-per-page-options":h,"item-value":"pk",elevation:"0","show-select":"","sort-by":w.value,"onUpdate:options":Ve},{top:t(()=>[l(be,{flat:"",color:"white"},{extension:t(()=>[l(We,{modelValue:o.value,"onUpdate:modelValue":[i[2]||(i[2]=a=>o.value=a),b],inline:"",readonly:y.value,"hide-details":""},{default:t(()=>[l(me,{color:"primary",label:f(e)("Accounts"),value:"account"},null,8,["label"]),l(me,{color:"primary",label:f(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[l(Be,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a),"prepend-inner-icon":"mdi-magnify",placeholder:f(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),De(s.$slots,"extraActions",{},void 0,!0),l(q,{variant:"text",icon:"mdi-format-columns",title:f(e)("Customize displayed columns"),onClick:i[1]||(i[1]=a=>M.value=!0)},null,8,["title"]),d.value.length>1?(v(),F(le,{key:0,location:"bottom"},{activator:t(({props:a})=>[l(q,ae({"append-icon":"mdi-chevron-down"},a,{size:"small",variant:"flat"}),{default:t(()=>[_(p(f(e)("Actions")),1)]),_:2},1040)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(ne,{items:Ce()},null,8,["items"])]),_:1})]),_:1})):Y("",!0),l(q,{variant:"text",icon:"mdi-reload",onClick:L})]),_:3})]),"item.username":t(({item:a})=>[l(N,{to:{name:"AccountDetail",params:{id:a.pk}}},{default:t(()=>[_(p(a.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:a})=>[l(N,{to:{name:"AliasDetail",params:{id:a.pk}}},{default:t(()=>[_(p(a.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:a})=>[l(ee,{color:a.is_active?"success":"error",icon:a.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:a})=>[l(ee,{color:a.enabled?"success":"error",icon:a.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:a})=>[_(p(Fe(a)),1)]),"item.date_joined":t(({item:a})=>[_(p(s.$date(a.date_joined)),1)]),"item.creation":t(({item:a})=>[_(p(s.$date(a.creation)),1)]),"item.last_modification":t(({item:a})=>[_(p(s.$date(a.last_modification)),1)]),"item.last_login":t(({item:a})=>[_(p(s.$date(a.last_login)),1)]),"item.role":t(({item:a})=>[l(ze,{color:"default",size:"small"},{default:t(()=>[_(p(a.role),1)]),_:2},1024)]),"item.quota_usage":t(({item:a})=>[a.mailbox?(v(),U(T,{key:0},[a.mailbox.quota!=="0"?(v(),F(re,{key:0,color:a.mailbox.quota_usage<80?"primary":"warning","model-value":a.mailbox.quota_usage},null,8,["color","model-value"])):(v(),U("span",it,p(f(e)("Unlimited")),1))],64)):(v(),U(T,{key:1},[_(p(f(e)("No mailbox")),1)],64))]),"item.sent_messages_in_percent":t(({item:a})=>[a.mailbox?(v(),U(T,{key:0},[a.mailbox.message_limit!==null&&a.mailbox.message_limit!==void 0?(v(),U(T,{key:0},[a.mailbox.message_limit!==0?(v(),F(re,{key:0,color:a.mailbox.sent_messages_in_percent<80?"primary":"warning","model-value":a.mailbox.sent_messages_in_percent},null,8,["color","model-value"])):(v(),U("span",nt,p(f(e)("Sending forbidden")),1))],64)):(v(),U(T,{key:1},[_(p(f(e)("Unlimited")),1)],64))],64)):(v(),U(T,{key:1},[_(p(f(e)("No mailbox")),1)],64))]),"item.actions":t(({item:a})=>[a.possible_actions!==void 0&&a.possible_actions.length!==0?(v(),F(ee,{key:0,size:"large",color:"blue"},{default:t(()=>i[6]||(i[6]=[_("mdi-circle-small")])),_:1,__:[6]})):Y("",!0),l(le,{location:"bottom"},{activator:t(({props:Se})=>[l(q,ae(Se,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[l(ne,{items:we(a),obj:a},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),l(se,{ref_key:"confirmAlias",ref:O},null,512),l(se,{ref_key:"confirmAccount",ref:B},{default:t(()=>[l(_e,{modelValue:I.value,"onUpdate:modelValue":i[4]||(i[4]=a=>I.value=a),label:f(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),l(Q,{modelValue:M.value,"onUpdate:modelValue":i[5]||(i[5]=a=>M.value=a),"max-width":"500"},{default:t(()=>[l(ot,{columns:j.value,"available-columns":u.value,"mandatory-columns":m.value,onApply:xe},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},rt=fe(st,[["__scopeId","data-v-7c25d4c7"]]),ut={__name:"AliasCreationForm",emits:["close","created"],setup(D,{emit:V}){const{$gettext:e}=J(),R=oe(),S=ve(),C=V,x=r(),g=r(),A=r(),h={general:g,recipients:A},o=z(()=>{const k=[{title:e("General"),items:[{key:e("Random address"),value:c.value.random,type:"yesno"},{key:e("Address"),value:c.value.address}]}];return c.value.expire_at!==void 0&&k[0].items.push({key:e("Expire at"),value:c.value.expire_at}),c.value.description!==void 0&&k[0].items.push({key:e("Description"),value:c.value.description}),k.push({title:e("Recipients"),items:[{key:e("Recipients"),value:c.value.recipients.join(", ")}]}),k}),c=r(n()),E=r([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function y(){c.value=n(),C("close")}function n(){return{random:!1,enabled:!0,recipients:[]}}function d(k){return h.step[k.name]}function I(k){return h[k.name].value.vFormRef}function O(){const k={...c.value};k.recipients.length===0&&delete k.recipients;const $=H.validate(k);return $.catch(w=>{w.response.status===409&&w.response.data.id!==void 0&&(R.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),S.push({name:"AliasEdit",params:{id:w.response.data.id}}))}),$}async function B(){c.value.domain!==void 0&&delete c.value.domain;try{await H.create(c.value),C("created"),y()}finally{x.value.working=!1}}return(k,$)=>(v(),F(ke,{ref_key:"form",ref:x,title:f(e)("New alias"),steps:E.value,"form-getter":d,"get-v-form-ref":I,"validate-object":O,"summary-sections":o.value,onClose:y,onCreate:B},{"form.general":t(()=>[l(Ye,{ref_key:"general",ref:g,modelValue:c.value,"onUpdate:modelValue":$[0]||($[0]=w=>c.value=w)},null,8,["modelValue"])]),"form.recipients":t(()=>[l(Qe,{ref_key:"recipients",ref:A,modelValue:c.value.recipients,"onUpdate:modelValue":$[1]||($[1]=w=>c.value.recipients=w)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},dt={class:"grey--text"},mt={__name:"AccountCreationForm",emits:["close","created"],setup(D,{emit:V}){const{$gettext:e}=J(),{canSetRole:R}=Ze(),S=oe(),C=et(),x=V,g=z(()=>o.value.username&&o.value.username.indexOf("@")!==-1),A=z(()=>{const u=[{title:e("Role"),items:[{key:e("Role"),value:o.value.role}]},{title:e("Identification"),items:[{key:e("Username"),value:o.value.username},{key:e("First name"),value:o.value.first_name},{key:e("Last name"),value:o.value.last_name},{name:"random_password",key:e("Random password"),value:o.value.random_password,type:"yesno"},{key:e("Enabled"),value:o.value.is_active,type:"yesno"}]}];return g.value?u.concat([{title:e("Mailbox"),items:[{key:e("Email"),value:o.value.mailbox.full_address},{key:e("Quota"),value:o.value.mailbox.use_domain_quota?e("Domain default value"):o.value.mailbox.quota},{key:e("Message sending limit"),value:o.value.mailbox.message_limit},{key:e("Send only account"),value:o.value.mailbox.is_send_only,type:"yesno"}]},{title:e("Aliases"),items:[{key:e("Aliases"),value:o.value.aliases,type:"list"}]}]):u}),h=z(()=>{const u=[];return R.value&&u.push({name:"role",title:e("Role")}),u.push({name:"identification",title:e("Identification")}),g.value?u.concat([{name:"mailbox",title:e("Mailbox")},{name:"aliases",title:e("Aliases")}]):u}),o=r({aliases:[],is_active:!0,role:Z.USER,mailbox:{use_domain_quota:!0},random_password:!1}),c=r(),E=r(),y=r(),n=r(),d=r(),I={role:E,identification:y,mailbox:n,aliases:d};function O(){navigator.clipboard.writeText(o.value.new_password).then(()=>{S.displayNotification({msg:e("Password copied to clipboard")})})}function B(u){return I.step[u.name]}function k(u){return I[u.name].value.vFormRef}function $(u,m){const b=h.value[u-1].name;I[b].value.formErrors&&(I[b].value.formErrors.value=m)}function w(u){const m={...u};return[Z.RESELLER,Z.SUPER_ADMIN].includes(m.role)&&m.username&&m.username.indexOf("@")===-1&&delete m.mailbox,m.mailbox&&(m.mailbox.message_limit===""&&(m.mailbox.message_limit=null),!m.mailbox.use_domain_quota&&(m.mailbox.quota===void 0||m.mailbox.quota===null)&&(m.mailbox.quota=0)),m}function j(u){if(u===1)return!0;const m=w({...o.value});return G.validate(m)}function M(){x("close")}async function K(){const u=w({...o.value});u.password=u.new_password,delete u.new_password,delete u.password_confirmation;try{await G.create(u),x("created"),M()}finally{c.value.working=!1}}return C.getDomains(),(u,m)=>(v(),F(ke,{ref_key:"form",ref:c,title:f(e)("New account"),steps:h.value,"form-getter":B,"get-v-form-ref":k,"validate-object":j,"summary-sections":A.value,onClose:M,onCreate:K,onValidationError:$},{"form.role":t(()=>[l(Xe,{ref_key:"role",ref:E,modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=b=>o.value=b)},null,8,["modelValue"])]),"form.identification":t(()=>[l(Ke,{ref_key:"identification",ref:y,modelValue:o.value,"onUpdate:modelValue":m[1]||(m[1]=b=>o.value=b)},null,8,["modelValue"])]),"form.mailbox":t(()=>[l(Je,{ref_key:"mailbox",ref:n,modelValue:o.value,"onUpdate:modelValue":m[2]||(m[2]=b=>o.value=b)},null,8,["modelValue"])]),"form.aliases":t(()=>[l(He,{ref_key:"aliases",ref:d,modelValue:o.value,"onUpdate:modelValue":m[3]||(m[3]=b=>o.value=b)},null,8,["modelValue"])]),"item.random_password":t(({item:b})=>[b.value?(v(),F(W,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[l(ce,null,{default:t(()=>[l(W,null,{default:t(()=>[P("span",null,p(b.key),1)]),_:2},1024),b.type==="yesno"?(v(),F(W,{key:0,class:"text-right"},{default:t(()=>[_(p(u.$yesno(b.value)),1)]),_:2},1024)):Y("",!0)]),_:2},1024),l(ce,null,{default:t(()=>[l(W,{class:"text-right py-1"},{default:t(()=>[l(q,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:f(e)("Copy to clipboard"),onClick:O},{default:t(()=>[_(p(o.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(v(),U(T,{key:1},[l(W,null,{default:t(()=>[P("span",dt,p(b.key),1)]),_:2},1024),b.type==="yesno"?(v(),F(W,{key:0,class:"text-right"},{default:t(()=>[_(p(u.$yesno(b.value)),1)]),_:2},1024)):Y("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ct={__name:"IdentitiesView",setup(D){const{$gettext:V,$pgettext:e}=J(),{importContent:R,exportContent:S}=at(),C=r(!1),x=r(!1),g=r(!1),A=r(),h=r();function o(){pe.exportAll().then(y=>{S(y.data,"identities",V)})}function c(y,n){y.append("crypt_passwords",n.crypt_passwords),R(pe,y,A,V)}function E(){g.value=!1,h.value.fetchIdentities()}return(y,n)=>(v(),U("div",null,[l(be,{flat:""},{default:t(()=>[l(Oe,null,{default:t(()=>[_(p(f(V)("Identities")),1)]),_:1})]),_:1}),l(rt,{ref_key:"idList",ref:h},{extraActions:t(()=>[l(le,{"offset-y":""},{activator:t(({props:d})=>[l(q,ae({color:"primary",variant:"outlined"},d,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[_(p(f(e)("male","New")),1)]),_:2},1040)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(ue,{onClick:n[0]||(n[0]=d=>C.value=!0)},{default:t(()=>[l(de,null,{default:t(()=>[_(p(f(V)("Account")),1)]),_:1})]),_:1}),l(ue,{onClick:n[1]||(n[1]=d=>x.value=!0)},{default:t(()=>[l(de,null,{default:t(()=>[_(p(f(V)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),l(q,{class:"mr-2",title:f(V)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:n[2]||(n[2]=d=>g.value=!0)},null,8,["title"]),l(q,{class:"mr-2",title:f(V)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:o},null,8,["title"])]),_:1},512),l(Q,{modelValue:x.value,"onUpdate:modelValue":n[5]||(n[5]=d=>x.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(ut,{onCreated:n[3]||(n[3]=d=>h.value.fetchIdentities()),onClose:n[4]||(n[4]=d=>x.value=!1)})]),_:1},8,["modelValue"]),l(Q,{modelValue:C.value,"onUpdate:modelValue":n[8]||(n[8]=d=>C.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(mt,{onCreated:n[6]||(n[6]=d=>h.value.fetchIdentities()),onClose:n[7]||(n[7]=d=>C.value=!1)})]),_:1},8,["modelValue"]),l(Q,{modelValue:g.value,"onUpdate:modelValue":n[9]||(n[9]=d=>g.value=d),persistent:"","max-width":"800px"},{default:t(()=>[l(f(tt),{ref_key:"importForm",ref:A,title:f(V)("Import identities"),onSubmit:c,onClose:E},{help:t(()=>n[10]||(n[10]=[P("ul",null,[P("li",null,[P("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota[; domain; ...]")]),P("li",null,[P("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])),extraFields:t(({form:d})=>[l(lt,{modelValue:d.crypt_passwords,"onUpdate:modelValue":I=>d.crypt_passwords=I,label:f(V)("Crypt passwords"),color:"primary",density:"compact",hint:f(V)("Check this option if passwords contained in your file are not crypted"),"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint"])]),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},ra=fe(ct,[["__scopeId","data-v-c34f0ee8"]]);export{ra as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as i,d as c,c as n,w as t,o as l,a as e,e as m,t as p}from"./index-LhNzkzAh.js";import{V as u}from"./VContainer-74Dnn8Ux.js";import{V as d,a as f}from"./VRow-DJ0NB63-.js";import{V as g}from"./VProgressCircular-qK6p5X_Y.js";/* empty css */import"./tag-3cfI1_f7.js";const V={class:"ma-5"},k={__name:"LoginCallbackView",props:{redirectUrl:String},setup(o){const r=o,a=i();return c(()=>{a.completeLogin(r.redirectUrl)}),(s,_)=>(l(),n(u,{class:"fill-height",fluid:""},{default:t(()=>[e(d,{align:"center",justify:"center"},{default:t(()=>[e(f,{cols:"auto",class:"text-center"},{default:t(()=>[m("h1",V,p(s.$gettext("Attempting to log you in.")),1),e(g,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{k as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as te,J as le,al as se,K as oe,h as O,a5 as ne,e as d,v as ie,am as re,y as X,_ as ue,b as de,n as ce,g as h,B as me,d as ve,Z as pe,z as J,l as _,a as s,c as v,w as b,m as M,aQ as ge,f as g,t as m,F as U,s as fe,q as ke,o as r}from"./index-LhNzkzAh.js";import{a as x}from"./webmail-B2IUjaxM.js";import{V as he}from"./VToolbar-BxX3W2kR.js";import{V as j}from"./VCheckbox-dr7UFjl4.js";import{V as be}from"./VTextField-DKbr4H5w.js";import{l as xe,p as ye,V as y,c as I}from"./VAvatar-DbuoZWmf.js";import{V as _e}from"./VMenu-nv0XOgg0.js";import{V as Ve,a as $}from"./forwardRefs-CpzzjgpX.js";import{V as q}from"./VSpacer-CoJVmx8k.js";import{a as R,V as Ce}from"./VCard-DzjUT5OP.js";import{u as we}from"./VProgressCircular-qK6p5X_Y.js";import{a as Se,u as Be,m as Me}from"./tag-3cfI1_f7.js";import{V as $e}from"./VAlert-4r6LxKtg.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VInput-DVKUObZe.js";import"./ssrBoot-BxIQ9ccA.js";/* empty css */const Le={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function Ie(a){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return d("div",{class:X(["v-skeleton-loader__bone",`v-skeleton-loader__${a}`])},[o])}function D(a){const[o,e]=a.split("@");return Array.from({length:e}).map(()=>z(o))}function z(a){let o=[];if(!a)return o;const e=Le[a];if(a!==e){if(a.includes(","))return K(a);if(a.includes("@"))return D(a);e.includes(",")?o=K(e):e.includes("@")?o=D(e):e&&o.push(z(e))}return[Ie(a,o)]}function K(a){return a.replace(/\s/g,"").split(",").map(z)}const ze=le({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Me(),...ye(),...re()},"VSkeletonLoader"),Ae=te()({name:"VSkeletonLoader",props:ze(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:V,backgroundColorStyles:B}=we(()=>a.color),{dimensionStyles:A}=Se(a),{elevationClasses:E}=xe(a),{themeClasses:p}=se(a),{t:i}=oe(),C=O(()=>z(ne(a.type).join(",")));return Be(()=>{var n;const f=!e.default||a.loading,w=a.boilerplate||!f?{}:{ariaLive:"polite",ariaLabel:i(a.loadingText),role:"alert"};return d("div",ie({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":a.boilerplate},p.value,V.value,E.value],style:[B.value,f?A.value:{}]},w),[f?C.value:(n=e.default)==null?void 0:n.call(e)])}),{}}}),Ee={key:2,class:"d-flex align-center"},Ne={class:"text-caption mr-2"},Te={key:1,class:"emails position-absolute top-0 bottom-0 w-100 overflow-y-auto"},Je=["onClick"],Pe={class:"mt-1 text-grey"},Fe=["title"],Ue={key:1},je={class:"text-right"},qe={class:"mt-1"},Re={class:"text-grey"},De={__name:"EmailList",props:{mailbox:{type:String,default:"INBOX"}},setup(a){const o=a,{$gettext:e}=de(),{displayNotification:V,reloadMailboxCounters:B}=ce(),A=ke(),E=me(),p=h(!1),i=h({}),C=h(1),f=h(""),w=h(!1),n=h([]),c=h(!1);let P=null;const S=O(()=>E.query.mailbox||"INBOX"),G=u=>{A.push({name:"EmailView",query:{mailbox:o.mailbox,mailid:u}})},k=()=>{i.value={},p.value=!0,x.getMailboxEmails(o.mailbox,{page:C.value,search:f.value}).then(u=>{i.value=u.data,p.value=!1}).catch(()=>{p.value=!1})},N=()=>{k()},Q=()=>{k()},W=u=>{u?n.value=i.value.results.map(t=>t.imapid):n.value=[]},Z=()=>{n.value.length&&(c.value=!0,x.deleteSelection(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) deleted")}),k(),B()}))},H=()=>{n.value.length&&(c.value=!0,x.markSelectionAsJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as junk")}),N()}))},Y=()=>{n.value.length&&(c.value=!0,x.markSelectionAsNotJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as not junk")}),N()}))},L=u=>{n.value.length&&(c.value=!0,x.flagSelection(S.value,n.value,u).then(()=>{c.value=!1,n.value=[],V({msg:e("Message(s) flagged")}),k(),B()}))},ee=()=>{p.value=!0,x.emptyUserMailbox(S.value).then(()=>{i.value={},p.value=!1,B()})},ae=async u=>{const t=u.flagged?"unflagged":"flagged";await x.flagSelection(S.value,[u.imapid],t),u.flagged=t==="flagged"};return ve(()=>{P=setInterval(N,300*1e3)}),pe(()=>{clearInterval(P)}),J(()=>o.mailbox,()=>{k()},{immediate:!0}),J(n,()=>{n.value.length?w.value=!0:w.value=!1}),J(C,()=>{k()}),(u,t)=>{var F;return r(),_(U,null,[s(R,{class:"mt-6 mb-2 mx-1"},{default:b(()=>[s(he,{color:"white",flat:""},{default:b(()=>[s(j,{modelValue:w.value,"onUpdate:modelValue":[t[0]||(t[0]=l=>w.value=l),W],class:"mr-4","hide-details":""},null,8,["modelValue"]),s(be,{modelValue:f.value,"onUpdate:modelValue":t[1]||(t[1]=l=>f.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:g(e)("Search in messages"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4",clearable:"","onClick:clear":k,onKeyup:ge(Q,["enter"])},null,8,["modelValue","placeholder"]),s(y,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Z},null,8,["loading"]),u.$route.params.mailbox!=="Junk"?(r(),v(y,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:c.value,onClick:H},null,8,["loading"])):(r(),v(y,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:c.value,onClick:Y},null,8,["loading"])),s(y,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:b(()=>[s(I,{icon:"mdi-cog"}),s(_e,{activator:"parent"},{default:b(()=>[s(Ve,{density:"compact"},{default:b(()=>[s($,{title:g(e)("Mark as read"),"prepend-icon":"mdi-eye",onClick:t[2]||(t[2]=()=>L("read"))},null,8,["title"]),s($,{title:g(e)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:t[3]||(t[3]=()=>L("unread"))},null,8,["title"]),s($,{title:g(e)("Mark as followed"),"prepend-icon":"mdi-star",onClick:t[4]||(t[4]=()=>L("flagged"))},null,8,["title"]),s($,{title:g(e)("Mark as unfollowed"),"prepend-icon":"mdi-star-outline",onClick:t[5]||(t[5]=()=>L("unflagged"))},null,8,["title"]),u.$route.params.mailbox!=="Trash"?(r(),v($,{key:0,title:g(e)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:ee},null,8,["title"])):M("",!0)]),_:1})]),_:1})]),_:1}),s(q),i.value.results?(r(),_("div",Ee,[d("div",Ne,m(i.value.first_index)+"-"+m(i.value.last_index)+" "+m(g(e)("on"))+" "+m(i.value.count),1),d("div",null,[s(y,{icon:"mdi-chevron-left",size:"x-small",disabled:i.value.prev_page===null,onClick:t[6]||(t[6]=l=>C.value=i.value.prev_page)},null,8,["disabled"]),s(y,{icon:"mdi-chevron-right",size:"x-small",disabled:i.value.next_page===null,onClick:t[7]||(t[7]=l=>C.value=i.value.next_page)},null,8,["disabled"])])])):M("",!0)]),_:1})]),_:1}),p.value?(r(),v(Ae,{key:0,type:"card@2"})):(r(),_("div",Te,[(F=i.value.results)!=null&&F.length?(r(!0),_(U,{key:0},fe(i.value.results,l=>(r(),v(R,{key:l.imapid,density:"compact",class:"mb-2 mx-1"},{default:b(()=>[s(Ce,{class:X(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:b(()=>[s(j,{modelValue:n.value,"onUpdate:modelValue":t[8]||(t[8]=T=>n.value=T),value:l.imapid,"hide-details":""},null,8,["modelValue","value"]),s(y,{icon:l.flagged?"mdi-star":"mdi-star-outline",variant:"flat",onClick:T=>ae(l)},null,8,["icon","onClick"]),d("div",{class:"ml-4 clickable",onClick:T=>G(l.imapid)},[d("div",null,m(l.subject),1),d("div",Pe,[l.from_address.name?(r(),_("span",{key:0,title:l.from_address.address},m(l.from_address.name),9,Fe)):(r(),_("span",Ue,m(l.from_address.address),1))])],8,Je),s(q),d("div",je,[d("div",null,m(l.date),1),d("div",qe,[l.answered?(r(),v(I,{key:0,icon:"mdi-reply-outline"})):M("",!0),l.forwarded?(r(),v(I,{key:1,icon:"mdi-share-outline"})):M("",!0),l.attachments?(r(),v(I,{key:2,icon:"mdi-paperclip"})):M("",!0),d("span",Re,m(u.$filesize(l.size)),1)])])]),_:2},1032,["class"])]),_:2},1024))),128)):(r(),v($e,{key:1,class:"mt-4",type:"info",text:g(e)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},Ke=ue(De,[["__scopeId","data-v-90e0691b"]]),Oe={class:"position-relative h-100"},Xe={class:"text-h5 ml-4"},ma={__name:"MailboxView",setup(a){return(o,e)=>(r(),_("div",Oe,[d("div",Xe,m(o.$gettext("Webmail")),1),s(Ke,{mailbox:o.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{ma as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as B,b as P,n as S,h as E,g as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-LhNzkzAh.js";import{_ as O}from"./HtmlEditor-BWRdelVw.js";import{V as W,a as $,b as A,c as D}from"./VTabs-aS8WSL9I.js";import{V as G}from"./VAvatar-DbuoZWmf.js";import{V as H}from"./VContainer-74Dnn8Ux.js";import{a as M,V as q}from"./VCard-DzjUT5OP.js";import{V as J}from"./VSwitch-DPnjPQuU.js";import{V as K}from"./VSelect-CxCFMHyF.js";import{V as Q}from"./VTextarea-BttkFsM4.js";import{V as R}from"./VColorPicker-ByGpCW5O.js";import{V as X}from"./VTextField-DKbr4H5w.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=P(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),v=p(0),r=p({}),l=p({}),f=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{f.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=!!t),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},f.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&f.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:v.value,"onUpdate:modelValue":n[0]||(n[0]=o=>v.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(f.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:v.value,"onUpdate:modelValue":n[1]||(n[1]=o=>v.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=B(ee,[["__scopeId","data-v-ddc29a18"]]);export{ce as P};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.error_tab[data-v-ddc29a18]{color:#ff5252!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as v,b as _,g as r,h as d,z as V,B as g,l as h,a as e,w as u,f as c,o as x,k as b,t as w}from"./index-LhNzkzAh.js";import{P}from"./ParametersForm-3qXttTuQ.js";import{p as o}from"./parameters-C8IYEP7q.js";import{V as A,a as T}from"./VToolbar-BxX3W2kR.js";import"./HtmlEditor-BWRdelVw.js";import"./VAvatar-DbuoZWmf.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VTabs-aS8WSL9I.js";import"./VWindowItem-Cvqvdegd.js";import"./VChip-CaQvfmkw.js";import"./VMenu-nv0XOgg0.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./VCard-DzjUT5OP.js";import"./VSwitch-DPnjPQuU.js";import"./VInput-DVKUObZe.js";import"./VSelectionControl-C-6A4us5.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VTextarea-BttkFsM4.js";import"./VColorPicker-ByGpCW5O.js";import"./colors-DoZdCu1D.js";import"./VPicker-DnDSWJHJ.js";import"./VSheet-DI6SxLnG.js";const k={__name:"ParametersView",setup(B){const{$gettext:n}=_(),p=g(),s=r(""),i=r([]),m=r({}),f=d(()=>n("Settings: "+s.value));function l(t){o.getUserApplicationStructure(t).then(a=>{i.value=a.data}),o.getUserApplication(t).then(a=>{m.value=a.data.params,s.value=a.data.label})}return V(p,t=>{l(t.params.app)}),l(p.params.app),(t,a)=>(x(),h("div",null,[e(A,{flat:""},{default:u(()=>[e(T,null,{default:u(()=>[b(w(f.value),1)]),_:1})]),_:1}),e(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},rt=v(k,[["__scopeId","data-v-3e7380ff"]]);export{rt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as b,b as g,g as r,h as S,z as h,B as V,l as x,a as e,w as u,f as n,o as P,k as w,t as G}from"./index-LhNzkzAh.js";import{p}from"./parameters-C8IYEP7q.js";import{P as A}from"./ParametersForm-3qXttTuQ.js";import{V as T,a as k}from"./VToolbar-BxX3W2kR.js";import{u as B}from"./global.store-DndbMXYb.js";import{u as N}from"./parameters.store-1cwSP2JP.js";import"./HtmlEditor-BWRdelVw.js";import"./VAvatar-DbuoZWmf.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VTabs-aS8WSL9I.js";import"./VWindowItem-Cvqvdegd.js";import"./VChip-CaQvfmkw.js";import"./VMenu-nv0XOgg0.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./VCard-DzjUT5OP.js";import"./VSwitch-DPnjPQuU.js";import"./VInput-DVKUObZe.js";import"./VSelectionControl-C-6A4us5.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VTextarea-BttkFsM4.js";import"./VColorPicker-ByGpCW5O.js";import"./colors-DoZdCu1D.js";import"./VPicker-DnDSWJHJ.js";import"./VSheet-DI6SxLnG.js";const E={__name:"ParametersView",setup($){const{$gettext:c}=g(),f=B(),o=V(),d=N(),s=r([]),i=r({}),m=r(""),_=S(()=>c("Settings: "+m.value));function l(t){p.getGlobalApplicationStructure(t).then(a=>{s.value=a.data}),p.getGlobalApplication(t).then(a=>{i.value=a.data.params,m.value=a.data.label})}function v(t){f.fetchNotifications(),o.params.app==="imap_migration"&&(d.imapMigrationEnabled=t.enabled_imapmigration)}return h(o,t=>{l(t.params.app)}),l(o.params.app),(t,a)=>(P(),x("div",null,[e(T,{flat:""},{default:u(()=>[e(k,null,{default:u(()=>[w(G(_.value),1)]),_:1})]),_:1}),e(n(A),{app:t.$route.params.app,structure:s.value,values:i.value,"save-function":n(p).saveGlobalApplication,onSuccess:v},null,8,["app","structure","values","save-function"])]))}},lt=b(E,[["__scopeId","data-v-6ffadfb6"]]);export{lt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-toolbar[data-v-6ffadfb6]{background-color:#f7f8fa!important}.error_tab[data-v-6ffadfb6]{color:#ff5252!important}.v-window__container{width:100%!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as r}from"./ConnectedLayout-CWlBK7Hf.js";import{c as o,w as m,o as p,k as i}from"./index-LhNzkzAh.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./layout.store-Vq5mvIp7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const T={__name:"QuarantineLayout",setup(a){return(e,t)=>(p(),o(r,null,{navbar:m(()=>t[0]||(t[0]=[i(" ")])),_:1}))}};export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e,c as a,f as p,B as l,o as n}from"./index-LhNzkzAh.js";import{_ as s}from"./ComposeEmailForm-kghmfNuE.js";import{a as u}from"./webmail-B2IUjaxM.js";import"./index-DuzUMVLM.js";import"./VForm-DsRLc-sa.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VCard-DzjUT5OP.js";import"./VFileInput-SULIc6F3.js";import"./VTextField-DKbr4H5w.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./HtmlEditor-BWRdelVw.js";import"./VTextarea-BttkFsM4.js";import"./contacts-Dxz6eWpf.js";import"./VToolbar-BxX3W2kR.js";import"./VRow-DJ0NB63-.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./filter-rmxrcjKk.js";import"./VDialog-DmTGCGR0.js";const J={__name:"ReplyEmailView",setup(c){const t=l(),o=e(),r=i=>{o.value="",u.getEmailContent(t.query.mailbox,t.query.mailid,{context:"reply",dformat:i?"html":"plain"}).then(m=>{o.value=m.data})};return r(),(i,m)=>(n(),a(p(s),{"original-email":o.value,"reply-all":p(t).query.all==="true",onOnToggleHtmlMode:r},null,8,["original-email","reply-all"]))}};export{J as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as p,V as _}from"./VForm-DsRLc-sa.js";import{V as f}from"./VTextField-DKbr4H5w.js";import{h as i,g as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as g}from"./index-LhNzkzAh.js";const h={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=i(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,B)=>(l(),v(_,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",h,k(e.label),1),b(f,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[g(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as p}from"./ConnectedLayout-CWlBK7Hf.js";import{c as m,w as r,o as i,k as o}from"./index-LhNzkzAh.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./layout.store-Vq5mvIp7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const T={__name:"SelfServiceLayout",setup(a){return(e,t)=>(i(),m(p,null,{navbar:r(()=>t[0]||(t[0]=[o(" ")])),topbar:r(()=>t[1]||(t[1]=[o(" ")])),_:1}))}};export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o,f as r,o as m}from"./index-LhNzkzAh.js";import{_ as p}from"./ConnectedLayout-CWlBK7Hf.js";import{u as i}from"./layout.store-Vq5mvIp7.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const g={__name:"UserLayout",setup(e){const t=i();return(s,a)=>(m(),o(p,{"menu-items":r(t).leftMenuItems},null,8,["menu-items"]))}};export{g as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as $e,u as q,b as te}from"./tag-3cfI1_f7.js";import{ay as ae,J as I,a6 as le,g as ee,h,az as W,a2 as L,z as ne,d as Ue,e as c,a1 as G,y as z,aA as Ge,aB as qe,aC as ze,aD as Ke,aE as ve,aF as se,aG as me,aH as re,a as E,X as Xe,Y as We,aI as Se,ac as ie,a7 as D,a9 as Ye,a0 as Je,ak as Ze,I as ke,N as Me,aJ as Qe,L as we,aj as et,O as he,F as Ne,v as Re,Z as tt,aK as Ce,aL as Te,aM as ye,aN as lt,aq as at,aO as ot,aP as rt,T as nt}from"./index-LhNzkzAh.js";import{V as Be,p as st,o as it,R as Ve,l as ut,w as ct,n as dt,c as vt}from"./VAvatar-DbuoZWmf.js";import{a as mt,u as Pe}from"./VProgressCircular-qK6p5X_Y.js";import{u as ht,V as xe,c as bt,b as ft,m as kt}from"./VInput-DVKUObZe.js";import{c as yt}from"./colors-DoZdCu1D.js";import{V as _e,m as gt}from"./VPicker-DnDSWJHJ.js";const pt=I({color:{type:Object},disabled:Boolean,dotSize:{type:[Number,String],default:10},height:{type:[Number,String],default:150},width:{type:[Number,String],default:300},...te()},"VColorPickerCanvas"),St=ae({name:"VColorPickerCanvas",props:pt(),emits:{"update:color":e=>!0,"update:position":e=>!0},setup(e,t){let{emit:l}=t;const r=le(!1),i=ee(),a=le(parseFloat(e.width)),o=le(parseFloat(e.height)),n=ee({x:0,y:0}),b=h({get:()=>n.value,set(u){var g,F;if(!i.value)return;const{x:v,y}=u;n.value=u,l("update:color",{h:((g=e.color)==null?void 0:g.h)??0,s:W(v,0,a.value)/a.value,v:1-W(y,0,o.value)/o.value,a:((F=e.color)==null?void 0:F.a)??1})}}),k=h(()=>{const{x:u,y:v}=b.value,y=parseInt(e.dotSize,10)/2;return{width:L(e.dotSize),height:L(e.dotSize),transform:`translate(${L(u-y)}, ${L(v-y)})`}}),{resizeRef:d}=$e(u=>{var g;if(!((g=d.el)!=null&&g.offsetParent))return;const{width:v,height:y}=u[0].contentRect;a.value=v,o.value=y});function f(u,v,y){const{left:g,top:F,width:N,height:S}=y;b.value={x:W(u-g,0,N),y:W(v-F,0,S)}}function V(u){u.type==="mousedown"&&u.preventDefault(),!e.disabled&&(p(u),window.addEventListener("mousemove",p),window.addEventListener("mouseup",M),window.addEventListener("touchmove",p),window.addEventListener("touchend",M))}function p(u){if(e.disabled||!i.value)return;r.value=!0;const v=Ge(u);f(v.clientX,v.clientY,i.value.getBoundingClientRect())}function M(){window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",M),window.removeEventListener("touchmove",p),window.removeEventListener("touchend",M)}function R(){var F;if(!i.value)return;const u=i.value,v=u.getContext("2d");if(!v)return;const y=v.createLinearGradient(0,0,u.width,0);y.addColorStop(0,"hsla(0, 0%, 100%, 1)"),y.addColorStop(1,`hsla(${((F=e.color)==null?void 0:F.h)??0}, 100%, 50%, 1)`),v.fillStyle=y,v.fillRect(0,0,u.width,u.height);const g=v.createLinearGradient(0,0,0,u.height);g.addColorStop(0,"hsla(0, 0%, 0%, 0)"),g.addColorStop(1,"hsla(0, 0%, 0%, 1)"),v.fillStyle=g,v.fillRect(0,0,u.width,u.height)}return ne(()=>{var u;return(u=e.color)==null?void 0:u.h},R,{immediate:!0}),ne(()=>[a.value,o.value],(u,v)=>{R(),n.value={x:b.value.x*u[0]/v[0],y:b.value.y*u[1]/v[1]}},{flush:"post"}),ne(()=>e.color,()=>{if(r.value){r.value=!1;return}n.value=e.color?{x:e.color.s*a.value,y:(1-e.color.v)*o.value}:{x:0,y:0}},{deep:!0,immediate:!0}),Ue(()=>R()),q(()=>c("div",{ref:d,class:z(["v-color-picker-canvas",e.class]),style:G(e.style),onMousedown:V,onTouchstartPassive:V},[c("canvas",{ref:i,width:a.value,height:o.value},null),e.color&&c("div",{class:z(["v-color-picker-canvas__dot",{"v-color-picker-canvas__dot--disabled":e.disabled}]),style:G(k.value)},null)])),{}}});function wt(e,t){if(t){const{a:l,...r}=e;return r}return e}function Ct(e,t){if(t==null||typeof t=="string"){const l=e.a!==1;if(t!=null&&t.startsWith("rgb(")){const{r:i,g:a,b:o,a:n}=me(e);return`rgb(${i} ${a} ${o}`+(l?` / ${n})`:")")}else if(t!=null&&t.startsWith("hsl(")){const{h:i,s:a,l:o,a:n}=ve(e);return`hsl(${i} ${Math.round(a*100)} ${Math.round(o*100)}`+(l?` / ${n})`:")")}const r=ze(e);return e.a===1?r.slice(0,7):r}if(typeof t=="object"){let l;return re(t,["r","g","b"])?l=me(e):re(t,["h","s","l"])?l=ve(e):re(t,["h","s","v"])&&(l=e),wt(l,!re(t,["a"])&&e.a===1)}return e}const Q={h:0,s:0,v:0,a:1},be={inputProps:{type:"number",min:0},inputs:[{label:"R",max:255,step:1,getValue:e=>Math.round(e.r),getColor:(e,t)=>({...e,r:Number(t)})},{label:"G",max:255,step:1,getValue:e=>Math.round(e.g),getColor:(e,t)=>({...e,g:Number(t)})},{label:"B",max:255,step:1,getValue:e=>Math.round(e.b),getColor:(e,t)=>({...e,b:Number(t)})},{label:"A",max:1,step:.01,getValue:e=>{let{a:t}=e;return t!=null?Math.round(t*100)/100:1},getColor:(e,t)=>({...e,a:Number(t)})}],to:me,from:se};var Fe;const Vt={...be,inputs:(Fe=be.inputs)==null?void 0:Fe.slice(0,3)},fe={inputProps:{type:"number",min:0},inputs:[{label:"H",max:360,step:1,getValue:e=>Math.round(e.h),getColor:(e,t)=>({...e,h:Number(t)})},{label:"S",max:1,step:.01,getValue:e=>Math.round(e.s*100)/100,getColor:(e,t)=>({...e,s:Number(t)})},{label:"L",max:1,step:.01,getValue:e=>Math.round(e.l*100)/100,getColor:(e,t)=>({...e,l:Number(t)})},{label:"A",max:1,step:.01,getValue:e=>{let{a:t}=e;return t!=null?Math.round(t*100)/100:1},getColor:(e,t)=>({...e,a:Number(t)})}],to:ve,from:Ke},Pt={...fe,inputs:fe.inputs.slice(0,3)},Le={inputProps:{type:"text"},inputs:[{label:"HEXA",getValue:e=>e,getColor:(e,t)=>t}],to:ze,from:qe},xt={...Le,inputs:[{label:"HEX",getValue:e=>e.slice(0,7),getColor:(e,t)=>t}]},Y={rgb:Vt,rgba:be,hsl:Pt,hsla:fe,hex:xt,hexa:Le},_t=e=>{let{label:t,...l}=e;return c("div",{class:"v-color-picker-edit__input"},[c("input",Xe(We(l)),null),c("span",null,[t])])},Et=I({color:Object,disabled:Boolean,mode:{type:String,default:"rgba",validator:e=>Object.keys(Y).includes(e)},modes:{type:Array,default:()=>Object.keys(Y),validator:e=>Array.isArray(e)&&e.every(t=>Object.keys(Y).includes(t))},...te()},"VColorPickerEdit"),Ft=ae({name:"VColorPickerEdit",props:Et(),emits:{"update:color":e=>!0,"update:mode":e=>!0},setup(e,t){let{emit:l}=t;const r=h(()=>e.modes.map(a=>({...Y[a],name:a}))),i=h(()=>{var n;const a=r.value.find(b=>b.name===e.mode);if(!a)return[];const o=e.color?a.to(e.color):null;return(n=a.inputs)==null?void 0:n.map(b=>{let{getValue:k,getColor:d,...f}=b;return{...a.inputProps,...f,disabled:e.disabled,value:o&&k(o),onChange:V=>{const p=V.target;p&&l("update:color",a.from(d(o??a.to(Q),p.value)))}}})});return q(()=>{var a;return c("div",{class:z(["v-color-picker-edit",e.class]),style:G(e.style)},[(a=i.value)==null?void 0:a.map(o=>E(_t,o,null)),r.value.length>1&&E(Be,{icon:"$unfold",size:"x-small",variant:"plain",onClick:()=>{const o=r.value.findIndex(n=>n.name===e.mode);l("update:mode",r.value[(o+1)%r.value.length].name)}},null)])}),{}}}),ge=Symbol.for("vuetify:v-slider");function zt(e,t,l){const r=l==="vertical",i=t.getBoundingClientRect(),a="touches"in e?e.touches[0]:e;return r?a.clientY-(i.top+i.height/2):a.clientX-(i.left+i.width/2)}function Mt(e,t){return"touches"in e&&e.touches.length?e.touches[0][t]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][t]:e[t]}const Nt=I({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,...it(),...st({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),Rt=e=>{const t=h(()=>parseFloat(e.min)),l=h(()=>parseFloat(e.max)),r=h(()=>Number(e.step)>0?parseFloat(e.step):0),i=h(()=>Math.max(Se(r.value),Se(t.value)));function a(o){if(o=parseFloat(o),r.value<=0)return o;const n=W(o,t.value,l.value),b=t.value%r.value;let k=Math.round((n-b)/r.value)*r.value+b;return n>k&&k+r.value>l.value&&(k=l.value),parseFloat(Math.min(k,l.value).toFixed(i.value))}return{min:t,max:l,step:r,decimals:i,roundValue:a}},Tt=e=>{let{props:t,steps:l,onSliderStart:r,onSliderMove:i,onSliderEnd:a,getActiveThumb:o}=e;const{isRtl:n}=ie(),b=D(()=>t.reverse),k=h(()=>t.direction==="vertical"),d=h(()=>k.value!==b.value),{min:f,max:V,step:p,decimals:M,roundValue:R}=l,u=h(()=>parseInt(t.thumbSize,10)),v=h(()=>parseInt(t.tickSize,10)),y=h(()=>parseInt(t.trackSize,10)),g=h(()=>(V.value-f.value)/p.value),F=D(()=>t.disabled),N=h(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),S=h(()=>t.error||t.disabled?void 0:t.trackColor??t.color),H=h(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),P=le(!1),x=le(0),A=ee(),T=ee();function w(s){var pe;const m=(pe=A.value)==null?void 0:pe.$el;if(!m)return;const O=t.direction==="vertical",He=O?"top":"left",Ae=O?"height":"width",Oe=O?"clientY":"clientX",{[He]:De,[Ae]:je}=m.getBoundingClientRect(),Ie=Mt(s,Oe);let de=W((Ie-De-x.value)/je)||0;return(O?d.value:d.value!==n.value)&&(de=1-de),R(f.value+de*(V.value-f.value))}const K=s=>{const m=w(s);m!=null&&a({value:m}),P.value=!1,x.value=0},j=s=>{const m=w(s);T.value=o(s),T.value&&(P.value=!0,T.value.contains(s.target)?x.value=zt(s,T.value,t.direction):(x.value=0,m!=null&&i({value:m})),m!=null&&r({value:m}),Je(()=>{var O;return(O=T.value)==null?void 0:O.focus()}))},B={passive:!0,capture:!0};function $(s){const m=w(s);m!=null&&i({value:m})}function U(s){s.stopPropagation(),s.preventDefault(),K(s),window.removeEventListener("mousemove",$,B),window.removeEventListener("mouseup",U)}function oe(s){var m;K(s),window.removeEventListener("touchmove",$,B),(m=s.target)==null||m.removeEventListener("touchend",oe)}function ue(s){var m;j(s),window.addEventListener("touchmove",$,B),(m=s.target)==null||m.addEventListener("touchend",oe,{passive:!1})}function ce(s){s.button===0&&(s.preventDefault(),j(s),window.addEventListener("mousemove",$,B),window.addEventListener("mouseup",U,{passive:!1}))}const J=s=>{const m=(s-f.value)/(V.value-f.value)*100;return W(isNaN(m)?0:m,0,100)},_=D(()=>t.showTicks),C=h(()=>_.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(s=>({value:s,position:J(s),label:s.toString()})):Object.keys(t.ticks).map(s=>({value:parseFloat(s),position:J(parseFloat(s)),label:t.ticks[s]})):g.value!==1/0?Ye(g.value+1).map(s=>{const m=f.value+s*p.value;return{value:m,position:J(m)}}):[]:[]),Z=h(()=>C.value.some(s=>{let{label:m}=s;return!!m})),X={activeThumbRef:T,color:D(()=>t.color),decimals:M,disabled:F,direction:D(()=>t.direction),elevation:D(()=>t.elevation),hasLabels:Z,isReversed:b,indexFromEnd:d,min:f,max:V,mousePressed:P,numTicks:g,onSliderMousedown:ce,onSliderTouchstart:ue,parsedTicks:C,parseMouseMove:w,position:J,readonly:D(()=>t.readonly),rounded:D(()=>t.rounded),roundValue:R,showTicks:_,startOffset:x,step:p,thumbSize:u,thumbColor:N,thumbLabel:D(()=>t.thumbLabel),ticks:D(()=>t.ticks),tickSize:v,trackColor:S,trackContainerRef:A,trackFillColor:H,trackSize:y,vertical:k};return Ze(ge,X),X},Bt=I({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,...te()},"VSliderThumb"),Lt=ke()({name:"VSliderThumb",directives:{vRipple:Ve},props:Bt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:l,emit:r}=t;const i=Me(ge),{isRtl:a,rtlClasses:o}=ie();if(!i)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{min:n,max:b,thumbColor:k,step:d,disabled:f,thumbSize:V,thumbLabel:p,direction:M,isReversed:R,vertical:u,readonly:v,elevation:y,mousePressed:g,decimals:F,indexFromEnd:N}=i,S=h(()=>f.value?void 0:y.value),{elevationClasses:H}=ut(S),{textColorClasses:P,textColorStyles:x}=mt(k),{pageup:A,pagedown:T,end:w,home:K,left:j,right:B,down:$,up:U}=Qe,oe=[A,T,w,K,j,B,$,U],ue=h(()=>d.value?[1,2,3]:[1,5,10]);function ce(_,C){if(!oe.includes(_.key))return;_.preventDefault();const Z=d.value||.1,X=(b.value-n.value)/Z;if([j,B,$,U].includes(_.key)){const m=(u.value?[a.value?j:B,R.value?$:U]:N.value!==a.value?[j,U]:[B,U]).includes(_.key)?1:-1,O=_.shiftKey?2:_.ctrlKey?1:0;m===-1&&C===b.value&&!O&&!Number.isInteger(X)?C=C-X%1*Z:C=C+m*Z*ue.value[O]}else if(_.key===K)C=n.value;else if(_.key===w)C=b.value;else{const s=_.key===T?1:-1;C=C-s*Z*(X>100?X/10:10)}return Math.max(e.min,Math.min(e.max,C))}function J(_){const C=ce(_,e.modelValue);C!=null&&r("update:modelValue",C)}return q(()=>{const _=L(N.value?100-e.position:e.position,"%");return c("div",{class:z(["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&g.value},e.class,o.value]),style:G([{"--v-slider-thumb-position":_,"--v-slider-thumb-size":L(V.value)},e.style]),role:"slider",tabindex:f.value?-1:0,"aria-label":e.name,"aria-valuemin":n.value,"aria-valuemax":b.value,"aria-valuenow":e.modelValue,"aria-readonly":!!v.value,"aria-orientation":M.value,onKeydown:v.value?void 0:J},[c("div",{class:z(["v-slider-thumb__surface",P.value,H.value]),style:{...x.value}},null),we(c("div",{class:z(["v-slider-thumb__ripple",P.value]),style:G(x.value)},null),[[Ve,e.ripple,null,{circle:!0,center:!0}]]),E(ct,{origin:"bottom center"},{default:()=>{var C;return[we(c("div",{class:"v-slider-thumb__label-container"},[c("div",{class:z(["v-slider-thumb__label",P.value])},[c("div",null,[((C=l["thumb-label"])==null?void 0:C.call(l,{modelValue:e.modelValue}))??e.modelValue.toFixed(d.value?F.value:1)])])]),[[et,p.value&&e.focused||p.value==="always"]])]}})])}),{}}}),Ht=I({start:{type:Number,required:!0},stop:{type:Number,required:!0},...te()},"VSliderTrack"),At=ke()({name:"VSliderTrack",props:Ht(),emits:{},setup(e,t){let{slots:l}=t;const r=Me(ge);if(!r)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:i,parsedTicks:a,rounded:o,showTicks:n,tickSize:b,trackColor:k,trackFillColor:d,trackSize:f,vertical:V,min:p,max:M,indexFromEnd:R}=r,{roundedClasses:u}=dt(o),{backgroundColorClasses:v,backgroundColorStyles:y}=Pe(d),{backgroundColorClasses:g,backgroundColorStyles:F}=Pe(k),N=h(()=>`inset-${V.value?"block":"inline"}-${R.value?"end":"start"}`),S=h(()=>V.value?"height":"width"),H=h(()=>({[N.value]:"0%",[S.value]:"100%"})),P=h(()=>e.stop-e.start),x=h(()=>({[N.value]:L(e.start,"%"),[S.value]:L(P.value,"%")})),A=h(()=>n.value?(V.value?a.value.slice().reverse():a.value).map((w,K)=>{var B;const j=w.value!==p.value&&w.value!==M.value?L(w.position,"%"):void 0;return c("div",{key:w.value,class:z(["v-slider-track__tick",{"v-slider-track__tick--filled":w.position>=e.start&&w.position<=e.stop,"v-slider-track__tick--first":w.value===p.value,"v-slider-track__tick--last":w.value===M.value}]),style:{[N.value]:j}},[(w.label||l["tick-label"])&&c("div",{class:"v-slider-track__tick-label"},[((B=l["tick-label"])==null?void 0:B.call(l,{tick:w,index:K}))??w.label])])}):[]);return q(()=>c("div",{class:z(["v-slider-track",u.value,e.class]),style:G([{"--v-slider-track-size":L(f.value),"--v-slider-tick-size":L(b.value)},e.style])},[c("div",{class:z(["v-slider-track__background",g.value,{"v-slider-track__background--opacity":!!i.value||!d.value}]),style:{...H.value,...F.value}},null),c("div",{class:z(["v-slider-track__fill",v.value]),style:{...x.value,...y.value}},null),n.value&&c("div",{class:z(["v-slider-track__ticks",{"v-slider-track__ticks--always-show":n.value==="always"}])},[A.value])])),{}}}),Ot=I({...kt(),...Nt(),...ft(),modelValue:{type:[Number,String],default:0}},"VSlider"),Ee=ke()({name:"VSlider",props:Ot(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:l,emit:r}=t;const i=ee(),{rtlClasses:a}=ie(),o=Rt(e),n=he(e,"modelValue",void 0,S=>o.roundValue(S??o.min.value)),{min:b,max:k,mousePressed:d,roundValue:f,onSliderMousedown:V,onSliderTouchstart:p,trackContainerRef:M,position:R,hasLabels:u,readonly:v}=Tt({props:e,steps:o,onSliderStart:()=>{r("start",n.value)},onSliderEnd:S=>{let{value:H}=S;const P=f(H);n.value=P,r("end",P)},onSliderMove:S=>{let{value:H}=S;return n.value=f(H)},getActiveThumb:()=>{var S;return(S=i.value)==null?void 0:S.$el}}),{isFocused:y,focus:g,blur:F}=ht(e),N=h(()=>R(n.value));return q(()=>{const S=xe.filterProps(e),H=!!(e.label||l.label||l.prepend);return E(xe,Re({class:["v-slider",{"v-slider--has-labels":!!l["tick-label"]||u.value,"v-slider--focused":y.value,"v-slider--pressed":d.value,"v-slider--disabled":e.disabled},a.value,e.class],style:e.style},S,{focused:y.value}),{...l,prepend:H?P=>{var x,A;return c(Ne,null,[((x=l.label)==null?void 0:x.call(l,P))??(e.label?E(bt,{id:P.id.value,class:"v-slider__label",text:e.label},null):void 0),(A=l.prepend)==null?void 0:A.call(l,P)])}:void 0,default:P=>{let{id:x,messagesId:A}=P;return c("div",{class:"v-slider__container",onMousedown:v.value?void 0:V,onTouchstartPassive:v.value?void 0:p},[c("input",{id:x.value,name:e.name||x.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:n.value},null),E(At,{ref:M,start:0,stop:N.value},{"tick-label":l["tick-label"]}),E(Lt,{ref:i,"aria-describedby":A.value,focused:y.value,min:b.value,max:k.value,modelValue:n.value,"onUpdate:modelValue":T=>n.value=T,position:N.value,elevation:e.elevation,onFocus:g,onBlur:F,ripple:e.ripple,name:e.name},{"thumb-label":l["thumb-label"]})])}})}),{}}}),Dt=I({color:{type:Object},disabled:Boolean,hideAlpha:Boolean,...te()},"VColorPickerPreview"),jt=ae({name:"VColorPickerPreview",props:Dt(),emits:{"update:color":e=>!0},setup(e,t){let{emit:l}=t;const r=new AbortController;tt(()=>r.abort());async function i(){if(!Ce||e.disabled)return;const a=new window.EyeDropper;try{const o=await a.open({signal:r.signal}),n=se(ye(o.sRGBHex));l("update:color",{...e.color??Q,...n})}catch{}}return q(()=>{var a,o;return c("div",{class:z(["v-color-picker-preview",{"v-color-picker-preview--hide-alpha":e.hideAlpha},e.class]),style:G(e.style)},[Ce&&c("div",{class:"v-color-picker-preview__eye-dropper",key:"eyeDropper"},[E(Be,{density:"comfortable",disabled:e.disabled,icon:"$eyeDropper",variant:"plain",onClick:i},null)]),c("div",{class:"v-color-picker-preview__dot"},[c("div",{style:{background:Te(e.color??Q)}},null)]),c("div",{class:"v-color-picker-preview__sliders"},[E(Ee,{class:"v-color-picker-preview__track v-color-picker-preview__hue",modelValue:(a=e.color)==null?void 0:a.h,"onUpdate:modelValue":n=>l("update:color",{...e.color??Q,h:n}),step:0,min:0,max:360,disabled:e.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null),!e.hideAlpha&&E(Ee,{class:"v-color-picker-preview__track v-color-picker-preview__alpha",modelValue:((o=e.color)==null?void 0:o.a)??1,"onUpdate:modelValue":n=>l("update:color",{...e.color??Q,a:n}),step:1/256,min:0,max:1,disabled:e.disabled,thumbSize:14,trackSize:8,trackFillColor:"white",hideDetails:!0},null)])])}),{}}}),It=I({swatches:{type:Array,default:()=>$t(yt)},disabled:Boolean,color:Object,maxHeight:[Number,String],...te()},"VColorPickerSwatches");function $t(e){return Object.keys(e).map(t=>{const l=e[t];return l.base?[l.base,l.darken4,l.darken3,l.darken2,l.darken1,l.lighten1,l.lighten2,l.lighten3,l.lighten4,l.lighten5]:[l.black,l.white,l.transparent]})}const Ut=ae({name:"VColorPickerSwatches",props:It(),emits:{"update:color":e=>!0},setup(e,t){let{emit:l}=t;return q(()=>c("div",{class:z(["v-color-picker-swatches",e.class]),style:G([{maxHeight:L(e.maxHeight)},e.style])},[c("div",null,[e.swatches.map(r=>c("div",{class:"v-color-picker-swatches__swatch"},[r.map(i=>{const a=ye(i),o=se(a),n=lt(a);return c("div",{class:"v-color-picker-swatches__color",onClick:()=>o&&l("update:color",o)},[c("div",{style:{background:n}},[e.color&&at(e.color,o)?E(vt,{size:"x-small",icon:"$success",color:ot(i,"#FFFFFF")>2?"white":"black"},null):void 0])])})]))])])),{}}}),Gt=I({canvasHeight:{type:[String,Number],default:150},disabled:Boolean,dotSize:{type:[Number,String],default:10},hideCanvas:Boolean,hideSliders:Boolean,hideInputs:Boolean,mode:{type:String,default:"rgba",validator:e=>Object.keys(Y).includes(e)},modes:{type:Array,default:()=>Object.keys(Y),validator:e=>Array.isArray(e)&&e.every(t=>Object.keys(Y).includes(t))},showSwatches:Boolean,swatches:Array,swatchesMaxHeight:{type:[Number,String],default:150},modelValue:{type:[Object,String]},...gt({hideHeader:!0})},"VColorPicker"),Qt=ae({name:"VColorPicker",props:Gt(),emits:{"update:modelValue":e=>!0,"update:mode":e=>!0},setup(e,t){let{slots:l}=t;const r=he(e,"mode"),i=ee(null),a=he(e,"modelValue",void 0,d=>{if(d==null||d==="")return null;let f;try{f=se(ye(d))}catch{return null}return f},d=>d?Ct(d,e.modelValue):null),o=h(()=>a.value?{...a.value,h:i.value??a.value.h}:null),{rtlClasses:n}=ie();let b=!0;ne(a,d=>{if(!b){b=!0;return}d&&(i.value=d.h)},{immediate:!0});const k=d=>{b=!1,i.value=d.h,a.value=d};return rt(()=>{e.modes.includes(r.value)||(r.value=e.modes[0])}),nt({VSlider:{color:void 0,trackColor:void 0,trackFillColor:void 0}}),q(()=>{const d=_e.filterProps(e);return E(_e,Re(d,{class:["v-color-picker",n.value,e.class],style:[{"--v-color-picker-color-hsv":Te({...o.value??Q,a:1})},e.style]}),{...l,default:()=>c(Ne,null,[!e.hideCanvas&&E(St,{key:"canvas",color:o.value,"onUpdate:color":k,disabled:e.disabled,dotSize:e.dotSize,width:e.width,height:e.canvasHeight},null),(!e.hideSliders||!e.hideInputs)&&c("div",{key:"controls",class:"v-color-picker__controls"},[!e.hideSliders&&E(jt,{key:"preview",color:o.value,"onUpdate:color":k,hideAlpha:!r.value.endsWith("a"),disabled:e.disabled},null),!e.hideInputs&&E(Ft,{key:"edit",modes:e.modes,mode:r.value,"onUpdate:mode":f=>r.value=f,color:o.value,"onUpdate:color":k,disabled:e.disabled},null)]),e.showSwatches&&E(Ut,{key:"swatches",color:o.value,"onUpdate:color":k,maxHeight:e.swatchesMaxHeight,swatches:e.swatches,disabled:e.disabled},null)])})}),{}}});export{Qt as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/* empty css */import{f as r}from"./VAvatar-DbuoZWmf.js";const p=r("v-spacer","div","VSpacer");export{p as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{au as k,J as H,am as O,I as R,al as F,ac as D,K as J,g as X,h,a6 as B,z as K,a7 as Y,a as b,e as g,L as W,a1 as L,y as P,ak as N,N as U,a0 as q,a2 as V,aj as Q}from"./index-LhNzkzAh.js";import{c as Z,b as $,u as M}from"./tag-3cfI1_f7.js";import{h as p,V as _,u as ee,M as te,m as ne}from"./VAvatar-DbuoZWmf.js";import{u as oe,m as se}from"./forwardRefs-CpzzjgpX.js";import{u as ae}from"./ssrBoot-BxIQ9ccA.js";const ie=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:a}=e,u=.5,s=16;e.offsetX=t-o,e.offsetY=a-n,Math.abs(e.offsetY)<u*Math.abs(e.offsetX)&&(e.left&&t<o-s&&e.left(e),e.right&&t>o+s&&e.right(e)),Math.abs(e.offsetX)<u*Math.abs(e.offsetY)&&(e.up&&a<n-s&&e.up(e),e.down&&a>n+s&&e.down(e))};function ue(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function le(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),ie(o)}function ce(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function re(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>ue(t,o),touchend:t=>le(t,o),touchmove:t=>ce(t,o)}}function ve(e,o){var v;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,a=(t==null?void 0:t.options)??{passive:!0},u=(v=o.instance)==null?void 0:v.$.uid;if(!n||!u)return;const s=re(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[u]=s,k(s).forEach(r=>{n.addEventListener(r,s[r],a)})}function de(e,o){var u,s;const t=(u=o.value)!=null&&u.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const a=t._touchHandlers[n];k(a).forEach(v=>{t.removeEventListener(v,a[v])}),delete t._touchHandlers[n]}const C={mounted:ve,unmounted:de},j=Symbol.for("vuetify:v-window"),z=Symbol.for("vuetify:v-window-group"),fe=H({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...$(),...Z(),...O()},"VWindow"),xe=R()({name:"VWindow",directives:{vTouch:C},props:fe(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=F(e),{isRtl:a}=D(),{t:u}=J(),s=p(e,z),v=X(),r=h(()=>a.value?!e.reverse:e.reverse),d=B(!1),y=h(()=>{const i=e.direction==="vertical"?"y":"x",f=(r.value?!d.value:d.value)?"-reverse":"";return`v-window-${i}${f}-transition`}),x=B(0),T=X(void 0),m=h(()=>s.items.value.findIndex(i=>s.selected.value.includes(i.id)));K(m,(i,c)=>{const f=s.items.value.length,w=f-1;f<=2?d.value=i<c:i===w&&c===0?d.value=!0:i===0&&c===w?d.value=!1:d.value=i<c}),N(j,{transition:y,isReversed:d,transitionCount:x,transitionHeight:T,rootRef:v});const l=Y(()=>e.continuous||m.value!==0),I=Y(()=>e.continuous||m.value!==s.items.value.length-1);function S(){l.value&&s.prev()}function E(){I.value&&s.next()}const A=h(()=>{const i=[],c={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${r.value?"right":"left"}`,onClick:s.prev,"aria-label":u("$vuetify.carousel.prev")};i.push(l.value?t.prev?t.prev({props:c}):b(_,c,null):g("div",null,null));const f={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${r.value?"left":"right"}`,onClick:s.next,"aria-label":u("$vuetify.carousel.next")};return i.push(I.value?t.next?t.next({props:f}):b(_,f,null):g("div",null,null)),i}),G=h(()=>e.touch===!1?e.touch:{...{left:()=>{r.value?S():E()},right:()=>{r.value?E():S()},start:c=>{let{originalEvent:f}=c;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return M(()=>W(b(e.tag,{ref:v,class:P(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},n.value,e.class]),style:L(e.style)},{default:()=>{var i,c;return[g("div",{class:"v-window__container",style:{height:T.value}},[(i=t.default)==null?void 0:i.call(t,{group:s}),e.showArrows!==!1&&g("div",{class:"v-window__controls"},[A.value])]),(c=t.additional)==null?void 0:c.call(t,{group:s})]}}),[[C,G.value]])),{group:s}}}),he=H({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...$(),...ne(),...se()},"VWindowItem"),Be=R()({name:"VWindowItem",directives:{vTouch:C},props:he(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=U(j),a=ee(e,z),{isBooted:u}=ae();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=B(!1),v=h(()=>u.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function r(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function d(){var l;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=V((l=n.rootRef.value)==null?void 0:l.clientHeight)),n.transitionCount.value+=1)}function y(){r()}function x(l){s.value&&q(()=>{!v.value||!s.value||!n||(n.transitionHeight.value=V(l.clientHeight))})}const T=h(()=>{const l=n.isReversed.value?e.reverseTransition:e.transition;return v.value?{name:typeof l!="string"?n.transition.value:l,onBeforeEnter:d,onAfterEnter:r,onEnterCancelled:y,onBeforeLeave:d,onAfterLeave:r,onLeaveCancelled:y,onEnter:x}:!1}),{hasContent:m}=oe(e,a.isSelected);return M(()=>b(te,{transition:T.value,disabled:!u.value},{default:()=>{var l;return[W(g("div",{class:P(["v-window-item",a.selectedClass.value,e.class]),style:L(e.style)},[m.value&&((l=t.default)==null?void 0:l.call(t))]),[[Q,a.isSelected.value]])]}})),{groupItem:a}}});export{xe as V,Be as a,he as b,fe as m};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as ne,H as E,A as se,B as H,n as D,g as u,z as T,r as ie,l as M,o as m,F as O,s as re,y as Q,e as L,c as j,m as A,a,f as g,t as U,p as K,b as W,h as F,w as f,j as P,q as ue}from"./index-LhNzkzAh.js";import{u as me}from"./logos-Bvcy0usu.js";import{_ as de}from"./ConfirmDialog-CcPrCKuI.js";import{_ as ce,V as pe}from"./ConnectedLayout-CWlBK7Hf.js";import{a as _}from"./webmail-B2IUjaxM.js";import{c as G,V as N,a as ve,j as fe}from"./VAvatar-DbuoZWmf.js";import{V as Y}from"./VSpacer-CoJVmx8k.js";import{V as be,r as xe}from"./VForm-DsRLc-sa.js";import{V as ge,b as ye,a as Me}from"./VCard-DzjUT5OP.js";import{V as Ve}from"./VTextField-DKbr4H5w.js";import{V as _e}from"./VDialog-DmTGCGR0.js";import{V as he}from"./VMenu-nv0XOgg0.js";import{V as Ce,a as R}from"./forwardRefs-CpzzjgpX.js";import"./VToolbar-BxX3W2kR.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./layout.store-Vq5mvIp7.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";import"./VInput-DVKUObZe.js";const we=["onClick","onMouseover","onMouseleave"],ke={key:0,class:"font-weight-bold"},Ue={key:1},$e={key:0,class:"font-weight-bold"},Be={key:1},Le={__name:"MailboxList",props:E({mailboxes:{type:Array,default:null},lightMode:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},unseenCounters:{type:Boolean,default:!0},allowUnselect:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:E(["update:modelValue"],["update:modelValue"]),setup(S,{emit:y}){const t=S,n=se(S,"modelValue"),i=y,V=H(),r=D(),$={inbox:"mdi-inbox",draft:"mdi-file",junk:"mdi-fire",sent:"mdi-email-fast-outline",trash:"mdi-trash-can-outline",normal:"mdi-folder-outline"},d=u(null),h=u({}),c=u({});function b(e){return e.label.split("/").pop()}function B(e){return d.value===null&&(d.value=e.unseen),d.value}function s(e,C){h.value[e.name]=C}function o(e){return n.value===e.name?"bg-primary-lighten-1":t.lightMode?h.value[e.name]?"bg-primary":"bg-white":h.value[e.name]?"bg-primary-lighten-1":"bg-primary"}function p(e){return c.value[e.name]}function q(e){c.value[e.name]||(c.value[e.name]=!1),c.value[e.name]=!c.value[e.name],c.value[e.name]&&!e.sub.length&&_.getUserMailboxes(e.name).then(C=>{e.sub=C.data.mailboxes})}function I(e){t.allowUnselect&&e===n.value?i("update:modelValue",null):i("update:modelValue",e)}return T(()=>r.mbCounterKey,()=>{_.getUserMailboxUnseen(V.query.mailbox).then(e=>{d.value=e.data.counter})}),(e,C)=>{const z=ie("MailboxList",!0);return m(),M("div",null,[(m(!0),M(O,null,re(t.mailboxes,l=>(m(),M("div",{key:l.name,class:Q(["pl-3 text-body-2",{"py-1":!t.compact}])},[L("div",{class:Q([o(l),"d-flex mailbox pa-1 align-center"]),onClick:w=>I(l.name),onMouseover:w=>s(l,!0),onMouseleave:w=>s(l,!1)},[a(G,{icon:$[l.type],class:"mr-4"},null,8,["icon"]),l.name===g(V).query.mailbox?(m(),M(O,{key:0},[d.value>0?(m(),M("span",ke,U(b(l))+" ("+U(B(l))+") ",1)):(m(),M("span",Ue,U(b(l)),1))],64)):(m(),M(O,{key:1},[l.unseen>0?(m(),M("span",$e,U(b(l))+" ("+U(l.unseen)+") ",1)):(m(),M("span",Be,U(b(l)),1))],64)),a(Y),l.sub?(m(),j(N,{key:2,icon:p(l)?"mdi-minus":"mdi-plus",size:"xsmall",variant:"flat",color:"transparent",onClick:K(w=>q(l),["stop"])},null,8,["icon","onClick"])):A("",!0)],42,we),p(l)&&l.sub&&l.sub.length?(m(),j(z,{key:0,modelValue:n.value,"onUpdate:modelValue":C[0]||(C[0]=w=>n.value=w),mailboxes:l.sub,class:"mt-1","light-mode":t.lightMode,compact:t.compact},null,8,["modelValue","mailboxes","light-mode","compact"])):A("",!0)],2))),128))])}}},J=ne(Le,[["__scopeId","data-v-62d5beb0"]]),Ne={class:"mb-2 rounded-lg"},Se={__name:"MailboxForm",props:{userMailboxes:Array,mailbox:{type:String,default:null},hdelimiter:{type:String,default:null}},emits:["close","mailboxRenamed"],setup(S,{emit:y}){const t=S,n=y,{$gettext:i}=W(),{displayNotification:V}=D(),r=u({}),$=u(),d=u(!1),h=F(()=>t.mailbox?i("Edit mailbox"):i("Create new mailbox")),c=F(()=>t.mailbox?i("Update"):i("Create")),b=()=>{r.value={},n("close")},B=async()=>{const{valid:s}=await $.value.validate();if(s){d.value=!0;try{const o={...r.value};t.mailbox?(o.oldname=t.mailbox,await _.renameUserMailbox(o),V({msg:i("Mailbox renamed")}),n("mailboxRenamed",`${o.parent_mailbox}${t.hdelimiter}${o.name}`)):(await _.createUserMailbox(o),V({msg:i("Mailbox created")})),b()}finally{d.value=!1}}};return T(()=>t.mailbox,s=>{if(s){const o=t.mailbox.split(t.hdelimiter);r.value.name=o.slice(-1)[0],r.value.parent_mailbox=o.slice(0,-1).join(t.hdelimiter)}else r.value={}},{immediate:!0}),(s,o)=>(m(),j(Me,{title:h.value},{default:f(()=>[a(ge,null,{default:f(()=>[a(be,{ref_key:"formRef",ref:$},{default:f(()=>[a(Ve,{modelValue:r.value.name,"onUpdate:modelValue":o[0]||(o[0]=p=>r.value.name=p),label:g(i)("Name"),variant:"outlined",density:"compact",rules:[g(xe).required]},null,8,["modelValue","label","rules"]),L("div",Ne,[L("h4",null,U(g(i)("Parent mailbox")),1),a(J,{modelValue:r.value.parent_mailbox,"onUpdate:modelValue":o[1]||(o[1]=p=>r.value.parent_mailbox=p),"active-mailbox":t.parent,mailboxes:t.userMailboxes,"light-mode":"",compact:"","unseen-counters":!1,"allow-unselect":""},null,8,["modelValue","active-mailbox","mailboxes"])])]),_:1},512)]),_:1}),a(ye,null,{default:f(()=>[a(Y),a(N,{text:g(i)("Close"),variant:"flat",loading:d.value,onClick:b},null,8,["text","loading"]),a(N,{text:c.value,variant:"tonal",color:"primary",loading:d.value,onClick:B},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},qe={class:"d-flex align-center"},Fe={class:"d-flex justify-center mb-4"},Ie={class:"border-t-sm d-flex align-center bg-grey"},ua={__name:"WebmailLayout",async setup(S){let y,t;const{$gettext:n}=W(),i=H(),V=ue(),r=D(),{menuLogoPath:$}=me(),d=u(),h=u(!0),c=u(!1),b=u(null),B=u(null),s=u(null),o=u(i.query.mailbox||"INBOX"),p=u(!1),q=u([]),I=F(()=>["INBOX"].includes(i.query.mailbox||"INBOX")),e=F(()=>s.value.usage<50?"info":s.value.usage<80?"warning":"error"),C=F(()=>`${s.value.current} / ${s.value.limit} (${s.value.usage}%)`);function z(x){V.push({name:"MailboxView",query:{mailbox:x}}),_.getUserMailboxQuota(x).then(v=>{s.value=v.data})}const l=async()=>{const x=await _.getUserMailboxes();q.value=x.data.mailboxes,B.value=x.data.hdelimiter},w=()=>{V.push({name:"ComposeEmailView"})},Z=()=>{p.value=!1,b.value=null,l()},ee=()=>{p.value=!0},ae=()=>{b.value=o.value,p.value=!0},X=x=>{o.value=x,V.push({name:"MailboxView",query:{mailbox:x}})},le=async()=>{await _.compressUserMailbox({name:o.value}),r.displayNotification({msg:n("Mailbox compressed")})},te=async()=>{await d.value.open(n("Warning"),n("Delete this mailbox?"),{color:"warning",agreeLabel:n("Yes"),cancelLabel:n("No")})&&(await _.deleteUserMailbox({name:o.value}),r.displayNotification({msg:n("Mailbox deleted")}),X("INBOX"))};T(()=>r.dataKey,()=>{l()}),[y,t]=P(()=>l()),await y,t();const oe=([y,t]=P(()=>_.getUserMailboxQuota(i.query.mailbox||"INBOX")),y=await y,t(),y);return s.value=oe.data,(x,v)=>(m(),M(O,null,[a(ce,null,{navbar:f(()=>[a(pe,{modelValue:h.value,"onUpdate:modelValue":v[2]||(v[2]=k=>h.value=k),rail:c.value,permanent:"",color:"primary",app:""},{prepend:f(()=>[L("div",qe,[a(fe,{src:g($),"max-width":"190",class:"logo"},null,8,["src"]),a(N,{icon:c.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:v[0]||(v[0]=K(k=>c.value=!c.value,["stop"]))},null,8,["icon"])]),L("div",Fe,[a(N,{text:g(n)("Compose"),color:"secondary",variant:"flat","prepend-icon":"mdi-pencil",onClick:w},null,8,["text"])])]),append:f(()=>[L("div",Ie,[a(N,{class:"ml-2",variant:"text",icon:"",size:"small"},{default:f(()=>[a(G,{icon:"mdi-cog"}),a(he,{activator:"parent"},{default:f(()=>[a(Ce,{density:"compact"},{default:f(()=>[a(R,{title:g(n)("Create a new mailbox"),"prepend-icon":"mdi-plus",onClick:ee},null,8,["title"]),a(R,{title:g(n)("Edit this mailbox"),"prepend-icon":"mdi-pencil",disabled:I.value,onClick:ae},null,8,["title","disabled"]),a(R,{title:g(n)("Delete this mailbox"),"prepend-icon":"mdi-trash-can",disabled:I.value,onClick:te},null,8,["title","disabled"]),a(R,{title:g(n)("Compress this mailbox"),"prepend-icon":"mdi-folder-zip-outline",onClick:le},null,8,["title"])]),_:1})]),_:1})]),_:1}),s.value?(m(),j(ve,{key:0,color:e.value,"model-value":s.value.usage,title:C.value},null,8,["color","model-value","title"])):A("",!0)])]),default:f(()=>[a(J,{modelValue:o.value,"onUpdate:modelValue":[v[1]||(v[1]=k=>o.value=k),z],mailboxes:q.value,class:"mr-2"},null,8,["modelValue","mailboxes"])]),_:1},8,["modelValue","rail"])]),_:1}),a(_e,{modelValue:p.value,"onUpdate:modelValue":v[4]||(v[4]=k=>p.value=k),"max-width":"800"},{default:f(()=>[a(Se,{"user-mailboxes":q.value,mailbox:b.value,hdelimiter:B.value,onMailboxRenamed:X,onClose:v[3]||(v[3]=k=>Z())},null,8,["user-mailboxes","mailbox","hdelimiter"])]),_:1},8,["modelValue"]),a(de,{ref_key:"confirm",ref:d},null,512)],64))}};export{ua as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e}from"./index-LhNzkzAh.js";const a="domains",n="domainaliases",i={getDomains(){return e.get(`/${a}/`)},getDomain(t){return e.get(`/${a}/${t}/`)},getDomainDNSDetail(t){return e.get(`/${a}/${t}/dns_detail/`)},getDomainDmarcAlignment(t,r){return e.get(`${a}/${t}/dmarc/alignment_stats/`,{params:{period:r}})},getDomainAliases(t){let r=`/${n}/`;return t!==void 0&&(r+=`?domain=${t}`),e.get(r)},getDomainAdministrators(t){return e.get(`/${a}/${t}/administrators/`)},addDomainAdministrator(t,r){return e.post(`/${a}/${t}/administrators/add/`,{account:r})},removeDomainAdministrator(t,r){return e.post(`/${a}/${t}/administrators/remove/`,{account:r})},createDomain(t){return e.post(`/${a}/`,t)},updateDomain(t,r){return e.put(`/${a}/${t}/`,r)},patchDomain(t,r){return e.patch(`/${a}/${t}/`,r)},deleteDomain(t,r){return e.post(`/${a}/${t}/delete/`,r)},createDomainAlias(t){return e.post(`/${n}/`,t)},updateDomainAlias(t,r){return e.put(`/${n}/${t}/`,r)},deleteDomainAlias(t){return e.delete(`/${n}/${t}/`)},exportAll(){return e.get(`/${a}/export/`)},importFromCSV(t){return e.post(`/${a}/import/`,t,{headers:{"Content-Type":"multipart/form-data"}})}};export{i as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as h,b as g,c as C,o as w,w as l,a as o,p as k,e as v,t as r,x as _,k as p,f as s,n as b}from"./index-LhNzkzAh.js";import{V as N,r as y}from"./VForm-DsRLc-sa.js";import{c as F,V as U,b as B,a as T}from"./VCard-DzjUT5OP.js";import{V as L}from"./VAlert-4r6LxKtg.js";import{V as R}from"./VFileInput-SULIc6F3.js";import{V as $}from"./VTextField-DKbr4H5w.js";import{V as j}from"./VSwitch-DPnjPQuU.js";import{V as q}from"./VSpacer-CoJVmx8k.js";import{V as x}from"./VAvatar-DbuoZWmf.js";const D={class:"headline"},I={class:"m-label"},A={class:"m-label"},K={__name:"ImportForm",props:{helpText:{type:String,default:""},title:{type:String,default:""}},emits:["close","submit"],setup(f,{expose:V,emit:i}){const n=i,t=h({}),u=h(),{$gettext:e}=g();function c(){t.value={},n("close")}async function S(){const{valid:d}=await u.value.validate();if(!d)return;const a=new FormData;a.append("sourcefile",t.value.sourcefile),t.value.sepchar&&a.append("sepchar",t.value.sepchar),t.value.continue_if_exists&&a.append("continue_if_exists",t.value.continue_if_exists),n("submit",a,t.value)}return V({close:c}),(d,a)=>(w(),C(T,null,{default:l(()=>[o(N,{ref_key:"vform",ref:u,onSubmit:k(S,["prevent"])},{default:l(()=>[o(F,null,{default:l(()=>[v("span",D,r(f.title),1)]),_:1}),o(U,null,{default:l(()=>[o(L,{variant:"tonal",type:"info",class:"mb-2"},{default:l(()=>[p(r(s(e)("Provide a CSV file where lines respect one of the following formats:"))+" ",1),_(d.$slots,"help"),p(" "+r(s(e)("The first element of each line is mandatory and must be equal to one of the previous values."))+" "+r(s(e)("You can use a different character as separator.")),1)]),_:3}),v("label",I,r(s(e)("Select file")),1),o(R,{modelValue:t.value.sourcefile,"onUpdate:modelValue":a[0]||(a[0]=m=>t.value.sourcefile=m),accept:"text/csv","truncate-length":"15",variant:"outlined",density:"compact",rules:[s(y).required]},null,8,["modelValue","rules"]),v("label",A,r(s(e)("Separator")),1),o($,{modelValue:t.value.sepchar,"onUpdate:modelValue":a[1]||(a[1]=m=>t.value.sepchar=m),rules:[s(y).required],variant:"outlined",density:"compact"},null,8,["modelValue","rules"]),o(j,{modelValue:t.value.continue_if_exists,"onUpdate:modelValue":a[2]||(a[2]=m=>t.value.continue_if_exists=m),label:s(e)("Continue on error"),color:"primary",density:"compact",hint:s(e)("Don't treat duplicated objects as errors"),"persistent-hint":""},null,8,["modelValue","label","hint"]),_(d.$slots,"extraFields",{form:t.value})]),_:3}),o(B,null,{default:l(()=>[o(q),o(x,{onClick:c},{default:l(()=>[p(r(s(e)("Close")),1)]),_:1}),o(x,{color:"primary",type:"submit"},{default:l(()=>[p(r(s(e)("Import")),1)]),_:1})]),_:1})]),_:3},512)]),_:3}))}},Q=()=>{function f(i,n,t){if(!i&&!i.length){b().displayNotification({msg:t("No data to export"),type:"warning"});return}const u=new Blob([i],{type:"text/csv"}),e=document.createElement("a");e.href=URL.createObjectURL(u),e.download=`modoboa-${n}.csv`,e.click(),URL.revokeObjectURL(e.href)}function V(i,n,t,u){i.importFromCSV(n).then(e=>{const c=b();e.data.status?(c.displayNotification({msg:e.data.message}),t.value.close()):c.displayNotification({msg:e.data.message,type:"error"})}).catch(()=>{b().displayNotification({msg:u("CSV seems to be badly formatted"),type:"error"})})}return{exportContent:f,importContent:V}};export{K as _,Q as i};
|