@saasicat/ui-vue 1.0.0-rc.21 → 1.0.0-rc.22
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.
- package/dist/.build-stamp +1 -1
- package/dist/assets/ui-vue.css +1 -1
- package/dist/{batch-column-fetcher-DQ89o95K.d.cts → batch-column-fetcher-AxKa7wcD.d.cts} +1 -1
- package/dist/{batch-column-fetcher-Sr48UWEX.d.ts → batch-column-fetcher-BrQLbwVk.d.ts} +1 -1
- package/dist/{catalog-0eZwciPW.d.cts → catalog-BuO6O37o.d.cts} +33 -1
- package/dist/{catalog-0eZwciPW.d.ts → catalog-BuO6O37o.d.ts} +33 -1
- package/dist/{chunk-CZIVA536.js → chunk-2ISFGJ3V.js} +62 -1
- package/dist/{chunk-VLGEOPZH.js → chunk-4HUJLH7O.js} +28 -11
- package/dist/{chunk-7CHT2ATN.js → chunk-7GO2PBDP.js} +1 -1
- package/dist/{chunk-47HDYN35.js → chunk-X27PN2LA.js} +1 -1
- package/dist/{chunk-RFJ4UGOE.js → chunk-ZY526U2H.js} +1 -1
- package/dist/client/index.cjs +62 -1
- package/dist/client/index.d.cts +4 -4
- package/dist/client/index.d.ts +4 -4
- package/dist/client/index.js +3 -3
- package/dist/index.cjs +128 -51
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +7 -5
- package/dist/pages/TenantDetailPage.js +98 -15
- package/dist/quasar/index.cjs +62 -1
- package/dist/quasar/index.d.cts +2 -2
- package/dist/quasar/index.d.ts +2 -2
- package/dist/quasar/index.js +2 -2
- package/dist/{resource-registry-GAxu2kn6.d.ts → resource-registry-B4PT_7ql.d.ts} +1 -1
- package/dist/{resource-registry-zfCLvEgx.d.cts → resource-registry-C-HClLXi.d.cts} +1 -1
- package/dist/vue/index.cjs +128 -51
- package/dist/vue/index.d.cts +20 -6
- package/dist/vue/index.d.ts +20 -6
- package/dist/vue/index.js +6 -4
- package/package.json +3 -3
- package/src/client/i18n/messages/tenants.ts +52 -0
- package/src/client/resources/tenants.resource.ts +20 -3
- package/src/index.ts +1 -0
- package/src/internal/tenant-detail/TenantCharges.vue +73 -0
- package/src/pages/TenantDetailPage.vue +22 -0
- package/src/vue/index.ts +1 -0
- package/src/vue/use-tenant-account.ts +37 -0
- package/src/vue/use-tenant-billing.ts +8 -0
package/dist/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
525845a48fd939462fd8200411afd68769cfa071bca832f87f14ed7ed939633a
|
package/dist/assets/ui-vue.css
CHANGED
|
@@ -6791,7 +6791,7 @@ code[data-v-aab75c67] {
|
|
|
6791
6791
|
font-size: var(--sa-text-md);
|
|
6792
6792
|
}
|
|
6793
6793
|
|
|
6794
|
-
code[data-v-
|
|
6794
|
+
code[data-v-481c2843] {
|
|
6795
6795
|
background: var(--sa-color-bg-sunken);
|
|
6796
6796
|
padding: var(--sa-space-0) var(--sa-space-2);
|
|
6797
6797
|
border-radius: var(--sa-radius-badge);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a5 as SaMessages, H as HttpClient, l as KvStore, a2 as SaLocale, aD as SaNavMessages } from './catalog-
|
|
1
|
+
import { a5 as SaMessages, H as HttpClient, l as KvStore, a2 as SaLocale, aD as SaNavMessages } from './catalog-BuO6O37o.cjs';
|
|
2
2
|
import { PublicBootResponse, AdminManifest, StandardPageKey, TenantColumnDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a5 as SaMessages, H as HttpClient, l as KvStore, a2 as SaLocale, aD as SaNavMessages } from './catalog-
|
|
1
|
+
import { a5 as SaMessages, H as HttpClient, l as KvStore, a2 as SaLocale, aD as SaNavMessages } from './catalog-BuO6O37o.js';
|
|
2
2
|
import { PublicBootResponse, AdminManifest, StandardPageKey, TenantColumnDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _saasicat_core from '@saasicat/core';
|
|
2
|
-
import { AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
2
|
+
import { AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Minimal abstraction over `fetch`. Consumers may pass their own
|
|
@@ -387,6 +387,11 @@ declare const tenantsResource: ResourceDef<{
|
|
|
387
387
|
*/
|
|
388
388
|
readonly suspend: (http: HttpClient, ctx: ResourceContext, slug: string, reason: string, mfaCode?: string) => Promise<void>;
|
|
389
389
|
readonly reactivate: (http: HttpClient, ctx: ResourceContext, slug: string, mfaCode?: string) => Promise<void>;
|
|
390
|
+
/**
|
|
391
|
+
* The charges of the tenant's subscriber, newest first. Served only where
|
|
392
|
+
* the manifest announces `charges.read`.
|
|
393
|
+
*/
|
|
394
|
+
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminSubscriberAccount>;
|
|
390
395
|
}>;
|
|
391
396
|
|
|
392
397
|
/** What the promo list can be narrowed by, including its "all" state. */
|
|
@@ -684,6 +689,7 @@ declare const platformResources: {
|
|
|
684
689
|
readonly detail: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantDetail | null>;
|
|
685
690
|
readonly suspend: (http: HttpClient, ctx: ResourceContext, slug: string, reason: string, mfaCode?: string) => Promise<void>;
|
|
686
691
|
readonly reactivate: (http: HttpClient, ctx: ResourceContext, slug: string, mfaCode?: string) => Promise<void>;
|
|
692
|
+
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberAccount>;
|
|
687
693
|
}>;
|
|
688
694
|
users: ResourceDef<{
|
|
689
695
|
readonly list: (http: HttpClient, ctx: ResourceContext, filter?: _saasicat_core.AdminUserListFilter) => Promise<_saasicat_core.AdminUserListRow[]>;
|
|
@@ -2247,6 +2253,32 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2247
2253
|
title: string;
|
|
2248
2254
|
columnEndsAt: string;
|
|
2249
2255
|
};
|
|
2256
|
+
charges: {
|
|
2257
|
+
title: string;
|
|
2258
|
+
holder: string;
|
|
2259
|
+
noHolder: string;
|
|
2260
|
+
empty: string;
|
|
2261
|
+
loadFailed: string;
|
|
2262
|
+
columnDue: string;
|
|
2263
|
+
columnPeriod: string;
|
|
2264
|
+
columnItem: string;
|
|
2265
|
+
columnKind: string;
|
|
2266
|
+
columnOrigin: string;
|
|
2267
|
+
columnAmount: string;
|
|
2268
|
+
source: {
|
|
2269
|
+
plan: string;
|
|
2270
|
+
bundle: string;
|
|
2271
|
+
discount: string;
|
|
2272
|
+
};
|
|
2273
|
+
origin: {
|
|
2274
|
+
activation: string;
|
|
2275
|
+
renewal: string;
|
|
2276
|
+
planChange: string;
|
|
2277
|
+
bundleBooking: string;
|
|
2278
|
+
credit: string;
|
|
2279
|
+
correction: string;
|
|
2280
|
+
};
|
|
2281
|
+
};
|
|
2250
2282
|
draft: {
|
|
2251
2283
|
planModules: string;
|
|
2252
2284
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _saasicat_core from '@saasicat/core';
|
|
2
|
-
import { AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
2
|
+
import { AdminAuditListFilter, AuditEntry, TenantListFilter, TenantDto, AdminTenantDetail, AdminSubscriberAccount, PromoCodeRecord, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRow, DiscoverySnapshot, KpiCardDef, BundleVersionRow, CreateBundleVersionDraftData, BundleVersionMutationResult, UpdateBundleVersionDraftData, BundleRow, CreateBundleData, UpdateBundleData, PlanVersionRow, CreatePlanVersionDraftData, PlanVersionMutationResult, UpdatePlanVersionDraftData, PlanRow, CreatePlanData, UpdatePlanData, StandardPageKey, AdminManifest, TenantActionDef } from '@saasicat/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Minimal abstraction over `fetch`. Consumers may pass their own
|
|
@@ -387,6 +387,11 @@ declare const tenantsResource: ResourceDef<{
|
|
|
387
387
|
*/
|
|
388
388
|
readonly suspend: (http: HttpClient, ctx: ResourceContext, slug: string, reason: string, mfaCode?: string) => Promise<void>;
|
|
389
389
|
readonly reactivate: (http: HttpClient, ctx: ResourceContext, slug: string, mfaCode?: string) => Promise<void>;
|
|
390
|
+
/**
|
|
391
|
+
* The charges of the tenant's subscriber, newest first. Served only where
|
|
392
|
+
* the manifest announces `charges.read`.
|
|
393
|
+
*/
|
|
394
|
+
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<AdminSubscriberAccount>;
|
|
390
395
|
}>;
|
|
391
396
|
|
|
392
397
|
/** What the promo list can be narrowed by, including its "all" state. */
|
|
@@ -684,6 +689,7 @@ declare const platformResources: {
|
|
|
684
689
|
readonly detail: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminTenantDetail | null>;
|
|
685
690
|
readonly suspend: (http: HttpClient, ctx: ResourceContext, slug: string, reason: string, mfaCode?: string) => Promise<void>;
|
|
686
691
|
readonly reactivate: (http: HttpClient, ctx: ResourceContext, slug: string, mfaCode?: string) => Promise<void>;
|
|
692
|
+
readonly charges: (http: HttpClient, ctx: ResourceContext, slug: string) => Promise<_saasicat_core.AdminSubscriberAccount>;
|
|
687
693
|
}>;
|
|
688
694
|
users: ResourceDef<{
|
|
689
695
|
readonly list: (http: HttpClient, ctx: ResourceContext, filter?: _saasicat_core.AdminUserListFilter) => Promise<_saasicat_core.AdminUserListRow[]>;
|
|
@@ -2247,6 +2253,32 @@ declare const tenantsMessages: Record<SaBuiltinLocale, {
|
|
|
2247
2253
|
title: string;
|
|
2248
2254
|
columnEndsAt: string;
|
|
2249
2255
|
};
|
|
2256
|
+
charges: {
|
|
2257
|
+
title: string;
|
|
2258
|
+
holder: string;
|
|
2259
|
+
noHolder: string;
|
|
2260
|
+
empty: string;
|
|
2261
|
+
loadFailed: string;
|
|
2262
|
+
columnDue: string;
|
|
2263
|
+
columnPeriod: string;
|
|
2264
|
+
columnItem: string;
|
|
2265
|
+
columnKind: string;
|
|
2266
|
+
columnOrigin: string;
|
|
2267
|
+
columnAmount: string;
|
|
2268
|
+
source: {
|
|
2269
|
+
plan: string;
|
|
2270
|
+
bundle: string;
|
|
2271
|
+
discount: string;
|
|
2272
|
+
};
|
|
2273
|
+
origin: {
|
|
2274
|
+
activation: string;
|
|
2275
|
+
renewal: string;
|
|
2276
|
+
planChange: string;
|
|
2277
|
+
bundleBooking: string;
|
|
2278
|
+
credit: string;
|
|
2279
|
+
correction: string;
|
|
2280
|
+
};
|
|
2281
|
+
};
|
|
2250
2282
|
draft: {
|
|
2251
2283
|
planModules: string;
|
|
2252
2284
|
};
|
|
@@ -904,7 +904,16 @@ var tenantsResource = defineResource("tenants", {
|
|
|
904
904
|
method: "POST",
|
|
905
905
|
headers: mfaHeader(mfaCode)
|
|
906
906
|
});
|
|
907
|
-
}
|
|
907
|
+
},
|
|
908
|
+
/**
|
|
909
|
+
* The charges of the tenant's subscriber, newest first. Served only where
|
|
910
|
+
* the manifest announces `charges.read`.
|
|
911
|
+
*/
|
|
912
|
+
charges: async (http, ctx, slug) => requestJsonBody(
|
|
913
|
+
http,
|
|
914
|
+
`${tenantUrl(ctx, slug)}/charges`,
|
|
915
|
+
"The account returned no body"
|
|
916
|
+
)
|
|
908
917
|
});
|
|
909
918
|
|
|
910
919
|
// src/client/resources/users.resource.ts
|
|
@@ -4309,6 +4318,32 @@ var tenantsMessages = defineMessages(
|
|
|
4309
4318
|
title: "Abonnements",
|
|
4310
4319
|
columnEndsAt: "Endet"
|
|
4311
4320
|
},
|
|
4321
|
+
charges: {
|
|
4322
|
+
title: "Buchungen",
|
|
4323
|
+
holder: "Konto von {customerNumber} \xB7 {legalName}",
|
|
4324
|
+
noHolder: "F\xFCr diesen Mandanten ist kein Kunde hinterlegt.",
|
|
4325
|
+
empty: "Noch keine Buchungen.",
|
|
4326
|
+
loadFailed: "Die Buchungen konnten nicht geladen werden.",
|
|
4327
|
+
columnDue: "F\xE4llig am",
|
|
4328
|
+
columnPeriod: "Zeitraum",
|
|
4329
|
+
columnItem: "Position",
|
|
4330
|
+
columnKind: "Art",
|
|
4331
|
+
columnOrigin: "Anlass",
|
|
4332
|
+
columnAmount: "Betrag netto",
|
|
4333
|
+
source: {
|
|
4334
|
+
plan: "Plan",
|
|
4335
|
+
bundle: "Zusatzpaket",
|
|
4336
|
+
discount: "Rabatt"
|
|
4337
|
+
},
|
|
4338
|
+
origin: {
|
|
4339
|
+
activation: "Aktivierung",
|
|
4340
|
+
renewal: "Verl\xE4ngerung",
|
|
4341
|
+
planChange: "Planwechsel",
|
|
4342
|
+
bundleBooking: "Zusatzbuchung",
|
|
4343
|
+
credit: "Gutschrift",
|
|
4344
|
+
correction: "Korrektur"
|
|
4345
|
+
}
|
|
4346
|
+
},
|
|
4312
4347
|
draft: {
|
|
4313
4348
|
planModules: "{count} Basis-Module"
|
|
4314
4349
|
}
|
|
@@ -4357,6 +4392,32 @@ var tenantsMessages = defineMessages(
|
|
|
4357
4392
|
title: "Subscriptions",
|
|
4358
4393
|
columnEndsAt: "Ends"
|
|
4359
4394
|
},
|
|
4395
|
+
charges: {
|
|
4396
|
+
title: "Charges",
|
|
4397
|
+
holder: "Account of {customerNumber} \xB7 {legalName}",
|
|
4398
|
+
noHolder: "No customer is on record for this tenant.",
|
|
4399
|
+
empty: "No charges yet.",
|
|
4400
|
+
loadFailed: "The charges could not be loaded.",
|
|
4401
|
+
columnDue: "Due",
|
|
4402
|
+
columnPeriod: "Period",
|
|
4403
|
+
columnItem: "Item",
|
|
4404
|
+
columnKind: "Kind",
|
|
4405
|
+
columnOrigin: "Reason",
|
|
4406
|
+
columnAmount: "Net amount",
|
|
4407
|
+
source: {
|
|
4408
|
+
plan: "Plan",
|
|
4409
|
+
bundle: "Add-on",
|
|
4410
|
+
discount: "Discount"
|
|
4411
|
+
},
|
|
4412
|
+
origin: {
|
|
4413
|
+
activation: "Activation",
|
|
4414
|
+
renewal: "Renewal",
|
|
4415
|
+
planChange: "Plan change",
|
|
4416
|
+
bundleBooking: "Add-on booking",
|
|
4417
|
+
credit: "Credit",
|
|
4418
|
+
correction: "Correction"
|
|
4419
|
+
}
|
|
4420
|
+
},
|
|
4360
4421
|
draft: {
|
|
4361
4422
|
planModules: "{count} base modules"
|
|
4362
4423
|
}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
buildRoutes,
|
|
5
5
|
buildSidebar,
|
|
6
6
|
defaultSectionOrder
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZY526U2H.js";
|
|
8
8
|
import {
|
|
9
9
|
SUPER_ADMIN_ACTIONS_KEY,
|
|
10
10
|
SUPER_ADMIN_BRAND_KEY,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
useResource,
|
|
19
19
|
useSaMessages,
|
|
20
20
|
useSuperAdminI18n
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-7GO2PBDP.js";
|
|
22
22
|
import {
|
|
23
23
|
AdminError,
|
|
24
24
|
BootLoader,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
requireServerAnswer,
|
|
45
45
|
toAdminError,
|
|
46
46
|
trimTrailingSlashes
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-2ISFGJ3V.js";
|
|
48
48
|
|
|
49
49
|
// src/vue/status.ts
|
|
50
50
|
var PROMO_STATUS_TONE = {
|
|
@@ -2602,8 +2602,24 @@ async function runFlow(def, row, registry, providers, successTemplate) {
|
|
|
2602
2602
|
}
|
|
2603
2603
|
}
|
|
2604
2604
|
|
|
2605
|
+
// src/vue/use-tenant-account.ts
|
|
2606
|
+
import { computed as computed10 } from "vue";
|
|
2607
|
+
import {
|
|
2608
|
+
SUBSCRIBER_ACCOUNT_CAPABILITY
|
|
2609
|
+
} from "@saasicat/core";
|
|
2610
|
+
function useTenantAccount(slug, manifest, tenants) {
|
|
2611
|
+
const available = computed10(
|
|
2612
|
+
() => manifest.value?.capabilities?.[SUBSCRIBER_ACCOUNT_CAPABILITY] === true
|
|
2613
|
+
);
|
|
2614
|
+
const account = useAsyncData(
|
|
2615
|
+
async () => available.value && slug.value ? tenants.charges(slug.value) : null,
|
|
2616
|
+
{ initial: null, watch: [slug, available] }
|
|
2617
|
+
);
|
|
2618
|
+
return { ...account, available };
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2605
2621
|
// src/vue/use-platform-tenant-actions.ts
|
|
2606
|
-
import { computed as
|
|
2622
|
+
import { computed as computed11, ref as ref29 } from "vue";
|
|
2607
2623
|
var DEFAULT_VISIBLE_FOR_ROW = (def, row) => {
|
|
2608
2624
|
if (def.actionKey === "tenants.suspend") return row.isActive;
|
|
2609
2625
|
if (def.actionKey === "tenants.reactivate") return !row.isActive;
|
|
@@ -2706,7 +2722,7 @@ function usePlatformTenantActions(options) {
|
|
|
2706
2722
|
},
|
|
2707
2723
|
visibleForRow
|
|
2708
2724
|
});
|
|
2709
|
-
const manifestActions =
|
|
2725
|
+
const manifestActions = computed11(
|
|
2710
2726
|
() => flow.availableActions.value.map((def) => ({
|
|
2711
2727
|
id: def.id,
|
|
2712
2728
|
label: def.label,
|
|
@@ -2720,7 +2736,7 @@ function usePlatformTenantActions(options) {
|
|
|
2720
2736
|
}
|
|
2721
2737
|
}))
|
|
2722
2738
|
);
|
|
2723
|
-
const realOrphans =
|
|
2739
|
+
const realOrphans = computed11(() => {
|
|
2724
2740
|
const caps = options.manifest.value?.capabilities ?? {};
|
|
2725
2741
|
const defs = options.manifest.value?.tenants?.actions ?? [];
|
|
2726
2742
|
const defByActionKey = new Map(defs.map((d) => [d.actionKey, d]));
|
|
@@ -2928,17 +2944,17 @@ function useDialog(options) {
|
|
|
2928
2944
|
}
|
|
2929
2945
|
|
|
2930
2946
|
// src/vue/use-steps.ts
|
|
2931
|
-
import { computed as
|
|
2947
|
+
import { computed as computed12, nextTick as nextTick2, ref as ref33 } from "vue";
|
|
2932
2948
|
function useSteps(options) {
|
|
2933
2949
|
const { steps } = options;
|
|
2934
2950
|
if (steps.length === 0) throw new Error("useSteps needs at least one step");
|
|
2935
2951
|
const first = steps[0];
|
|
2936
2952
|
const current = ref33(first);
|
|
2937
2953
|
const headingRef = ref33(null);
|
|
2938
|
-
const index =
|
|
2939
|
-
const isFirst =
|
|
2940
|
-
const isLast =
|
|
2941
|
-
const canAdvance =
|
|
2954
|
+
const index = computed12(() => steps.indexOf(current.value));
|
|
2955
|
+
const isFirst = computed12(() => index.value <= 0);
|
|
2956
|
+
const isLast = computed12(() => index.value === steps.length - 1);
|
|
2957
|
+
const canAdvance = computed12(() => !isLast.value && mayLeave(current.value));
|
|
2942
2958
|
function mayLeave(step) {
|
|
2943
2959
|
return options.canLeave?.(step) ?? true;
|
|
2944
2960
|
}
|
|
@@ -3224,6 +3240,7 @@ export {
|
|
|
3224
3240
|
useNav,
|
|
3225
3241
|
useActions,
|
|
3226
3242
|
useTenantActionFlow,
|
|
3243
|
+
useTenantAccount,
|
|
3227
3244
|
defaultIconForActionKey,
|
|
3228
3245
|
defaultToneForActionKey,
|
|
3229
3246
|
usePlatformTenantActions,
|
package/dist/client/index.cjs
CHANGED
|
@@ -1162,7 +1162,16 @@ var tenantsResource = defineResource("tenants", {
|
|
|
1162
1162
|
method: "POST",
|
|
1163
1163
|
headers: mfaHeader(mfaCode)
|
|
1164
1164
|
});
|
|
1165
|
-
}
|
|
1165
|
+
},
|
|
1166
|
+
/**
|
|
1167
|
+
* The charges of the tenant's subscriber, newest first. Served only where
|
|
1168
|
+
* the manifest announces `charges.read`.
|
|
1169
|
+
*/
|
|
1170
|
+
charges: async (http, ctx, slug) => requestJsonBody(
|
|
1171
|
+
http,
|
|
1172
|
+
`${tenantUrl(ctx, slug)}/charges`,
|
|
1173
|
+
"The account returned no body"
|
|
1174
|
+
)
|
|
1166
1175
|
});
|
|
1167
1176
|
|
|
1168
1177
|
// src/client/resources/users.resource.ts
|
|
@@ -4974,6 +4983,32 @@ var tenantsMessages = defineMessages(
|
|
|
4974
4983
|
title: "Abonnements",
|
|
4975
4984
|
columnEndsAt: "Endet"
|
|
4976
4985
|
},
|
|
4986
|
+
charges: {
|
|
4987
|
+
title: "Buchungen",
|
|
4988
|
+
holder: "Konto von {customerNumber} \xB7 {legalName}",
|
|
4989
|
+
noHolder: "F\xFCr diesen Mandanten ist kein Kunde hinterlegt.",
|
|
4990
|
+
empty: "Noch keine Buchungen.",
|
|
4991
|
+
loadFailed: "Die Buchungen konnten nicht geladen werden.",
|
|
4992
|
+
columnDue: "F\xE4llig am",
|
|
4993
|
+
columnPeriod: "Zeitraum",
|
|
4994
|
+
columnItem: "Position",
|
|
4995
|
+
columnKind: "Art",
|
|
4996
|
+
columnOrigin: "Anlass",
|
|
4997
|
+
columnAmount: "Betrag netto",
|
|
4998
|
+
source: {
|
|
4999
|
+
plan: "Plan",
|
|
5000
|
+
bundle: "Zusatzpaket",
|
|
5001
|
+
discount: "Rabatt"
|
|
5002
|
+
},
|
|
5003
|
+
origin: {
|
|
5004
|
+
activation: "Aktivierung",
|
|
5005
|
+
renewal: "Verl\xE4ngerung",
|
|
5006
|
+
planChange: "Planwechsel",
|
|
5007
|
+
bundleBooking: "Zusatzbuchung",
|
|
5008
|
+
credit: "Gutschrift",
|
|
5009
|
+
correction: "Korrektur"
|
|
5010
|
+
}
|
|
5011
|
+
},
|
|
4977
5012
|
draft: {
|
|
4978
5013
|
planModules: "{count} Basis-Module"
|
|
4979
5014
|
}
|
|
@@ -5022,6 +5057,32 @@ var tenantsMessages = defineMessages(
|
|
|
5022
5057
|
title: "Subscriptions",
|
|
5023
5058
|
columnEndsAt: "Ends"
|
|
5024
5059
|
},
|
|
5060
|
+
charges: {
|
|
5061
|
+
title: "Charges",
|
|
5062
|
+
holder: "Account of {customerNumber} \xB7 {legalName}",
|
|
5063
|
+
noHolder: "No customer is on record for this tenant.",
|
|
5064
|
+
empty: "No charges yet.",
|
|
5065
|
+
loadFailed: "The charges could not be loaded.",
|
|
5066
|
+
columnDue: "Due",
|
|
5067
|
+
columnPeriod: "Period",
|
|
5068
|
+
columnItem: "Item",
|
|
5069
|
+
columnKind: "Kind",
|
|
5070
|
+
columnOrigin: "Reason",
|
|
5071
|
+
columnAmount: "Net amount",
|
|
5072
|
+
source: {
|
|
5073
|
+
plan: "Plan",
|
|
5074
|
+
bundle: "Add-on",
|
|
5075
|
+
discount: "Discount"
|
|
5076
|
+
},
|
|
5077
|
+
origin: {
|
|
5078
|
+
activation: "Activation",
|
|
5079
|
+
renewal: "Renewal",
|
|
5080
|
+
planChange: "Plan change",
|
|
5081
|
+
bundleBooking: "Add-on booking",
|
|
5082
|
+
credit: "Credit",
|
|
5083
|
+
correction: "Correction"
|
|
5084
|
+
}
|
|
5085
|
+
},
|
|
5025
5086
|
draft: {
|
|
5026
5087
|
planModules: "{count} base modules"
|
|
5027
5088
|
}
|
package/dist/client/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { H as HttpClient, T as ResourceDef, S as ResourceContext, y as PilotRow, u as PilotCreatePayload, v as PilotCreateResult, w as PilotEditPayload, x as PilotEditResult, f as EmailHistoryFilter, g as EmailHistoryListResult, E as EmailHistoryDetail, h as EmailHistoryResendResult, z as PlatformEmailProvider, G as PlatformEmailWriteInput, C as PlatformEmailTestInput, F as PlatformEmailTestResult, a2 as SaLocale } from '../catalog-
|
|
2
|
-
export { A as ActionDefNotInManifestError, a as ActionHandler, b as ActionRegistry, c as AppliedSettingsView, d as AuditListFilter, B as Bound, D as DEFAULT_SA_LOCALE, e as DiscoveryRead, i as EmailHistoryRow, k as HttpResponse, K as KpiReading, l as KvStore, L as LIST_FIRST_PAGE, m as LIST_PAGE_SIZE_DEFAULT, n as LIST_PAGE_SIZE_MAX, o as LIST_PAGINATION_PARAMS, p as ListFilterOf, q as ListOp, r as ListQuery, M as MarketingProjectionsFilter, s as MessageTree, t as MissingHandlerError, P as PartialMessages, I as PlatformResources, J as PromoCodesFilter, N as PromoDetail, O as PublishBundleVersionOptions, Q as PublishPlanVersionOptions, R as ResolvedAction, U as ResourceListPage, V as ResourceOp, W as ResourceOps, X as SA_INTL_LOCALES, Y as SA_LOCALES, Z as SA_LOCALE_LABELS, _ as SA_MESSAGES, $ as SaBuiltinLocale, a0 as SaCatalog, a1 as SaCatalogOptions, a3 as SaLocaleDefinition, a4 as SaLocaleOption, a5 as SaMessages, a6 as SaMessagesOverrides, a7 as SettingsChangeView, a8 as SettingsDifferenceView, a9 as TenantsListFilter, aa as TranslationOf, ab as auditResource, ac as bindResource, ad as bundleVersionsResource, ae as bundlesResource, af as clampListPage, ag as clampListPageSize, ah as createSaCatalog, ai as dashboardResource, aj as defaultHttpClient, ak as defaultKvStore, al as defineListOp, am as defineMessages, an as defineResource, ao as discoveryResource, ap as filterQueryString, aq as isSaBuiltinLocale, ar as isSentInQuery, as as listUrl, at as marketingResource, au as mergeMessages, av as planVersionsResource, aw as plansResource, ax as platformResources, ay as promoCodesResource, az as readListPage, aA as resolveMessages, aB as settingsResource, aC as tenantsResource } from '../catalog-
|
|
3
|
-
import { A as AdminError } from '../batch-column-fetcher-
|
|
4
|
-
export { a as AdminErrorInit, B as BatchColumnData, b as BatchColumnDriftError, c as BatchColumnFetcher, d as BatchColumnFetcherOptions, e as BatchColumnRow, f as BatchColumnValue, g as BootLoadError, h as BootLoader, i as BootLoaderOptions, j as BuildRouteEntry, C as CachedManifestEntry, D as DEFAULT_STANDARD_PAGE_ROUTES, M as ManifestLoadError, k as ManifestLoader, l as ManifestLoaderOptions, N as NavBuilderOptions, P as ParamStyle, S as SidebarItem, m as SidebarSection, n as adminErrorMessage, o as buildRoutes, p as buildSidebar, q as defaultSectionOrder, r as httpStatusOf, s as isAdminError, t as isAxiosNoResponseError, u as isEmptyResponse, v as isPlatformError, w as isTransportFailure, x as markEmptyResponse, y as markPlatformError, z as markTransportFailure, E as readErrorCode, F as readErrorDetail, G as resolveExtension, H as toAdminError } from '../batch-column-fetcher-
|
|
1
|
+
import { H as HttpClient, T as ResourceDef, S as ResourceContext, y as PilotRow, u as PilotCreatePayload, v as PilotCreateResult, w as PilotEditPayload, x as PilotEditResult, f as EmailHistoryFilter, g as EmailHistoryListResult, E as EmailHistoryDetail, h as EmailHistoryResendResult, z as PlatformEmailProvider, G as PlatformEmailWriteInput, C as PlatformEmailTestInput, F as PlatformEmailTestResult, a2 as SaLocale } from '../catalog-BuO6O37o.cjs';
|
|
2
|
+
export { A as ActionDefNotInManifestError, a as ActionHandler, b as ActionRegistry, c as AppliedSettingsView, d as AuditListFilter, B as Bound, D as DEFAULT_SA_LOCALE, e as DiscoveryRead, i as EmailHistoryRow, k as HttpResponse, K as KpiReading, l as KvStore, L as LIST_FIRST_PAGE, m as LIST_PAGE_SIZE_DEFAULT, n as LIST_PAGE_SIZE_MAX, o as LIST_PAGINATION_PARAMS, p as ListFilterOf, q as ListOp, r as ListQuery, M as MarketingProjectionsFilter, s as MessageTree, t as MissingHandlerError, P as PartialMessages, I as PlatformResources, J as PromoCodesFilter, N as PromoDetail, O as PublishBundleVersionOptions, Q as PublishPlanVersionOptions, R as ResolvedAction, U as ResourceListPage, V as ResourceOp, W as ResourceOps, X as SA_INTL_LOCALES, Y as SA_LOCALES, Z as SA_LOCALE_LABELS, _ as SA_MESSAGES, $ as SaBuiltinLocale, a0 as SaCatalog, a1 as SaCatalogOptions, a3 as SaLocaleDefinition, a4 as SaLocaleOption, a5 as SaMessages, a6 as SaMessagesOverrides, a7 as SettingsChangeView, a8 as SettingsDifferenceView, a9 as TenantsListFilter, aa as TranslationOf, ab as auditResource, ac as bindResource, ad as bundleVersionsResource, ae as bundlesResource, af as clampListPage, ag as clampListPageSize, ah as createSaCatalog, ai as dashboardResource, aj as defaultHttpClient, ak as defaultKvStore, al as defineListOp, am as defineMessages, an as defineResource, ao as discoveryResource, ap as filterQueryString, aq as isSaBuiltinLocale, ar as isSentInQuery, as as listUrl, at as marketingResource, au as mergeMessages, av as planVersionsResource, aw as plansResource, ax as platformResources, ay as promoCodesResource, az as readListPage, aA as resolveMessages, aB as settingsResource, aC as tenantsResource } from '../catalog-BuO6O37o.cjs';
|
|
3
|
+
import { A as AdminError } from '../batch-column-fetcher-AxKa7wcD.cjs';
|
|
4
|
+
export { a as AdminErrorInit, B as BatchColumnData, b as BatchColumnDriftError, c as BatchColumnFetcher, d as BatchColumnFetcherOptions, e as BatchColumnRow, f as BatchColumnValue, g as BootLoadError, h as BootLoader, i as BootLoaderOptions, j as BuildRouteEntry, C as CachedManifestEntry, D as DEFAULT_STANDARD_PAGE_ROUTES, M as ManifestLoadError, k as ManifestLoader, l as ManifestLoaderOptions, N as NavBuilderOptions, P as ParamStyle, S as SidebarItem, m as SidebarSection, n as adminErrorMessage, o as buildRoutes, p as buildSidebar, q as defaultSectionOrder, r as httpStatusOf, s as isAdminError, t as isAxiosNoResponseError, u as isEmptyResponse, v as isPlatformError, w as isTransportFailure, x as markEmptyResponse, y as markPlatformError, z as markTransportFailure, E as readErrorCode, F as readErrorDetail, G as resolveExtension, H as toAdminError } from '../batch-column-fetcher-AxKa7wcD.cjs';
|
|
5
5
|
import { CapabilityCatalogEntryRow, FeatureCatalogEntryRow, QuotaCatalogEntryRow, ReviewCatalogEntryData, CatalogEntryI18n, UpdateCatalogEntryBaseData, DiscoverySnapshot, SyncDiscoveryResult, PromotionRow, CreatePromotionData, UpdatePromotionData, AdminUserListFilter, AdminUserListRow, AdminSubscriptionListRow, PromoCodeRecord, AdminTenantDetail, AdminAuditListFilter, AuditEntry } from '@saasicat/core';
|
|
6
6
|
|
|
7
7
|
/**
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { H as HttpClient, T as ResourceDef, S as ResourceContext, y as PilotRow, u as PilotCreatePayload, v as PilotCreateResult, w as PilotEditPayload, x as PilotEditResult, f as EmailHistoryFilter, g as EmailHistoryListResult, E as EmailHistoryDetail, h as EmailHistoryResendResult, z as PlatformEmailProvider, G as PlatformEmailWriteInput, C as PlatformEmailTestInput, F as PlatformEmailTestResult, a2 as SaLocale } from '../catalog-
|
|
2
|
-
export { A as ActionDefNotInManifestError, a as ActionHandler, b as ActionRegistry, c as AppliedSettingsView, d as AuditListFilter, B as Bound, D as DEFAULT_SA_LOCALE, e as DiscoveryRead, i as EmailHistoryRow, k as HttpResponse, K as KpiReading, l as KvStore, L as LIST_FIRST_PAGE, m as LIST_PAGE_SIZE_DEFAULT, n as LIST_PAGE_SIZE_MAX, o as LIST_PAGINATION_PARAMS, p as ListFilterOf, q as ListOp, r as ListQuery, M as MarketingProjectionsFilter, s as MessageTree, t as MissingHandlerError, P as PartialMessages, I as PlatformResources, J as PromoCodesFilter, N as PromoDetail, O as PublishBundleVersionOptions, Q as PublishPlanVersionOptions, R as ResolvedAction, U as ResourceListPage, V as ResourceOp, W as ResourceOps, X as SA_INTL_LOCALES, Y as SA_LOCALES, Z as SA_LOCALE_LABELS, _ as SA_MESSAGES, $ as SaBuiltinLocale, a0 as SaCatalog, a1 as SaCatalogOptions, a3 as SaLocaleDefinition, a4 as SaLocaleOption, a5 as SaMessages, a6 as SaMessagesOverrides, a7 as SettingsChangeView, a8 as SettingsDifferenceView, a9 as TenantsListFilter, aa as TranslationOf, ab as auditResource, ac as bindResource, ad as bundleVersionsResource, ae as bundlesResource, af as clampListPage, ag as clampListPageSize, ah as createSaCatalog, ai as dashboardResource, aj as defaultHttpClient, ak as defaultKvStore, al as defineListOp, am as defineMessages, an as defineResource, ao as discoveryResource, ap as filterQueryString, aq as isSaBuiltinLocale, ar as isSentInQuery, as as listUrl, at as marketingResource, au as mergeMessages, av as planVersionsResource, aw as plansResource, ax as platformResources, ay as promoCodesResource, az as readListPage, aA as resolveMessages, aB as settingsResource, aC as tenantsResource } from '../catalog-
|
|
3
|
-
import { A as AdminError } from '../batch-column-fetcher-
|
|
4
|
-
export { a as AdminErrorInit, B as BatchColumnData, b as BatchColumnDriftError, c as BatchColumnFetcher, d as BatchColumnFetcherOptions, e as BatchColumnRow, f as BatchColumnValue, g as BootLoadError, h as BootLoader, i as BootLoaderOptions, j as BuildRouteEntry, C as CachedManifestEntry, D as DEFAULT_STANDARD_PAGE_ROUTES, M as ManifestLoadError, k as ManifestLoader, l as ManifestLoaderOptions, N as NavBuilderOptions, P as ParamStyle, S as SidebarItem, m as SidebarSection, n as adminErrorMessage, o as buildRoutes, p as buildSidebar, q as defaultSectionOrder, r as httpStatusOf, s as isAdminError, t as isAxiosNoResponseError, u as isEmptyResponse, v as isPlatformError, w as isTransportFailure, x as markEmptyResponse, y as markPlatformError, z as markTransportFailure, E as readErrorCode, F as readErrorDetail, G as resolveExtension, H as toAdminError } from '../batch-column-fetcher-
|
|
1
|
+
import { H as HttpClient, T as ResourceDef, S as ResourceContext, y as PilotRow, u as PilotCreatePayload, v as PilotCreateResult, w as PilotEditPayload, x as PilotEditResult, f as EmailHistoryFilter, g as EmailHistoryListResult, E as EmailHistoryDetail, h as EmailHistoryResendResult, z as PlatformEmailProvider, G as PlatformEmailWriteInput, C as PlatformEmailTestInput, F as PlatformEmailTestResult, a2 as SaLocale } from '../catalog-BuO6O37o.js';
|
|
2
|
+
export { A as ActionDefNotInManifestError, a as ActionHandler, b as ActionRegistry, c as AppliedSettingsView, d as AuditListFilter, B as Bound, D as DEFAULT_SA_LOCALE, e as DiscoveryRead, i as EmailHistoryRow, k as HttpResponse, K as KpiReading, l as KvStore, L as LIST_FIRST_PAGE, m as LIST_PAGE_SIZE_DEFAULT, n as LIST_PAGE_SIZE_MAX, o as LIST_PAGINATION_PARAMS, p as ListFilterOf, q as ListOp, r as ListQuery, M as MarketingProjectionsFilter, s as MessageTree, t as MissingHandlerError, P as PartialMessages, I as PlatformResources, J as PromoCodesFilter, N as PromoDetail, O as PublishBundleVersionOptions, Q as PublishPlanVersionOptions, R as ResolvedAction, U as ResourceListPage, V as ResourceOp, W as ResourceOps, X as SA_INTL_LOCALES, Y as SA_LOCALES, Z as SA_LOCALE_LABELS, _ as SA_MESSAGES, $ as SaBuiltinLocale, a0 as SaCatalog, a1 as SaCatalogOptions, a3 as SaLocaleDefinition, a4 as SaLocaleOption, a5 as SaMessages, a6 as SaMessagesOverrides, a7 as SettingsChangeView, a8 as SettingsDifferenceView, a9 as TenantsListFilter, aa as TranslationOf, ab as auditResource, ac as bindResource, ad as bundleVersionsResource, ae as bundlesResource, af as clampListPage, ag as clampListPageSize, ah as createSaCatalog, ai as dashboardResource, aj as defaultHttpClient, ak as defaultKvStore, al as defineListOp, am as defineMessages, an as defineResource, ao as discoveryResource, ap as filterQueryString, aq as isSaBuiltinLocale, ar as isSentInQuery, as as listUrl, at as marketingResource, au as mergeMessages, av as planVersionsResource, aw as plansResource, ax as platformResources, ay as promoCodesResource, az as readListPage, aA as resolveMessages, aB as settingsResource, aC as tenantsResource } from '../catalog-BuO6O37o.js';
|
|
3
|
+
import { A as AdminError } from '../batch-column-fetcher-BrQLbwVk.js';
|
|
4
|
+
export { a as AdminErrorInit, B as BatchColumnData, b as BatchColumnDriftError, c as BatchColumnFetcher, d as BatchColumnFetcherOptions, e as BatchColumnRow, f as BatchColumnValue, g as BootLoadError, h as BootLoader, i as BootLoaderOptions, j as BuildRouteEntry, C as CachedManifestEntry, D as DEFAULT_STANDARD_PAGE_ROUTES, M as ManifestLoadError, k as ManifestLoader, l as ManifestLoaderOptions, N as NavBuilderOptions, P as ParamStyle, S as SidebarItem, m as SidebarSection, n as adminErrorMessage, o as buildRoutes, p as buildSidebar, q as defaultSectionOrder, r as httpStatusOf, s as isAdminError, t as isAxiosNoResponseError, u as isEmptyResponse, v as isPlatformError, w as isTransportFailure, x as markEmptyResponse, y as markPlatformError, z as markTransportFailure, E as readErrorCode, F as readErrorDetail, G as resolveExtension, H as toAdminError } from '../batch-column-fetcher-BrQLbwVk.js';
|
|
5
5
|
import { CapabilityCatalogEntryRow, FeatureCatalogEntryRow, QuotaCatalogEntryRow, ReviewCatalogEntryData, CatalogEntryI18n, UpdateCatalogEntryBaseData, DiscoverySnapshot, SyncDiscoveryResult, PromotionRow, CreatePromotionData, UpdatePromotionData, AdminUserListFilter, AdminUserListRow, AdminSubscriptionListRow, PromoCodeRecord, AdminTenantDetail, AdminAuditListFilter, AuditEntry } from '@saasicat/core';
|
|
6
6
|
|
|
7
7
|
/**
|
package/dist/client/index.js
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
showSettingValue,
|
|
24
24
|
todayIsoDate,
|
|
25
25
|
trimChar
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-X27PN2LA.js";
|
|
27
27
|
import {
|
|
28
28
|
ActionDefNotInManifestError,
|
|
29
29
|
ActionRegistry,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
buildSidebar,
|
|
36
36
|
defaultSectionOrder,
|
|
37
37
|
resolveExtension
|
|
38
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-ZY526U2H.js";
|
|
39
39
|
import {
|
|
40
40
|
applyBrandColour
|
|
41
41
|
} from "../chunk-U7LNAX6T.js";
|
|
@@ -116,7 +116,7 @@ import {
|
|
|
116
116
|
toAdminError,
|
|
117
117
|
trimTrailingSlashes,
|
|
118
118
|
usersResource
|
|
119
|
-
} from "../chunk-
|
|
119
|
+
} from "../chunk-2ISFGJ3V.js";
|
|
120
120
|
export {
|
|
121
121
|
ADMIN_UI_VERSION,
|
|
122
122
|
ActionDefNotInManifestError,
|